From c03fa43027be0a29fc60f331dc9f076dc19ce848 Mon Sep 17 00:00:00 2001 From: Al Stone Date: Feb 18 2013 21:43:26 +0000 Subject: Imported Upstream version 20130214 --- diff --git a/tests/.cygwin b/tests/.cygwin new file mode 100755 index 0000000..6ebb992 --- /dev/null +++ b/tests/.cygwin @@ -0,0 +1,5 @@ +export ASL="c:/acpica/libraries/iasl.exe" +export acpiexec="c:/acpica/libraries/acpiexec.exe" +export ASLTSDIR="c:/acpica/tests/aslts" +PATH=$PATH:/cygdrive/c/acpica/tests/aslts/bin +PATH=$PATH:/cygdrive/c/acpica/libraries diff --git a/tests/.setup b/tests/.setup new file mode 100755 index 0000000..26cbc43 --- /dev/null +++ b/tests/.setup @@ -0,0 +1,4 @@ +export ASL="/usr/bin/iasl" +export acpiexec="/usr/bin/acpiexec" +export ASLTSDIR="$HOME/acpica/tests/aslts" +PATH=$PATH:$HOME/acpica/tests/aslts/bin diff --git a/tests/aapits/AcpiApiTS.dsp b/tests/aapits/AcpiApiTS.dsp new file mode 100644 index 0000000..a47363d --- /dev/null +++ b/tests/aapits/AcpiApiTS.dsp @@ -0,0 +1,1051 @@ +# Microsoft Developer Studio Project File - Name="AcpiApiTS" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=AcpiApiTS - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "AcpiApiTS.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "AcpiApiTS.mak" CFG="AcpiApiTS - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "AcpiApiTS - Win32 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "AcpiApiTS - Win32 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName ""$/Acpi/Generate/msvc", SVBAAAAA" +# PROP Scc_LocalPath "." +CPP=xicl6.exe +RSC=rc.exe + +!IF "$(CFG)" == "AcpiApiTS - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "cpiApiTS\NoDebug" +# PROP Intermediate_Dir "AcpiApiTS\NoDebug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /Gz /MT /W4 /GX /O1 /Ob0 /I "..\..\source\include" /D "NDEBUG" /D "WIN32" /D "WIN32_LEAN_AND_MEAN" /D "_CONSOLE" /D "_MBCS" /D "ACPI_EXEC_APP" /D "ACPI_LIBRARY" /D "_MULTI_THREADED" /D "ACPI_APITS" /FR /FD /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo /o"AcpiApiTS\NoDebug/AcpiApiTS.bsc" +LINK32=xilink6.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /map /machine:I386 /out:"bin/AcpiApiTS.exe" +# Begin Special Build Tool +SOURCE="$(InputPath)" +PreLink_Desc=Checking existence of acpi/libraries directory +PreLink_Cmds=if NOT EXIST ..\..\libraries mkdir ..\..\libraries +PostBuild_Desc=Copy executable to acpi/libraries +PostBuild_Cmds=copy bin\acpiapits.exe ..\..\libraries\acpiapits.exe dir ..\..\libraries\acpiapits.exe +# End Special Build Tool + +!ELSEIF "$(CFG)" == "AcpiApiTS - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "AcpiApiTS\Debug" +# PROP Intermediate_Dir "AcpiApiTS\Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /Gz /MT /W4 /Gm /ZI /Oa /Os /Oy /I "..\..\source\include" /D "WIN32" /D "WIN32_LEAN_AND_MEAN" /D "_CONSOLE" /D "_MBCS" /D "ACPI_EXEC_APP" /D "ACPI_LIBRARY" /D "_MULTI_THREADED" /D "ACPI_APITS" /FR /FD /D /GZ /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo /o"AcpiApiTS\Debug\AcpiApiTSDebug.bsc" +LINK32=xilink6.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 libcmtd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /map /debug /machine:I386 /nodefaultlib:"libcmt.lib" /out:"bin/AcpiApiTSDebug.exe" /pdbtype:sept +# SUBTRACT LINK32 /verbose +# Begin Special Build Tool +SOURCE="$(InputPath)" +PreLink_Desc=Checking existence of acpi/libraries directory +PreLink_Cmds=if NOT EXIST ..\..\libraries mkdir ..\..\libraries +PostBuild_Desc=Copy executable to acpi/libraries +PostBuild_Cmds=copy bin\acpiapitsdebug.exe ..\..\libraries\acpiapitsdebug.exe dir ..\..\libraries\acpiapitsdebug.exe +# End Special Build Tool + +!ENDIF + +# Begin Target + +# Name "AcpiApiTS - Win32 Release" +# Name "AcpiApiTS - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Group "Utilities" + +# PROP Default_Filter ".c" +# Begin Source File + +SOURCE=..\..\source\components\utilities\utalloc.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\utilities\utcache.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\utilities\utclib.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\utilities\utcopy.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\utilities\utdebug.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\utilities\utdelete.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\utilities\uteval.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\utilities\utglobal.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\utilities\utinit.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\utilities\utmath.c +# ADD CPP /Ze +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\utilities\utmisc.c + +!IF "$(CFG)" == "AcpiApiTS - Win32 Release" + +!ELSEIF "$(CFG)" == "AcpiApiTS - Win32 Debug" + +# ADD CPP /Za /FAcs + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\utilities\utmutex.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\utilities\utobject.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\utilities\utresrc.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\utilities\utstate.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\utilities\uttrack.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\utilities\utxface.c +# End Source File +# End Group +# Begin Group "Interpreter" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=..\..\source\components\interpreter\executer\exconfig.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\executer\exconvrt.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\executer\excreate.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\executer\exdump.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\executer\exfield.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\executer\exfldio.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\executer\exmisc.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\executer\exmutex.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\executer\exnames.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\executer\exoparg1.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\executer\exoparg2.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\executer\exoparg3.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\executer\exoparg6.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\executer\exprep.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\executer\exregion.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\executer\exresnte.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\executer\exresolv.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\executer\exresop.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\executer\exstore.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\executer\exstoren.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\executer\exstorob.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\executer\exsystem.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\executer\exutils.c +# End Source File +# End Group +# Begin Group "Namespace" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=..\..\source\components\namespace\nsaccess.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\namespace\nsalloc.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\namespace\nsdump.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\COMPONENTS\NAMESPACE\nsdumpdv.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\namespace\nseval.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\namespace\nsinit.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\namespace\nsload.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\namespace\nsnames.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\namespace\nsobject.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\COMPONENTS\NAMESPACE\nsparse.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\namespace\nssearch.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\namespace\nsutils.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\namespace\nswalk.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\COMPONENTS\NAMESPACE\nsxfeval.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\namespace\nsxfname.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\namespace\nsxfobj.c +# End Source File +# End Group +# Begin Group "Parser" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=..\..\source\components\interpreter\parser\psargs.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\parser\psloop.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\parser\psopcode.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\parser\psparse.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\parser\psscope.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\parser\pstree.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\parser\psutils.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\parser\pswalk.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\parser\psxface.c +# End Source File +# End Group +# Begin Group "Hardware" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=..\..\source\components\hardware\hwacpi.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\hardware\hwgpe.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\hardware\hwregs.c +# End Source File +# Begin Source File + +SOURCE=..\..\Source\components\hardware\hwsleep.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\hardware\hwtimer.c +# End Source File +# End Group +# Begin Group "Events" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=..\..\source\components\events\evevent.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\COMPONENTS\EVENTS\evgpe.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\COMPONENTS\EVENTS\evgpeblk.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\events\evmisc.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\events\evregion.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\events\evrgnini.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\events\evsci.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\events\evxface.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\events\evxfevnt.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\events\evxfregn.c +# End Source File +# End Group +# Begin Group "Debugger" + +# PROP Default_Filter ".c" +# Begin Source File + +SOURCE=..\..\source\COMPONENTS\DEBUGGER\dbcmds.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\COMPONENTS\DEBUGGER\dbdisply.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\COMPONENTS\DEBUGGER\dbexec.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\COMPONENTS\DEBUGGER\dbfileio.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\COMPONENTS\DEBUGGER\dbhistry.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\COMPONENTS\DEBUGGER\dbinput.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\COMPONENTS\DEBUGGER\dbstats.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\COMPONENTS\DEBUGGER\dbutils.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\COMPONENTS\DEBUGGER\dbxface.c +# End Source File +# End Group +# Begin Group "Dispatcher" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=..\..\source\components\interpreter\dispatcher\dsfield.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\COMPONENTS\INTERPRETER\DISPATCHER\dsinit.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\dispatcher\dsmethod.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\dispatcher\dsmthdat.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\dispatcher\dsobject.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\dispatcher\dsopcode.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\dispatcher\dsutils.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\dispatcher\dswexec.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\dispatcher\dswload.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\dispatcher\dswscope.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\interpreter\dispatcher\dswstate.c +# End Source File +# End Group +# Begin Group "Tables" + +# PROP Default_Filter ".c" +# Begin Source File + +SOURCE=..\..\source\components\tables\tbfadt.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\tables\tbfind.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\tables\tbinstal.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\tables\tbutils.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\tables\tbxface.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\tables\tbxfroot.c +# End Source File +# End Group +# Begin Group "Common" + +# PROP Default_Filter ".c" +# Begin Source File + +SOURCE=..\..\source\common\getopt.c +# End Source File +# End Group +# Begin Group "Resources" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=..\..\source\components\resources\rsaddr.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\resources\rscalc.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\resources\rscreate.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\resources\rsdump.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\resources\rsinfo.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\resources\rsio.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\resources\rsirq.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\resources\rslist.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\resources\rsmemory.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\resources\rsmisc.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\resources\rsutils.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\components\resources\rsxface.c +# End Source File +# End Group +# Begin Group "Disassembler" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=..\..\source\COMPONENTS\Disassembler\dmbuffer.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\COMPONENTS\Disassembler\dmnames.c +# End Source File +# Begin Source File + +SOURCE=..\..\SOURCE\COMPONENTS\disassembler\dmobject.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\COMPONENTS\Disassembler\dmopcode.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\COMPONENTS\Disassembler\dmresrc.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\COMPONENTS\Disassembler\dmresrcl.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\COMPONENTS\Disassembler\dmresrcs.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\common\dmtbinfo.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\COMPONENTS\Disassembler\dmutils.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\COMPONENTS\Disassembler\dmwalk.c +# End Source File +# End Group +# Begin Group "AApiTS" + +# PROP Default_Filter "" +# Begin Group "Spec" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=..\..\source\tools\aapits\spec\concepts.txt +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\spec\fixed.txt +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\spec\general.txt +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\spec\handlers.txt +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\spec\hardware.txt +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\spec\init.txt +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\spec\memory.txt +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\spec\namespace.txt +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\spec\README +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\spec\resource.txt +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\spec\table.txt +# End Source File +# End Group +# Begin Group "bin" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=..\..\source\tools\aapits\bin\aapitsrun +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\bin\README +# End Source File +# End Group +# Begin Group "asl" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\dsdt.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\dsdt0.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\dsdt1.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\dsdt2.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\gpev0000.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\hdwr0015.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\hdwr0018.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\hdwr0019.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\hdwr0020.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\hdwr0022.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\hdwr0040.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\hdwr0041.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\hndl0000.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\hndl0015.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\hndl0016.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\hndl0038.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\hndl0115.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\init0030.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\init0032.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\init0034.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\init0058.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\init0059.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\init0066.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\init0121.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\init1065.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\Makefile +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\nmsp0000.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\nmsp0010.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\nmsp0011.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\nmsp0012.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\nmsp0013.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\nmsp0014.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\nmsp0015.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\nmsp0016.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\nmsp0017.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\nmsp0018.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\nmsp0019.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\nmsp0020.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\nmsp0021.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\nmsp0022.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\nmsp0023.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\nmsp0025.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\nmsp0037.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\nmsp0038.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\nmsp0052.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\nmsp0074.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\nmsp0089.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\nmsp0126.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\README +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\rt0000.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\rt0035.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\rt0036.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\ssdt1.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\ssdt2.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\ssdt_aux.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\tblm0037.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\tblm0047.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\tblm0058.asl +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\asl\tblm_aux.asl +# End Source File +# End Group +# Begin Source File + +SOURCE=..\..\source\tools\aapits\atexec.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\atfixedevent.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\atgpe.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\athandlers.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\athardware.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\atinit.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\atmain.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\atmemory.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\atnamespace.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\atosxfctrl.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\atosxfwrap.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\atresource.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\attable.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\oswinxf.c +# End Source File +# Begin Source File + +SOURCE=..\..\source\tools\aapits\README +# End Source File +# End Group +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/tests/aapits/Makefile b/tests/aapits/Makefile new file mode 100644 index 0000000..b774c9c --- /dev/null +++ b/tests/aapits/Makefile @@ -0,0 +1,165 @@ +# PROG= acpiexec +# SRCS= aeexec.c aemain.c \ + +PROG= bin/aapits +SRCS= atexec.c atmain.c \ + atinit.c \ + atmemory.c \ + athardware.c \ + attable.c \ + atnamespace.c \ + atresource.c \ + atfixedevent.c \ + atgpe.c \ + athandlers.c \ + atosxfctrl.c \ + atosxfwrap.c \ + osunixxf.c \ + ../../source/components/hardware/hwtimer.c \ + ../../source/components/hardware/hwvalid.c \ + ../../source/components/hardware/hwxface.c \ + ../../source/common/getopt.c \ + ../../source/components/debugger/dbcmds.c \ + ../../source/components/debugger/dbdisply.c \ + ../../source/components/debugger/dbexec.c \ + ../../source/components/debugger/dbfileio.c \ + ../../source/components/debugger/dbhistry.c \ + ../../source/components/debugger/dbinput.c \ + ../../source/components/debugger/dbstats.c \ + ../../source/components/debugger/dbutils.c \ + ../../source/components/debugger/dbxface.c \ + ../../source/components/disassembler/dmbuffer.c \ + ../../source/components/disassembler/dmnames.c \ + ../../source/components/disassembler/dmobject.c \ + ../../source/components/disassembler/dmopcode.c \ + ../../source/components/disassembler/dmresrc.c \ + ../../source/components/disassembler/dmresrcl.c \ + ../../source/components/disassembler/dmresrcs.c \ + ../../source/components/disassembler/dmutils.c \ + ../../source/components/disassembler/dmwalk.c \ + ../../source/components/events/evevent.c \ + ../../source/components/events/evgpeblk.c \ + ../../source/components/events/evgpe.c \ + ../../source/components/events/evmisc.c \ + ../../source/components/events/evregion.c \ + ../../source/components/events/evrgnini.c \ + ../../source/components/events/evsci.c \ + ../../source/components/events/evxface.c \ + ../../source/components/events/evxfevnt.c \ + ../../source/components/events/evxfregn.c \ + ../../source/components/hardware/hwacpi.c \ + ../../source/components/hardware/hwgpe.c \ + ../../source/components/hardware/hwregs.c \ + ../../source/components/hardware/hwsleep.c \ + ../../source/components/dispatcher/dsfield.c \ + ../../source/components/dispatcher/dsinit.c \ + ../../source/components/dispatcher/dsmethod.c \ + ../../source/components/dispatcher/dsmthdat.c \ + ../../source/components/dispatcher/dsobject.c \ + ../../source/components/dispatcher/dsopcode.c \ + ../../source/components/dispatcher/dsutils.c \ + ../../source/components/dispatcher/dswexec.c \ + ../../source/components/dispatcher/dswload.c \ + ../../source/components/dispatcher/dswscope.c \ + ../../source/components/dispatcher/dswstate.c \ + ../../source/components/executer/exconfig.c \ + ../../source/components/executer/exconvrt.c \ + ../../source/components/executer/excreate.c \ + ../../source/components/executer/exdump.c \ + ../../source/components/executer/exfield.c \ + ../../source/components/executer/exfldio.c \ + ../../source/components/executer/exmisc.c \ + ../../source/components/executer/exmutex.c \ + ../../source/components/executer/exnames.c \ + ../../source/components/executer/exoparg1.c \ + ../../source/components/executer/exoparg2.c \ + ../../source/components/executer/exoparg3.c \ + ../../source/components/executer/exoparg6.c \ + ../../source/components/executer/exprep.c \ + ../../source/components/executer/exregion.c \ + ../../source/components/executer/exresnte.c \ + ../../source/components/executer/exresolv.c \ + ../../source/components/executer/exresop.c \ + ../../source/components/executer/exstore.c \ + ../../source/components/executer/exstoren.c \ + ../../source/components/executer/exstorob.c \ + ../../source/components/executer/exsystem.c \ + ../../source/components/executer/exutils.c \ + ../../source/components/parser/psargs.c \ + ../../source/components/parser/psloop.c \ + ../../source/components/parser/psopcode.c \ + ../../source/components/parser/psparse.c \ + ../../source/components/parser/psscope.c \ + ../../source/components/parser/pstree.c \ + ../../source/components/parser/psutils.c \ + ../../source/components/parser/pswalk.c \ + ../../source/components/parser/psxface.c \ + ../../source/components/namespace/nsaccess.c \ + ../../source/components/namespace/nsalloc.c \ + ../../source/components/namespace/nsdump.c \ + ../../source/components/namespace/nsdumpdv.c \ + ../../source/components/namespace/nseval.c \ + ../../source/components/namespace/nsinit.c \ + ../../source/components/namespace/nsload.c \ + ../../source/components/namespace/nsnames.c \ + ../../source/components/namespace/nsobject.c \ + ../../source/components/namespace/nsparse.c \ + ../../source/components/namespace/nspredef.c \ + ../../source/components/namespace/nsrepair.c \ + ../../source/components/namespace/nsrepair2.c \ + ../../source/components/namespace/nssearch.c \ + ../../source/components/namespace/nsutils.c \ + ../../source/components/namespace/nswalk.c \ + ../../source/components/namespace/nsxfeval.c \ + ../../source/components/namespace/nsxfname.c \ + ../../source/components/namespace/nsxfobj.c \ + ../../source/components/resources/rsaddr.c \ + ../../source/components/resources/rscalc.c \ + ../../source/components/resources/rscreate.c \ + ../../source/components/resources/rsdump.c \ + ../../source/components/resources/rsio.c \ + ../../source/components/resources/rsirq.c \ + ../../source/components/resources/rslist.c \ + ../../source/components/resources/rsmemory.c \ + ../../source/components/resources/rsmisc.c \ + ../../source/components/resources/rsutils.c \ + ../../source/components/resources/rsxface.c \ + ../../source/components/resources/rsinfo.c \ + ../../source/components/tables/tbfadt.c \ + ../../source/components/tables/tbfind.c \ + ../../source/components/tables/tbinstal.c \ + ../../source/components/tables/tbutils.c \ + ../../source/components/tables/tbxface.c \ + ../../source/components/tables/tbxfroot.c \ + ../../source/components/utilities/utalloc.c \ + ../../source/components/utilities/utcache.c \ + ../../source/components/utilities/utcopy.c \ + ../../source/components/utilities/utdebug.c \ + ../../source/components/utilities/utdelete.c \ + ../../source/components/utilities/uteval.c \ + ../../source/components/utilities/utglobal.c \ + ../../source/components/utilities/utids.c \ + ../../source/components/utilities/utinit.c \ + ../../source/components/utilities/utlock.c \ + ../../source/components/utilities/utmath.c \ + ../../source/components/utilities/utmisc.c \ + ../../source/components/utilities/utmutex.c \ + ../../source/components/utilities/utobject.c \ + ../../source/components/utilities/utresrc.c \ + ../../source/components/utilities/utstate.c \ + ../../source/components/utilities/uttrack.c \ + ../../source/components/utilities/utxface.c +# ../../source/components/osunixxf.c + + +CFLAGS+= -Wall -g -D_LINUX -DNDEBUG -D_CONSOLE -DACPI_EXEC_APP -D_MULTI_THREADED -Wstrict-prototypes -I../../source/include + + +acpiexec : $(patsubst %.c,%.o, $(SRCS)) + $(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) -o $(PROG) + +CLEANFILES= $(PROG) + +clean : + rm -f $(CLEANFILES) $(patsubst %.c,%.o, $(SRCS)) + diff --git a/tests/aapits/README b/tests/aapits/README new file mode 100644 index 0000000..08efd14 --- /dev/null +++ b/tests/aapits/README @@ -0,0 +1,104 @@ + +CONTENTS + + This directory (aapits) is located in tools directory + of the ACPICA source tree and contains sources of + ACPICA API validation Test Suite (AAPITS) + + AAPITS verifies, in emulating mode, conformity of the ACPICA API + implementation to the definitions in ACPI Component Architecture + Programmer Reference (ACPICA ProgRef). + + There are 9 test cases relevant to the following chapters + ACPICA ProgRef respectively: + + Test Case Chapter + + atinit 8.1 Subsystem Initialization, Shutdown, and Status + attable 8.2 ACPI Table Management + atnamespace 8.3 ACPI Namespace Access + athardware 8.4 ACPI Hardware Management + atfixedevent 8.6 ACPI Fixed Event Management + atgpe 8.7 ACPI General Purpose Event Management + athandlers 8.8 ACPI Miscellaneous Handler Support + atresource 8.9 ACPI Resource Management + atmemory 8.10 Memory Management + +spec + Directory which tests specification are located in. + +atinit.c +atinit.h +atmemory.c +atmemory.h +athardware.c +athardware.h +attable.c +attable.h +atnamespace.c +atnamespace.h +atresource.c +atresource.h +atfixedevent.c +atfixedevent.h +atgpe.c +atgpe.h +athandlers.c +athandlers.h + Each test case is represented by the pair of .c and .h files with + the same filename. + +atcommon.h +atexec.c +atosxfwrap.c +atosxfwrap.h +atosxfctrl.c +atosxfctrl.h +atmain.c + Auxiliary testing modules and TS main file. + +oswinxf.c +osunixxf.c + Relavant copies of the same files from the os_specific/service_layers + directory updated to be used in the AAPITS utlility with the sed command: + + sed -i s/^AcpiOs/AcpiOsActual/ os*xf.c + + Then add the following line: + + #include "acdebug.h" + + #include "atosxfwrap.h" + + +asl + Directory which supporting ASL codes are located in. + +bin + Directory which supporting shell utility are located in. + +AcpiApiTS.dsp + MSVC project to compile the TS utility under Windows. + + Usage: copy to the generate/msvc catalog and insert into + the AcpiComponents.dsw workspace. + +Makefile + Makefile based on AcpiExec utility one supporting + compilation of the TS utility under Linux. + + Usage: copy the aapits directory tree to the relevant acpica-unix-*/tools + directory and perform the make command to generate the aapits binary, + to run the paticular test type the following: + + ./aapits + + Here is from 1 (init) to 9 (handlers), + is the appropriate assertion number (see the files in spec dir), + is the directory with the auxiliary aml files (actually it is + ./tmp/aml directory which is created by make in the asl directory), for + example, to run assertion 0041 of Hardware Management test case type: + + ./aapits 3 41 ./tmp/aml + +README + This file \ No newline at end of file diff --git a/tests/aapits/asl/Makefile b/tests/aapits/asl/Makefile new file mode 100755 index 0000000..6a7c7ae --- /dev/null +++ b/tests/aapits/asl/Makefile @@ -0,0 +1,32 @@ + +ifndef ASL +ASL=../../../libraries/iasl +endif + +SRCS=dsdt.asl dsdt0.asl dsdt1.asl dsdt2.asl gpev0000.asl \ + hdwr0015.asl hdwr0018.asl hdwr0019.asl hdwr0020.asl \ + hdwr0022.asl hndl0000.asl hndl0015.asl hndl0016.asl \ + hndl0038.asl hndl0115.asl init0030.asl init0032.asl init0034.asl \ + init0058.asl init0066.asl init0121.asl init1065.asl \ + nmsp0000.asl nmsp0010.asl nmsp0011.asl nmsp0012.asl \ + nmsp0013.asl nmsp0014.asl nmsp0015.asl nmsp0016.asl \ + nmsp0017.asl nmsp0018.asl nmsp0019.asl nmsp0020.asl \ + nmsp0021.asl nmsp0022.asl nmsp0023.asl nmsp0025.asl \ + nmsp0037.asl nmsp0038.asl nmsp0074.asl nmsp0089.asl \ + nmsp0126.asl rt0000.asl rt0035.asl rt0036.asl ssdt1.asl \ + ssdt2.asl init0059.asl tblm0037.asl tblm0047.asl\ + tblm0058.asl hdwr0040.asl hdwr0041.asl + +ASLFLAGS= -f + +ALL : $(patsubst %.asl,%.aml,$(SRCS)) + @echo ASL compilation done! + +%.aml : + mkdir -p ../tmp/aml + $(ASL) $(ASLFLAGS) $(subst .aml,.asl,$(@));\ + mv $(@) ../tmp/aml + +clean : + rm -f $(patsubst %.asl,../tmp/aml/%.aml,$(SRCS)) + diff --git a/tests/aapits/asl/README b/tests/aapits/asl/README new file mode 100755 index 0000000..bc0c62e --- /dev/null +++ b/tests/aapits/asl/README @@ -0,0 +1,80 @@ + +CONTENTS + + This directory (asl) contains supporting ASL codes for the tests + of ACPICA API validation Test Suite (AAPITS). + + There is list of the groups of the codes relying to the respective + test case below. NONE stands for test cases without specific supporting + ASL codes. + + The resulting AML codes are located in the ../bin/aml directory. + + +init0032.asl +init0034.asl +init0058.asl +init0066.asl +init0121.asl +init1065.asl + atinit 6.1 Subsystem Initialization, Shutdown, and Status + +NONE + atmemory 6.2 Memory Management + +hdwr0015.asl +hdwr0018.asl +hdwr0019.asl +hdwr0020.asl +hdwr0022.asl + athardware 6.3 ACPI Hardware Management + +dsdt.asl +dsdt1.asl +dsdt2.asl +ssdt1.asl +ssdt2.asl + attable 6.4 ACPI Table Management + +nmsp0000.asl +nmsp0010.asl +nmsp0011.asl +nmsp0012.asl +nmsp0013.asl +nmsp0014.asl +nmsp0015.asl +nmsp0016.asl +nmsp0017.asl +nmsp0018.asl +nmsp0019.asl +nmsp0020.asl +nmsp0021.asl +nmsp0022.asl +nmsp0023.asl +nmsp0025.asl +nmsp0037.asl +nmsp0038.asl +nmsp0052.asl +nmsp0074.asl +nmsp0089.asl + atnamespace 6.5 ACPI Namespace Access + +rt0000.asl +rt0035.asl + atresource 6.6 ACPI Resource Management + +NONE + atfixedevent 6.7 ACPI Fixed Event Management + +gpev0000.asl + atgpe 6.8 ACPI General Purpose Event Management + +hndl0000.asl +hndl0015.asl +hndl0016.asl +hndl0115.asl + athandlers 6.9 ACPI Miscellaneous Handler Support + + +README + This file \ No newline at end of file diff --git a/tests/aapits/asl/dsdt.asl b/tests/aapits/asl/dsdt.asl new file mode 100755 index 0000000..9b02faa --- /dev/null +++ b/tests/aapits/asl/dsdt.asl @@ -0,0 +1,8050 @@ +/* + * Intel ACPI Component Architecture + * AML Disassembler version 20060217 + * + * Disassembly of dsdt.dat, Thu Mar 9 15:54:05 2006 + * + * Original Table Header: + * Signature "DSDT" + * Length 0x0000685F (26719) + * Revision 0x01 + * OEM ID "INTEL " + * OEM Table ID "CALISTGA" + * OEM Revision 0x06040000 (100925440) + * Creator ID "INTL" + * Creator Revision 0x20050624 (537200164) + */ +DefinitionBlock ("dsdt.aml", "DSDT", 1, "INTEL ", "CALISTGA", 0x06040000) +{ + External (\CFGD, IntObj) + External (\PDC0, IntObj) + External (\PDC1, IntObj) + + OperationRegion (PRT0, SystemIO, 0x80, 0x04) + Field (PRT0, DWordAcc, Lock, Preserve) + { + P80H, 32 + } + + OperationRegion (S_IO, SystemIO, 0x06B0, 0x11) + Field (S_IO, ByteAcc, NoLock, Preserve) + { + PMS0, 8, + PME0, 8, + PMS1, 8, + PMS2, 8, + PMS3, 8, + PME1, 8, + PME2, 8, + PME3, 8, + SMS1, 8, + SMS2, 8, + SME1, 8, + SME2, 8, + RT10, 1, + RT11, 1, + , 1, + RT13, 1, + Offset (0x0E), + RT30, 1, + RT31, 1, + RT32, 1, + RT33, 1, + RT34, 1, + RT35, 1, + RT36, 1, + RT37, 1, + Offset (0x10), + DLPC, 1, + CK33, 1, + CK14, 1 + } + + OperationRegion (IO_T, SystemIO, 0x0800, 0x10) + Field (IO_T, ByteAcc, NoLock, Preserve) + { + Offset (0x02), + Offset (0x04), + Offset (0x06), + Offset (0x08), + TRP0, 8, + Offset (0x0A), + Offset (0x0B), + Offset (0x0C), + Offset (0x0D), + Offset (0x0E), + Offset (0x0F), + Offset (0x10) + } + + OperationRegion (PMIO, SystemIO, 0x1000, 0x80) + Field (PMIO, ByteAcc, NoLock, Preserve) + { + Offset (0x42), + , 1, + GPEC, 1 + } + + OperationRegion (GPIO, SystemIO, 0x1180, 0x3C) + Field (GPIO, ByteAcc, NoLock, Preserve) + { + GU00, 8, + GU01, 8, + GU02, 8, + GU03, 8, + GIO0, 8, + GIO1, 8, + GIO2, 8, + GIO3, 8, + Offset (0x0C), + GL00, 8, + , 4, + GP12, 1, + Offset (0x0E), + GL02, 8, + GL03, 8, + Offset (0x18), + GB00, 8, + GB01, 8, + GB02, 8, + GB03, 8, + Offset (0x2C), + GIV0, 8, + GIV1, 8, + GIV2, 8, + GIV3, 8, + GU04, 8, + GU05, 8, + GU06, 8, + GU07, 8, + GIO4, 8, + GIO5, 8, + GIO6, 8, + GIO7, 8, + , 7, + GP39, 1, + GL05, 8, + GL06, 8, + GL07, 8 + } + + OperationRegion (GNVS, SystemMemory, 0x3F692E4C, 0x0100) + Field (GNVS, AnyAcc, Lock, Preserve) + { + OSYS, 16, + SMIF, 8, + PRM0, 8, + PRM1, 8, + SCIF, 8, + PRM2, 8, + PRM3, 8, + LCKF, 8, + PRM4, 8, + PRM5, 8, + P80D, 32, + LIDS, 8, + PWRS, 8, + DBGS, 8, + Offset (0x14), + ACTT, 8, + PSVT, 8, + TC1V, 8, + TC2V, 8, + TSPV, 8, + CRTT, 8, + DTSE, 8, + DTS1, 8, + DTS2, 8, + Offset (0x1E), + BNUM, 8, + B0SC, 8, + B1SC, 8, + B2SC, 8, + B0SS, 8, + B1SS, 8, + B2SS, 8, + Offset (0x28), + APIC, 8, + MPEN, 8, + PPCS, 8, + PPCM, 8, + Offset (0x32), + NATP, 8, + CMAP, 8, + CMBP, 8, + LPTP, 8, + FDCP, 8, + CMCP, 8, + CIRP, 8, + Offset (0x3C), + IGDS, 8, + TLST, 8, + CADL, 8, + PADL, 8, + CSTE, 16, + NSTE, 16, + SSTE, 16, + NDID, 8, + DID1, 32, + DID2, 32, + DID3, 32, + DID4, 32, + DID5, 32, + Offset (0x67), + BLCS, 8, + BRTL, 8, + ALSE, 8, + ALAF, 8, + LLOW, 8, + LHIH, 8, + Offset (0x6E), + EMAE, 8, + EMAP, 16, + EMAL, 16, + ECPC, 8, + MEFE, 8, + Offset (0x82), + GTF0, 56, + GTF2, 56, + IDEM, 8 + } + + OperationRegion (RCRB, SystemMemory, 0xFED1C000, 0x4000) + Field (RCRB, DWordAcc, Lock, Preserve) + { + Offset (0x1000), + Offset (0x3000), + Offset (0x3404), + HPAS, 2, + , 5, + HPAE, 1, + Offset (0x3418), + , 1, + PATD, 1, + SATD, 1, + SMBD, 1, + HDAD, 1, + A97D, 1, + Offset (0x341A), + RP1D, 1, + RP2D, 1, + RP3D, 1, + RP4D, 1, + RP5D, 1, + RP6D, 1 + } + + Mutex (MUTX, 0x00) + Name (_S0, Package (0x03) + { + Zero, + Zero, + Zero + }) + Name (_S3, Package (0x03) + { + 0x05, + 0x05, + Zero + }) + Name (_S4, Package (0x03) + { + 0x06, + 0x06, + Zero + }) + Name (_S5, Package (0x03) + { + 0x07, + 0x07, + Zero + }) + Scope (_PR) + { + Processor (CPU0, 0x00, 0x00001010, 0x06) {} + Processor (CPU1, 0x01, 0x00001010, 0x06) + { + Method (_INI, 0, NotSerialized) + { + If (DTSE) + { + TRAP (0x46) + } + } + } + } + + Name (DSEN, One) + Name (ECON, Zero) + Name (GPIC, Zero) + Name (CTYP, Zero) + Name (L01C, Zero) + Name (VFN0, Zero) + Name (VFN1, Zero) + Method (_PIC, 1, NotSerialized) + { + Store (Arg0, GPIC) + } + + Method (_PTS, 1, NotSerialized) + { + Store (Zero, P80D) + P8XH (Zero, Arg0) + If (LEqual (DBGS, Zero)) + { + Store (Zero, RT10) + Store (0x20, PME1) + Store (One, PME0) + Store (0x20, PMS1) + Store (One, PMS0) + } + } + + Method (_WAK, 1, NotSerialized) + { + P8XH (Zero, Zero) + If (LEqual (Arg0, 0x03)) + { + If (LAnd (DTSE, MPEN)) + { + TRAP (0x46) + } + } + + If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04))) + { + If (And (CFGD, 0x01000000)) + { + If (LAnd (And (CFGD, 0xF0), LAnd (LEqual (OSYS, 0x07D1), LNot (And (PDC0, 0x10))))) + { + TRAP (0x3D) + } + + If (LAnd (And (CFGD, One), LEqual (And (PDC0, 0x29), 0x29))) + { + TRAP (0x3E) + } + } + } + + If (LEqual (Arg0, 0x03)) + { + If (LEqual (Zero, ACTT)) + { + Store (Zero, \_SB.PCI0.LPCB.H_EC.CFAN) + } + } + + If (LAnd (LEqual (Arg0, 0x04), LEqual (OSYS, 0x07D1))) + { + If (And (CFGD, One)) + { + If (LGreater (PPCS, Zero)) + { + Subtract (PPCS, One, PPCS) + PNOT () + Add (PPCS, One, PPCS) + PNOT () + } + Else + { + Add (PPCS, One, PPCS) + PNOT () + Subtract (PPCS, One, PPCS) + PNOT () + } + } + } + + Notify (\_SB.PCI0, Zero) + Return (Package (0x02) + { + Zero, + Zero + }) + } + + Scope (_GPE) + { + Method (_L01, 0, NotSerialized) + { + Add (L01C, One, L01C) + P8XH (Zero, One) + P8XH (One, L01C) + Sleep (0x64) + If (LAnd (LEqual (RP1D, Zero), \_SB.PCI0.RP01.HPCS)) + { + If (\_SB.PCI0.RP01.PDC1) + { + Store (One, \_SB.PCI0.RP01.PDC1) + Store (One, \_SB.PCI0.RP01.HPCS) + Notify (\_SB.PCI0.RP01, Zero) + } + Else + { + Store (One, \_SB.PCI0.RP01.HPCS) + } + } + + If (LAnd (LEqual (RP2D, Zero), \_SB.PCI0.RP02.HPCS)) + { + If (\_SB.PCI0.RP02.PDC2) + { + Store (One, \_SB.PCI0.RP02.PDC2) + Store (One, \_SB.PCI0.RP02.HPCS) + Notify (\_SB.PCI0.RP02, Zero) + } + Else + { + Store (One, \_SB.PCI0.RP02.HPCS) + } + } + + If (LAnd (LEqual (RP3D, Zero), \_SB.PCI0.RP03.HPCS)) + { + If (\_SB.PCI0.RP03.PDC3) + { + Store (One, \_SB.PCI0.RP03.PDC3) + Store (One, \_SB.PCI0.RP03.HPCS) + Notify (\_SB.PCI0.RP03, Zero) + } + Else + { + Store (One, \_SB.PCI0.RP03.HPCS) + } + } + + If (LAnd (LEqual (RP4D, Zero), \_SB.PCI0.RP04.HPCS)) + { + If (\_SB.PCI0.RP04.PDC4) + { + Store (One, \_SB.PCI0.RP04.PDC4) + Store (One, \_SB.PCI0.RP04.HPCS) + Notify (\_SB.PCI0.RP04, Zero) + } + Else + { + Store (One, \_SB.PCI0.RP04.HPCS) + } + } + + If (LAnd (LEqual (RP5D, Zero), \_SB.PCI0.RP05.HPCS)) + { + If (\_SB.PCI0.RP05.PDC5) + { + Store (One, \_SB.PCI0.RP05.PDC5) + Store (One, \_SB.PCI0.RP05.HPCS) + Notify (\_SB.PCI0.RP05, Zero) + } + Else + { + Store (One, \_SB.PCI0.RP05.HPCS) + } + } + + If (LAnd (LEqual (RP6D, Zero), \_SB.PCI0.RP06.HPCS)) + { + If (\_SB.PCI0.RP06.PDC6) + { + Store (One, \_SB.PCI0.RP06.PDC6) + Store (One, \_SB.PCI0.RP06.HPCS) + Notify (\_SB.PCI0.RP06, Zero) + } + Else + { + Store (One, \_SB.PCI0.RP06.HPCS) + } + } + } + + Method (_L02, 0, NotSerialized) + { + Store (Zero, GPEC) + Notify (\_TZ.TZ01, 0x80) + } + + Method (_L03, 0, NotSerialized) + { + Notify (\_SB.PCI0.USB1, 0x02) + } + + Method (_L04, 0, NotSerialized) + { + Notify (\_SB.PCI0.USB2, 0x02) + } + + Method (_L05, 0, NotSerialized) + { + If (HDAD) + { + Notify (\_SB.PCI0.MODM, 0x02) + } + Else + { + Notify (\_SB.PCI0.HDEF, 0x02) + } + } + + Method (_L07, 0, NotSerialized) + { + Store (0x20, \_SB.PCI0.SBUS.HSTS) + } + + Method (_L08, 0, NotSerialized) + { + Notify (\_SB.PCI0.LPCB.N207.UART, 0x02) + } + + Method (_L09, 0, NotSerialized) + { + If (\_SB.PCI0.RP01.PSP1) + { + Store (One, \_SB.PCI0.RP01.PSP1) + Store (One, \_SB.PCI0.RP01.PMCS) + Notify (\_SB.PCI0.RP01, 0x02) + } + + If (\_SB.PCI0.RP02.PSP2) + { + Store (One, \_SB.PCI0.RP02.PSP2) + Store (One, \_SB.PCI0.RP02.PMCS) + Notify (\_SB.PCI0.RP02, 0x02) + } + + If (\_SB.PCI0.RP03.PSP3) + { + Store (One, \_SB.PCI0.RP03.PSP3) + Store (One, \_SB.PCI0.RP03.PMCS) + Notify (\_SB.PCI0.RP03, 0x02) + } + + If (\_SB.PCI0.RP04.PSP4) + { + Store (One, \_SB.PCI0.RP04.PSP4) + Store (One, \_SB.PCI0.RP04.PMCS) + Notify (\_SB.PCI0.RP04, 0x02) + } + + If (\_SB.PCI0.RP05.PSP5) + { + Store (One, \_SB.PCI0.RP05.PSP5) + Store (One, \_SB.PCI0.RP05.PMCS) + Notify (\_SB.PCI0.RP05, 0x02) + } + + If (\_SB.PCI0.RP06.PSP6) + { + Store (One, \_SB.PCI0.RP06.PSP6) + Store (One, \_SB.PCI0.RP06.PMCS) + Notify (\_SB.PCI0.RP06, 0x02) + } + } + + Method (_L0B, 0, NotSerialized) + { + Notify (\_SB.PCI0.PCIB, 0x02) + } + + Method (_L0C, 0, NotSerialized) + { + Notify (\_SB.PCI0.USB3, 0x02) + } + + Method (_L0D, 0, NotSerialized) + { + Notify (\_SB.PCI0.USB7, 0x02) + } + + Method (_L0E, 0, NotSerialized) + { + Notify (\_SB.PCI0.USB4, 0x02) + } + + Method (_L1D, 0, NotSerialized) + { + If (LNot (LEqual (LIDS, \_SB.PCI0.LPCB.H_EC.LSTE))) + { + Store (\_SB.PCI0.LPCB.H_EC.LSTE, LIDS) + If (IGDS) + { + LSDS (LIDS) + } + + Notify (\_SB.LID0, 0x80) + } + Else + { + If (LEqual (BNUM, Zero)) + { + If (LNot (LEqual (PWRS, \_SB.PCI0.LPCB.H_EC.VPWR))) + { + Store (\_SB.PCI0.LPCB.H_EC.VPWR, PWRS) + TRAP (0x2B) + PNOT () + } + } + } + } + } + + Method (BRTW, 1, Serialized) + { + Store (Arg0, Local1) + If (LEqual (ALSE, 0x02)) + { + Store (Divide (Multiply (ALAF, Arg0), 0x64, ), Local1) + If (LGreater (Local1, 0x64)) + { + Store (0x64, Local1) + } + } + + Store (Divide (Multiply (0xFF, Local1), 0x64, ), Local0) + Store (Local0, PRM0) + If (LEqual (TRAP (0x12), Zero)) + { + P8XH (0x02, Local0) + Store (Arg0, BRTL) + } + } + + Method (BTTM, 1, Serialized) + { + If (PWRS) + { + If (LNot (LLess (Arg0, B0SC))) + { + Store (Arg0, B0SC) + Notify (\_SB.BAT0, 0x80) + } + } + Else + { + If (LNot (LGreater (Arg0, B0SC))) + { + Store (Arg0, B0SC) + Notify (\_SB.BAT0, 0x80) + } + } + } + + Method (GETB, 3, Serialized) + { + Multiply (Arg0, 0x08, Local0) + Multiply (Arg1, 0x08, Local1) + CreateField (Arg2, Local0, Local1, TBF3) + Return (TBF3) + } + + Method (HKDS, 1, Serialized) + { + If (LEqual (Zero, DSEN)) + { + If (LEqual (TRAP (Arg0), Zero)) + { + If (LNot (LEqual (CADL, PADL))) + { + Store (CADL, PADL) + If (LEqual (OSYS, 0x07D1)) + { + Notify (\_SB.PCI0, Zero) + } + Else + { + Notify (\_SB.PCI0.GFX0, Zero) + } + + Sleep (0x02EE) + } + + Notify (\_SB.PCI0.GFX0, 0x80) + } + } + + If (LEqual (One, DSEN)) + { + If (LEqual (TRAP (Increment (Arg0)), Zero)) + { + Notify (\_SB.PCI0.GFX0, 0x81) + } + } + } + + Method (LSDS, 1, Serialized) + { + If (Arg0) + { + HKDS (0x0C) + } + Else + { + HKDS (0x0E) + } + + If (LNot (LEqual (DSEN, One))) + { + Sleep (0x32) + While (LEqual (DSEN, 0x02)) + { + Sleep (0x32) + } + } + } + + Method (P8XH, 2, Serialized) + { + If (LEqual (Arg0, Zero)) + { + Store (Or (And (P80D, 0xFFFFFF00), Arg1), P80D) + } + + If (LEqual (Arg0, One)) + { + Store (Or (And (P80D, 0xFFFF00FF), ShiftLeft (Arg1, 0x08)), P80D) + } + + If (LEqual (Arg0, 0x02)) + { + Store (Or (And (P80D, 0xFF00FFFF), ShiftLeft (Arg1, 0x10)), P80D) + } + + If (LEqual (Arg0, 0x03)) + { + Store (Or (And (P80D, 0x00FFFFFF), ShiftLeft (Arg1, 0x18)), P80D) + } + + Store (P80D, P80H) + } + + Method (PNOT, 0, Serialized) + { + If (MPEN) + { + If (And (PDC0, 0x08)) + { + Notify (\_PR.CPU0, 0x80) + If (And (PDC0, 0x10)) + { + Sleep (0x64) + Notify (\_PR.CPU0, 0x81) + } + } + + If (And (PDC1, 0x08)) + { + Notify (\_PR.CPU1, 0x80) + If (And (PDC1, 0x10)) + { + Sleep (0x64) + Notify (\_PR.CPU1, 0x81) + } + } + } + Else + { + Notify (\_PR.CPU0, 0x80) + Sleep (0x64) + Notify (\_PR.CPU0, 0x81) + } + + Store (\_SB.PCI0.LPCB.H_EC.B1CC, B1SC) + Store (\_SB.PCI0.LPCB.H_EC.B1ST, B1SS) + Store (\_SB.PCI0.LPCB.H_EC.B2CC, B2SC) + Store (\_SB.PCI0.LPCB.H_EC.B2ST, B2SS) + Notify (\_SB.BAT0, 0x80) + Notify (\_SB.BAT1, 0x80) + Notify (\_SB.BAT2, 0x80) + } + + Method (TRAP, 1, Serialized) + { + Store (Arg0, SMIF) + Store (Zero, TRP0) + Return (SMIF) + } + + Method (GETP, 1, Serialized) + { + If (LEqual (And (Arg0, 0x09), Zero)) + { + Return (Ones) + } + + If (LEqual (And (Arg0, 0x09), 0x08)) + { + Return (0x0384) + } + + ShiftRight (And (Arg0, 0x0300), 0x08, Local0) + ShiftRight (And (Arg0, 0x3000), 0x0C, Local1) + Return (Multiply (0x1E, Subtract (0x09, Add (Local0, Local1)))) + } + + Method (GDMA, 5, Serialized) + { + If (Arg0) + { + If (LAnd (Arg1, Arg4)) + { + Return (0x14) + } + + If (LAnd (Arg2, Arg4)) + { + Return (Multiply (Subtract (0x04, Arg3), 0x0F)) + } + + Return (Multiply (Subtract (0x04, Arg3), 0x1E)) + } + + Return (Ones) + } + + Method (GETT, 1, Serialized) + { + Return (Multiply (0x1E, Subtract (0x09, Add (And (ShiftRight (Arg0, 0x02), 0x03), And (Arg0, 0x03))))) + } + + Method (GETF, 3, Serialized) + { + Name (TMPF, Zero) + If (Arg0) + { + Or (TMPF, One, TMPF) + } + + If (And (Arg2, 0x02)) + { + Or (TMPF, 0x02, TMPF) + } + + If (Arg1) + { + Or (TMPF, 0x04, TMPF) + } + + If (And (Arg2, 0x20)) + { + Or (TMPF, 0x08, TMPF) + } + + If (And (Arg2, 0x4000)) + { + Or (TMPF, 0x10, TMPF) + } + + Return (TMPF) + } + + Method (SETP, 3, Serialized) + { + If (LGreater (Arg0, 0xF0)) + { + Return (0x08) + } + Else + { + If (And (Arg1, 0x02)) + { + If (LAnd (LNot (LGreater (Arg0, 0x78)), And (Arg2, 0x02))) + { + Return (0x2301) + } + + If (LAnd (LNot (LGreater (Arg0, 0xB4)), And (Arg2, One))) + { + Return (0x2101) + } + } + + Return (0x1001) + } + } + + Method (SDMA, 1, Serialized) + { + If (LNot (LGreater (Arg0, 0x14))) + { + Return (One) + } + + If (LNot (LGreater (Arg0, 0x1E))) + { + Return (0x02) + } + + If (LNot (LGreater (Arg0, 0x2D))) + { + Return (One) + } + + If (LNot (LGreater (Arg0, 0x3C))) + { + Return (0x02) + } + + If (LNot (LGreater (Arg0, 0x5A))) + { + Return (One) + } + + Return (Zero) + } + + Method (SETT, 3, Serialized) + { + If (And (Arg1, 0x02)) + { + If (LAnd (LNot (LGreater (Arg0, 0x78)), And (Arg2, 0x02))) + { + Return (0x0B) + } + + If (LAnd (LNot (LGreater (Arg0, 0xB4)), And (Arg2, One))) + { + Return (0x09) + } + } + + Return (0x04) + } + + Scope (_TZ) + { + PowerResource (FN00, 0x00, 0x0000) + { + Method (_STA, 0, Serialized) + { + Return (VFN0) + } + + Method (_ON, 0, Serialized) + { + Store (One, VFN0) + If (ECON) + { + Store (One, \_SB.PCI0.LPCB.H_EC.CFAN) + } + } + + Method (_OFF, 0, Serialized) + { + Store (Zero, VFN0) + If (ECON) + { + Store (Zero, \_SB.PCI0.LPCB.H_EC.CFAN) + } + } + } + + Device (FAN0) + { + Name (_HID, EisaId ("PNP0C0B")) + Name (_UID, Zero) + Name (_PR0, Package (0x01) + { + FN00 + }) + } + + ThermalZone (TZ00) + { + Method (_CRT, 0, Serialized) + { + Return (0x0FA2) + } + + Method (_TMP, 0, Serialized) + { + If (ECON) + { + Store (\_SB.PCI0.LPCB.H_EC.DTMP, Local0) + If (And (Local0, 0x80)) + { + Subtract (Local0, 0x0100, Local0) + } + + Return (Add (0x0AAC, Multiply (Local0, 0x0A))) + } + + Return (0x0BB8) + } + } + + ThermalZone (TZ01) + { + Method (_AC0, 0, Serialized) + { + Return (Add (0x0AAC, Multiply (ACTT, 0x0A))) + } + + Name (_AL0, Package (0x01) + { + FAN0 + }) + Method (_CRT, 0, Serialized) + { + Return (Add (0x0AAC, Multiply (CRTT, 0x0A))) + } + + Method (_SCP, 1, Serialized) + { + Store (Arg0, CTYP) + } + + Method (_TMP, 0, Serialized) + { + If (DTSE) + { + If (LNot (LLess (DTS1, DTS2))) + { + Return (Add (0x0AAC, Multiply (DTS1, 0x0A))) + } + + Return (Add (0x0AAC, Multiply (DTS2, 0x0A))) + } + + If (ECON) + { + Store (\_SB.PCI0.LPCB.H_EC.DTMP, Local0) + If (And (Local0, 0x80)) + { + Subtract (Local0, 0x0100, Local0) + } + + Return (Add (0x0AAC, Multiply (Local0, 0x0A))) + } + + Return (0x0BB8) + } + + Method (_PSL, 0, Serialized) + { + If (MPEN) + { + Return (Package (0x02) + { + \_PR.CPU0, + \_PR.CPU1 + }) + } + + Return (Package (0x01) + { + \_PR.CPU0 + }) + } + + Method (_PSV, 0, Serialized) + { + Return (Add (0x0AAC, Multiply (PSVT, 0x0A))) + } + + Method (_TC1, 0, Serialized) + { + Return (TC1V) + } + + Method (_TC2, 0, Serialized) + { + Return (TC2V) + } + + Method (_TSP, 0, Serialized) + { + Return (TSPV) + } + } + } + + Scope (_SB) + { + Device (ADP1) + { + Name (_HID, "ACPI0003") + Method (_PSR, 0, NotSerialized) + { + Return (PWRS) + } + + Method (_PCL, 0, NotSerialized) + { + Return (_SB) + } + } + + Device (BAT0) + { + Name (_HID, EisaId ("PNP0C0A")) + Name (_UID, Zero) + Method (_STA, 0, NotSerialized) + { + If (And (BNUM, 0x03)) + { + Return (0x0B) + } + + If (B0SC) + { + Return (0x1F) + } + + Return (Zero) + } + + Method (_BIF, 0, NotSerialized) + { + Return (Package (0x0D) + { + Zero, + 0x2710, + 0x2710, + One, + Ones, + 0x03E8, + 0x0190, + 0x64, + 0x64, + "CRB Battery 0", + "Battery 0", + "Fake", + "-Virtual Battery 0-" + }) + } + + Method (_BST, 0, NotSerialized) + { + Name (PKG0, Package (0x04) + { + Ones, + Ones, + Ones, + Ones + }) + If (PWRS) + { + Store (0x02, Index (PKG0, Zero)) + } + Else + { + Store (One, Index (PKG0, Zero)) + } + + Store (Multiply (B0SC, 0x64), Index (PKG0, 0x02)) + Return (PKG0) + } + + Method (_PCL, 0, NotSerialized) + { + Return (_SB) + } + } + + Device (BAT1) + { + Name (_HID, EisaId ("PNP0C0A")) + Name (_UID, One) + Method (_STA, 0, NotSerialized) + { + If (And (BNUM, One)) + { + Return (0x1F) + } + + If (B0SC) + { + Return (0x0B) + } + + Return (Zero) + } + + Method (_BIF, 0, NotSerialized) + { + Return (Package (0x0D) + { + Zero, + 0x2710, + 0x2710, + One, + Ones, + 0x03E8, + 0x0190, + 0x64, + 0x64, + "CRB Battery 1", + "Battery 1", + "Real", + "-Real Battery 1-" + }) + } + + Method (_BST, 0, NotSerialized) + { + Name (PKG1, Package (0x04) + { + Ones, + Ones, + Ones, + Ones + }) + Store (And (B1SS, 0x07), Index (PKG1, Zero)) + Store (Multiply (B1SC, 0x64), Index (PKG1, 0x02)) + Return (PKG1) + } + + Method (_PCL, 0, NotSerialized) + { + Return (_SB) + } + } + + Device (BAT2) + { + Name (_HID, EisaId ("PNP0C0A")) + Name (_UID, 0x02) + Method (_STA, 0, NotSerialized) + { + If (And (BNUM, 0x02)) + { + Return (0x1F) + } + + If (B0SC) + { + Return (0x0B) + } + + Return (Zero) + } + + Method (_BIF, 0, NotSerialized) + { + Return (Package (0x0D) + { + Zero, + 0x2710, + 0x2710, + One, + Ones, + 0x03E8, + 0x0190, + 0x64, + 0x64, + "CRB Battery 2", + "Battery 2", + "Real", + "-Real Battery 2-" + }) + } + + Method (_BST, 0, NotSerialized) + { + Name (PKG2, Package (0x04) + { + Ones, + Ones, + Ones, + Ones + }) + Store (And (B2SS, 0x07), Index (PKG2, Zero)) + Store (Multiply (B2SC, 0x64), Index (PKG2, 0x02)) + Return (PKG2) + } + + Method (_PCL, 0, NotSerialized) + { + Return (_SB) + } + } + + Device (LID0) + { + Name (_HID, EisaId ("PNP0C0D")) + Method (_LID, 0, NotSerialized) + { + Return (LIDS) + } + } + + Device (PWRB) + { + Name (_HID, EisaId ("PNP0C0C")) + Name (_PRW, Package (0x02) + { + 0x1D, + 0x04 + }) + } + + Device (PCI0) + { + Method (_INI, 0, NotSerialized) + { + Store (0x07D0, OSYS) + If (CondRefOf (_OSI, Local0)) + { + If (_OSI ("Linux")) + { + Store (0x03E8, OSYS) + } + Else + { + Store (0x07D1, OSYS) + If (MPEN) + { + TRAP (0x3D) + } + } + } + } + + Name (_HID, EisaId ("PNP0A08")) + Name (_CID, 0x030AD041) + Name (_ADR, Zero) + Name (_BBN, Zero) + OperationRegion (HBUS, PCI_Config, 0x40, 0xC0) + Field (HBUS, DWordAcc, NoLock, Preserve) + { + Offset (0x50), + , 4, + PM0H, 2, + Offset (0x51), + PM1L, 2, + , 2, + PM1H, 2, + Offset (0x52), + PM2L, 2, + , 2, + PM2H, 2, + Offset (0x53), + PM3L, 2, + , 2, + PM3H, 2, + Offset (0x54), + PM4L, 2, + , 2, + PM4H, 2, + Offset (0x55), + PM5L, 2, + , 2, + PM5H, 2, + Offset (0x56), + PM6L, 2, + , 2, + PM6H, 2, + Offset (0x57), + , 7, + HENA, 1, + Offset (0x5C), + , 3, + TOUD, 5 + } + + Name (BUF0, ResourceTemplate () + { + WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, + 0x0000, // Address Space Granularity + 0x0000, // Address Range Minimum + 0x00FF, // Address Range Maximum + 0x0000, // Address Translation Offset + 0x0100, // Address Length + ,,) + DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, + 0x00000000, // Address Space Granularity + 0x00000000, // Address Range Minimum + 0x00000CF7, // Address Range Maximum + 0x00000000, // Address Translation Offset + 0x00000CF8, // Address Length + ,,, TypeStatic) + IO (Decode16, + 0x0CF8, // Address Range Minimum + 0x0CF8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, + 0x00000000, // Address Space Granularity + 0x00000D00, // Address Range Minimum + 0x0000FFFF, // Address Range Maximum + 0x00000000, // Address Translation Offset + 0x0000F300, // Address Length + ,,, TypeStatic) + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, + 0x00000000, // Address Space Granularity + 0x000A0000, // Address Range Minimum + 0x000BFFFF, // Address Range Maximum + 0x00000000, // Address Translation Offset + 0x00020000, // Address Length + ,,, AddressRangeMemory, TypeStatic) + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, + 0x00000000, // Address Space Granularity + 0x000C0000, // Address Range Minimum + 0x000C3FFF, // Address Range Maximum + 0x00000000, // Address Translation Offset + 0x00004000, // Address Length + ,,, AddressRangeMemory, TypeStatic) + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, + 0x00000000, // Address Space Granularity + 0x000C4000, // Address Range Minimum + 0x000C7FFF, // Address Range Maximum + 0x00000000, // Address Translation Offset + 0x00004000, // Address Length + ,,, AddressRangeMemory, TypeStatic) + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, + 0x00000000, // Address Space Granularity + 0x000C8000, // Address Range Minimum + 0x000CBFFF, // Address Range Maximum + 0x00000000, // Address Translation Offset + 0x00004000, // Address Length + ,,, AddressRangeMemory, TypeStatic) + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, + 0x00000000, // Address Space Granularity + 0x000CC000, // Address Range Minimum + 0x000CFFFF, // Address Range Maximum + 0x00000000, // Address Translation Offset + 0x00004000, // Address Length + ,,, AddressRangeMemory, TypeStatic) + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, + 0x00000000, // Address Space Granularity + 0x000D0000, // Address Range Minimum + 0x000D3FFF, // Address Range Maximum + 0x00000000, // Address Translation Offset + 0x00004000, // Address Length + ,,, AddressRangeMemory, TypeStatic) + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, + 0x00000000, // Address Space Granularity + 0x000D4000, // Address Range Minimum + 0x000D7FFF, // Address Range Maximum + 0x00000000, // Address Translation Offset + 0x00004000, // Address Length + ,,, AddressRangeMemory, TypeStatic) + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, + 0x00000000, // Address Space Granularity + 0x000D8000, // Address Range Minimum + 0x000DBFFF, // Address Range Maximum + 0x00000000, // Address Translation Offset + 0x00004000, // Address Length + ,,, AddressRangeMemory, TypeStatic) + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, + 0x00000000, // Address Space Granularity + 0x000DC000, // Address Range Minimum + 0x000DFFFF, // Address Range Maximum + 0x00000000, // Address Translation Offset + 0x00004000, // Address Length + ,,, AddressRangeMemory, TypeStatic) + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, + 0x00000000, // Address Space Granularity + 0x000E0000, // Address Range Minimum + 0x000E3FFF, // Address Range Maximum + 0x00000000, // Address Translation Offset + 0x00004000, // Address Length + ,,, AddressRangeMemory, TypeStatic) + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, + 0x00000000, // Address Space Granularity + 0x000E4000, // Address Range Minimum + 0x000E7FFF, // Address Range Maximum + 0x00000000, // Address Translation Offset + 0x00004000, // Address Length + ,,, AddressRangeMemory, TypeStatic) + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, + 0x00000000, // Address Space Granularity + 0x000E8000, // Address Range Minimum + 0x000EBFFF, // Address Range Maximum + 0x00000000, // Address Translation Offset + 0x00004000, // Address Length + ,,, AddressRangeMemory, TypeStatic) + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, + 0x00000000, // Address Space Granularity + 0x000EC000, // Address Range Minimum + 0x000EFFFF, // Address Range Maximum + 0x00000000, // Address Translation Offset + 0x00004000, // Address Length + ,,, AddressRangeMemory, TypeStatic) + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, + 0x00000000, // Address Space Granularity + 0x000F0000, // Address Range Minimum + 0x000FFFFF, // Address Range Maximum + 0x00000000, // Address Translation Offset + 0x00010000, // Address Length + ,,, AddressRangeMemory, TypeStatic) + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, + 0x00000000, // Address Space Granularity + 0x00000000, // Address Range Minimum + 0xFEBFFFFF, // Address Range Maximum + 0x00000000, // Address Translation Offset + 0x00000000, // Address Length + ,,, AddressRangeMemory, TypeStatic) + }) + Method (_CRS, 0, Serialized) + { + If (PM1L) + { + CreateDWordField (BUF0, 0x7C, C0LN) + Store (Zero, C0LN) + } + + If (LEqual (PM1L, One)) + { + CreateBitField (BUF0, 0x0358, C0RW) + Store (Zero, C0RW) + } + + If (PM1H) + { + CreateDWordField (BUF0, 0x96, C4LN) + Store (Zero, C4LN) + } + + If (LEqual (PM1H, One)) + { + CreateBitField (BUF0, 0x0428, C4RW) + Store (Zero, C4RW) + } + + If (PM2L) + { + CreateDWordField (BUF0, 0xB0, C8LN) + Store (Zero, C8LN) + } + + If (LEqual (PM2L, One)) + { + CreateBitField (BUF0, 0x04F8, C8RW) + Store (Zero, C8RW) + } + + If (PM2H) + { + CreateDWordField (BUF0, 0xCA, CCLN) + Store (Zero, CCLN) + } + + If (LEqual (PM2H, One)) + { + CreateBitField (BUF0, 0x05C8, CCRW) + Store (Zero, CCRW) + } + + If (PM3L) + { + CreateDWordField (BUF0, 0xE4, D0LN) + Store (Zero, D0LN) + } + + If (LEqual (PM3L, One)) + { + CreateBitField (BUF0, 0x0698, D0RW) + Store (Zero, D0RW) + } + + If (PM3H) + { + CreateDWordField (BUF0, 0xFE, D4LN) + Store (Zero, D4LN) + } + + If (LEqual (PM3H, One)) + { + CreateBitField (BUF0, 0x0768, D4RW) + Store (Zero, D4RW) + } + + If (PM4L) + { + CreateDWordField (BUF0, 0x0118, D8LN) + Store (Zero, D8LN) + } + + If (LEqual (PM4L, One)) + { + CreateBitField (BUF0, 0x0838, D8RW) + Store (Zero, D8RW) + } + + If (PM4H) + { + CreateDWordField (BUF0, 0x0132, DCLN) + Store (Zero, DCLN) + } + + If (LEqual (PM4H, One)) + { + CreateBitField (BUF0, 0x0908, DCRW) + Store (Zero, DCRW) + } + + If (PM5L) + { + CreateDWordField (BUF0, 0x014C, E0LN) + Store (Zero, E0LN) + } + + If (LEqual (PM5L, One)) + { + CreateBitField (BUF0, 0x09D8, E0RW) + Store (Zero, E0RW) + } + + If (PM5H) + { + CreateDWordField (BUF0, 0x0166, E4LN) + Store (Zero, E4LN) + } + + If (LEqual (PM5H, One)) + { + CreateBitField (BUF0, 0x0AA8, E4RW) + Store (Zero, E4RW) + } + + If (PM6L) + { + CreateDWordField (BUF0, 0x0180, E8LN) + Store (Zero, E8LN) + } + + If (LEqual (PM6L, One)) + { + CreateBitField (BUF0, 0x0B78, E8RW) + Store (Zero, E8RW) + } + + If (PM6H) + { + CreateDWordField (BUF0, 0x019A, ECLN) + Store (Zero, ECLN) + } + + If (LEqual (PM6H, One)) + { + CreateBitField (BUF0, 0x0C48, ECRW) + Store (Zero, ECRW) + } + + If (PM0H) + { + CreateDWordField (BUF0, 0x01B4, F0LN) + Store (Zero, F0LN) + } + + If (LEqual (PM0H, One)) + { + CreateBitField (BUF0, 0x0D18, F0RW) + Store (Zero, F0RW) + } + + CreateDWordField (BUF0, 0x01C2, M1MN) + CreateDWordField (BUF0, 0x01C6, M1MX) + CreateDWordField (BUF0, 0x01CE, M1LN) + ShiftLeft (TOUD, 0x1B, M1MN) + Add (Subtract (M1MX, M1MN), One, M1LN) + Return (BUF0) + } + + Method (_PRT, 0, NotSerialized) + { + If (GPIC) + { + Return (Package (0x11) + { + Package (0x04) + { + 0x0001FFFF, + Zero, + Zero, + 0x10 + }, + + Package (0x04) + { + 0x0002FFFF, + Zero, + Zero, + 0x10 + }, + + Package (0x04) + { + 0x0007FFFF, + Zero, + Zero, + 0x10 + }, + + Package (0x04) + { + 0x001BFFFF, + Zero, + Zero, + 0x16 + }, + + Package (0x04) + { + 0x001CFFFF, + Zero, + Zero, + 0x11 + }, + + Package (0x04) + { + 0x001CFFFF, + One, + Zero, + 0x10 + }, + + Package (0x04) + { + 0x001CFFFF, + 0x02, + Zero, + 0x12 + }, + + Package (0x04) + { + 0x001CFFFF, + 0x03, + Zero, + 0x13 + }, + + Package (0x04) + { + 0x001DFFFF, + Zero, + Zero, + 0x17 + }, + + Package (0x04) + { + 0x001DFFFF, + One, + Zero, + 0x13 + }, + + Package (0x04) + { + 0x001DFFFF, + 0x02, + Zero, + 0x12 + }, + + Package (0x04) + { + 0x001DFFFF, + 0x03, + Zero, + 0x10 + }, + + Package (0x04) + { + 0x001EFFFF, + Zero, + Zero, + 0x16 + }, + + Package (0x04) + { + 0x001EFFFF, + One, + Zero, + 0x14 + }, + + Package (0x04) + { + 0x001FFFFF, + Zero, + Zero, + 0x12 + }, + + Package (0x04) + { + 0x001FFFFF, + One, + Zero, + 0x13 + }, + + Package (0x04) + { + 0x001FFFFF, + 0x03, + Zero, + 0x10 + } + }) + } + Else + { + Return (Package (0x11) + { + Package (0x04) + { + 0x0001FFFF, + Zero, + ^LPCB.LNKA, + Zero + }, + + Package (0x04) + { + 0x0002FFFF, + Zero, + ^LPCB.LNKA, + Zero + }, + + Package (0x04) + { + 0x0007FFFF, + Zero, + ^LPCB.LNKA, + Zero + }, + + Package (0x04) + { + 0x001BFFFF, + Zero, + ^LPCB.LNKG, + Zero + }, + + Package (0x04) + { + 0x001CFFFF, + Zero, + ^LPCB.LNKB, + Zero + }, + + Package (0x04) + { + 0x001CFFFF, + One, + ^LPCB.LNKA, + Zero + }, + + Package (0x04) + { + 0x001CFFFF, + 0x02, + ^LPCB.LNKC, + Zero + }, + + Package (0x04) + { + 0x001CFFFF, + 0x03, + ^LPCB.LNKD, + Zero + }, + + Package (0x04) + { + 0x001DFFFF, + Zero, + ^LPCB.LNKH, + Zero + }, + + Package (0x04) + { + 0x001DFFFF, + One, + ^LPCB.LNKD, + Zero + }, + + Package (0x04) + { + 0x001DFFFF, + 0x02, + ^LPCB.LNKC, + Zero + }, + + Package (0x04) + { + 0x001DFFFF, + 0x03, + ^LPCB.LNKA, + Zero + }, + + Package (0x04) + { + 0x001EFFFF, + Zero, + ^LPCB.LNKG, + Zero + }, + + Package (0x04) + { + 0x001EFFFF, + One, + ^LPCB.LNKE, + Zero + }, + + Package (0x04) + { + 0x001FFFFF, + Zero, + ^LPCB.LNKC, + Zero + }, + + Package (0x04) + { + 0x001FFFFF, + One, + ^LPCB.LNKD, + Zero + }, + + Package (0x04) + { + 0x001FFFFF, + 0x03, + ^LPCB.LNKA, + Zero + } + }) + } + } + + Device (PDRC) + { + Name (_HID, EisaId ("PNP0C02")) + Name (_UID, One) + Name (_CRS, ResourceTemplate () + { + Memory32Fixed (ReadWrite, + 0xE0000000, // Address Base + 0x10000000, // Address Length + ) + Memory32Fixed (ReadWrite, + 0xFED14000, // Address Base + 0x00004000, // Address Length + ) + Memory32Fixed (ReadWrite, + 0xFED18000, // Address Base + 0x00001000, // Address Length + ) + Memory32Fixed (ReadWrite, + 0xFED19000, // Address Base + 0x00001000, // Address Length + ) + Memory32Fixed (ReadWrite, + 0xFED1C000, // Address Base + 0x00004000, // Address Length + ) + Memory32Fixed (ReadWrite, + 0xFED20000, // Address Base + 0x00070000, // Address Length + ) + }) + } + + Device (PEGP) + { + Name (_ADR, 0x00010000) + Method (_PRT, 0, NotSerialized) + { + If (GPIC) + { + Return (Package (0x04) + { + Package (0x04) + { + 0xFFFF, + Zero, + Zero, + 0x10 + }, + + Package (0x04) + { + 0xFFFF, + One, + Zero, + 0x11 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + Zero, + 0x12 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + Zero, + 0x13 + } + }) + } + Else + { + Return (Package (0x04) + { + Package (0x04) + { + 0xFFFF, + Zero, + ^^LPCB.LNKA, + Zero + }, + + Package (0x04) + { + 0xFFFF, + One, + ^^LPCB.LNKB, + Zero + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + ^^LPCB.LNKC, + Zero + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + ^^LPCB.LNKD, + Zero + } + }) + } + } + } + + Device (GFX0) + { + Name (_ADR, 0x00020000) + Method (_DOS, 1, NotSerialized) + { + Store (And (Arg0, 0x03), DSEN) + } + + Method (_DOD, 0, NotSerialized) + { + If (LEqual (NDID, One)) + { + Name (TMP1, Package (0x01) + { + Ones + }) + Store (Or (0x00010000, DID1), Index (TMP1, Zero)) + Return (TMP1) + } + + If (LEqual (NDID, 0x02)) + { + Name (TMP2, Package (0x02) + { + Ones, + Ones + }) + Store (Or (0x00010000, DID1), Index (TMP2, Zero)) + Store (Or (0x00010000, DID2), Index (TMP2, One)) + Return (TMP2) + } + + If (LEqual (NDID, 0x03)) + { + Name (TMP3, Package (0x03) + { + Ones, + Ones, + Ones + }) + Store (Or (0x00010000, DID1), Index (TMP3, Zero)) + Store (Or (0x00010000, DID2), Index (TMP3, One)) + Store (Or (0x00010000, DID3), Index (TMP3, 0x02)) + Return (TMP3) + } + + If (LEqual (NDID, 0x04)) + { + Name (TMP4, Package (0x04) + { + Ones, + Ones, + Ones, + Ones + }) + Store (Or (0x00010000, DID1), Index (TMP4, Zero)) + Store (Or (0x00010000, DID2), Index (TMP4, One)) + Store (Or (0x00010000, DID3), Index (TMP4, 0x02)) + Store (Or (0x00010000, DID4), Index (TMP4, 0x03)) + Return (TMP4) + } + + Name (TMP5, Package (0x05) + { + Ones, + Ones, + Ones, + Ones, + Ones + }) + Store (Or (0x00010000, DID1), Index (TMP5, Zero)) + Store (Or (0x00010000, DID2), Index (TMP5, One)) + Store (Or (0x00010000, DID3), Index (TMP5, 0x02)) + Store (Or (0x00010000, DID4), Index (TMP5, 0x03)) + Store (Or (0x00010000, DID5), Index (TMP5, 0x04)) + Return (TMP5) + } + + Device (DD01) + { + Method (_ADR, 0, Serialized) + { + Return (And (0xFFFF, DID1)) + } + + Method (_DCS, 0, NotSerialized) + { + TRAP (One) + If (And (CSTE, One)) + { + Return (0x1F) + } + + Return (0x1D) + } + + Method (_DGS, 0, NotSerialized) + { + If (And (NSTE, One)) + { + Return (One) + } + + Return (Zero) + } + + Method (_DSS, 1, NotSerialized) + { + If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) + { + Store (NSTE, CSTE) + } + } + } + + Device (DD02) + { + Method (_ADR, 0, Serialized) + { + Return (And (0xFFFF, DID2)) + } + + Method (_DCS, 0, NotSerialized) + { + TRAP (One) + If (And (CSTE, 0x02)) + { + Return (0x1F) + } + + Return (0x1D) + } + + Method (_DGS, 0, NotSerialized) + { + If (And (NSTE, 0x02)) + { + Return (One) + } + + Return (Zero) + } + + Method (_DSS, 1, NotSerialized) + { + If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) + { + Store (NSTE, CSTE) + } + } + } + + Device (DD03) + { + Method (_ADR, 0, Serialized) + { + Return (And (0xFFFF, DID3)) + } + + Method (_DCS, 0, NotSerialized) + { + TRAP (One) + If (And (CSTE, 0x04)) + { + Return (0x1F) + } + + Return (0x1D) + } + + Method (_DGS, 0, NotSerialized) + { + If (And (NSTE, 0x04)) + { + Return (One) + } + + Return (Zero) + } + + Method (_DSS, 1, NotSerialized) + { + If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) + { + Store (NSTE, CSTE) + } + } + } + + Device (DD04) + { + Method (_ADR, 0, Serialized) + { + Return (And (0xFFFF, DID4)) + } + + Method (_DCS, 0, NotSerialized) + { + TRAP (One) + If (And (CSTE, 0x08)) + { + Return (0x1F) + } + + Return (0x1D) + } + + Method (_DGS, 0, NotSerialized) + { + If (And (NSTE, 0x08)) + { + Return (One) + } + + Return (Zero) + } + + Method (_DSS, 1, NotSerialized) + { + If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) + { + Store (NSTE, CSTE) + } + } + } + + Device (DD05) + { + Method (_ADR, 0, Serialized) + { + Return (And (0xFFFF, DID5)) + } + + Method (_DCS, 0, NotSerialized) + { + TRAP (One) + If (And (CSTE, 0x10)) + { + Return (0x1F) + } + + Return (0x1D) + } + + Method (_DGS, 0, NotSerialized) + { + If (And (NSTE, 0x10)) + { + Return (One) + } + + Return (Zero) + } + + Method (_DSS, 1, NotSerialized) + { + If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) + { + Store (NSTE, CSTE) + } + } + } + } + + Device (HDEF) + { + Name (_ADR, 0x001B0000) + Name (_PRW, Package (0x02) + { + 0x05, + 0x04 + }) + } + + Device (RP01) + { + Name (_ADR, 0x001C0000) + OperationRegion (P1CS, PCI_Config, 0x40, 0x0100) + Field (P1CS, AnyAcc, NoLock, WriteAsZeros) + { + Offset (0x1A), + ABP1, 1, + , 2, + PDC1, 1, + , 2, + PDS1, 1, + Offset (0x20), + Offset (0x22), + PSP1, 1, + Offset (0x9C), + , 30, + HPCS, 1, + PMCS, 1 + } + + Device (PXS1) + { + Name (_ADR, Zero) + Name (_PRW, Package (0x02) + { + 0x09, + 0x04 + }) + } + + Method (_PRT, 0, NotSerialized) + { + If (GPIC) + { + Return (Package (0x04) + { + Package (0x04) + { + 0xFFFF, + Zero, + Zero, + 0x10 + }, + + Package (0x04) + { + 0xFFFF, + One, + Zero, + 0x11 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + Zero, + 0x12 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + Zero, + 0x13 + } + }) + } + Else + { + Return (Package (0x04) + { + Package (0x04) + { + 0xFFFF, + Zero, + ^^LPCB.LNKA, + Zero + }, + + Package (0x04) + { + 0xFFFF, + One, + ^^LPCB.LNKB, + Zero + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + ^^LPCB.LNKC, + Zero + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + ^^LPCB.LNKD, + Zero + } + }) + } + } + } + + Device (RP02) + { + Name (_ADR, 0x001C0001) + OperationRegion (P2CS, PCI_Config, 0x40, 0x0100) + Field (P2CS, AnyAcc, NoLock, WriteAsZeros) + { + Offset (0x1A), + ABP2, 1, + , 2, + PDC2, 1, + , 2, + PDS2, 1, + Offset (0x20), + Offset (0x22), + PSP2, 1, + Offset (0x9C), + , 30, + HPCS, 1, + PMCS, 1 + } + + Device (PXS2) + { + Name (_ADR, Zero) + Method (_RMV, 0, NotSerialized) + { + Return (One) + } + + Name (_PRW, Package (0x02) + { + 0x09, + 0x04 + }) + Name (_EJD, "\\_SB.PCI0.USB7.HUB7.PRT7") + } + + Method (_PRT, 0, NotSerialized) + { + If (GPIC) + { + Return (Package (0x04) + { + Package (0x04) + { + 0xFFFF, + Zero, + Zero, + 0x11 + }, + + Package (0x04) + { + 0xFFFF, + One, + Zero, + 0x12 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + Zero, + 0x13 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + Zero, + 0x10 + } + }) + } + Else + { + Return (Package (0x04) + { + Package (0x04) + { + 0xFFFF, + Zero, + ^^LPCB.LNKB, + Zero + }, + + Package (0x04) + { + 0xFFFF, + One, + ^^LPCB.LNKC, + Zero + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + ^^LPCB.LNKD, + Zero + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + ^^LPCB.LNKA, + Zero + } + }) + } + } + } + + Device (RP03) + { + Name (_ADR, 0x001C0002) + OperationRegion (P3CS, PCI_Config, 0x40, 0x0100) + Field (P3CS, AnyAcc, NoLock, WriteAsZeros) + { + Offset (0x1A), + ABP3, 1, + , 2, + PDC3, 1, + , 2, + PDS3, 1, + Offset (0x20), + Offset (0x22), + PSP3, 1, + Offset (0x9C), + , 30, + HPCS, 1, + PMCS, 1 + } + + Device (PXS3) + { + Name (_ADR, Zero) + Method (_RMV, 0, NotSerialized) + { + Return (One) + } + + Name (_PRW, Package (0x02) + { + 0x09, + 0x04 + }) + Name (_EJD, "\\_SB.PCI0.USB7.HUB7.PRT5") + } + + Method (_PRT, 0, NotSerialized) + { + If (GPIC) + { + Return (Package (0x04) + { + Package (0x04) + { + 0xFFFF, + Zero, + Zero, + 0x12 + }, + + Package (0x04) + { + 0xFFFF, + One, + Zero, + 0x13 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + Zero, + 0x10 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + Zero, + 0x11 + } + }) + } + Else + { + Return (Package (0x04) + { + Package (0x04) + { + 0xFFFF, + Zero, + ^^LPCB.LNKC, + Zero + }, + + Package (0x04) + { + 0xFFFF, + One, + ^^LPCB.LNKD, + Zero + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + ^^LPCB.LNKA, + Zero + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + ^^LPCB.LNKB, + Zero + } + }) + } + } + } + + Device (RP04) + { + Name (_ADR, 0x001C0003) + OperationRegion (P4CS, PCI_Config, 0x40, 0x0100) + Field (P4CS, AnyAcc, NoLock, WriteAsZeros) + { + Offset (0x1A), + ABP4, 1, + , 2, + PDC4, 1, + , 2, + PDS4, 1, + Offset (0x20), + Offset (0x22), + PSP4, 1, + Offset (0x9C), + , 30, + HPCS, 1, + PMCS, 1 + } + + Device (PXS4) + { + Name (_ADR, Zero) + Method (_RMV, 0, NotSerialized) + { + Return (One) + } + + Name (_PRW, Package (0x02) + { + 0x09, + 0x04 + }) + Name (_EJD, "\\_SB.PCI0.USB7.HUB7.PRT3") + } + + Method (_PRT, 0, NotSerialized) + { + If (GPIC) + { + Return (Package (0x04) + { + Package (0x04) + { + 0xFFFF, + Zero, + Zero, + 0x13 + }, + + Package (0x04) + { + 0xFFFF, + One, + Zero, + 0x10 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + Zero, + 0x11 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + Zero, + 0x12 + } + }) + } + Else + { + Return (Package (0x04) + { + Package (0x04) + { + 0xFFFF, + Zero, + ^^LPCB.LNKD, + Zero + }, + + Package (0x04) + { + 0xFFFF, + One, + ^^LPCB.LNKA, + Zero + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + ^^LPCB.LNKB, + Zero + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + ^^LPCB.LNKC, + Zero + } + }) + } + } + } + + Device (RP05) + { + Name (_ADR, 0x001C0004) + OperationRegion (P5CS, PCI_Config, 0x40, 0x0100) + Field (P5CS, AnyAcc, NoLock, WriteAsZeros) + { + Offset (0x1A), + ABP5, 1, + , 2, + PDC5, 1, + , 2, + PDS5, 1, + Offset (0x20), + Offset (0x22), + PSP5, 1, + Offset (0x9C), + , 30, + HPCS, 1, + PMCS, 1 + } + + Device (PXS5) + { + Name (_ADR, Zero) + Name (_PRW, Package (0x02) + { + 0x09, + 0x04 + }) + } + + Method (_PRT, 0, NotSerialized) + { + If (GPIC) + { + Return (Package (0x04) + { + Package (0x04) + { + 0xFFFF, + Zero, + Zero, + 0x10 + }, + + Package (0x04) + { + 0xFFFF, + One, + Zero, + 0x11 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + Zero, + 0x12 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + Zero, + 0x13 + } + }) + } + Else + { + Return (Package (0x04) + { + Package (0x04) + { + 0xFFFF, + Zero, + ^^LPCB.LNKA, + Zero + }, + + Package (0x04) + { + 0xFFFF, + One, + ^^LPCB.LNKB, + Zero + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + ^^LPCB.LNKC, + Zero + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + ^^LPCB.LNKD, + Zero + } + }) + } + } + } + + Device (RP06) + { + Name (_ADR, 0x001C0005) + OperationRegion (P6CS, PCI_Config, 0x40, 0x0100) + Field (P6CS, AnyAcc, NoLock, WriteAsZeros) + { + Offset (0x1A), + ABP6, 1, + , 2, + PDC6, 1, + , 2, + PDS6, 1, + Offset (0x20), + Offset (0x22), + PSP6, 1, + Offset (0x9C), + , 30, + HPCS, 1, + PMCS, 1 + } + + Device (PXS6) + { + Name (_ADR, Zero) + Name (_PRW, Package (0x02) + { + 0x09, + 0x04 + }) + } + + Method (_PRT, 0, NotSerialized) + { + If (GPIC) + { + Return (Package (0x04) + { + Package (0x04) + { + 0xFFFF, + Zero, + Zero, + 0x11 + }, + + Package (0x04) + { + 0xFFFF, + One, + Zero, + 0x12 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + Zero, + 0x13 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + Zero, + 0x10 + } + }) + } + Else + { + Return (Package (0x04) + { + Package (0x04) + { + 0xFFFF, + Zero, + ^^LPCB.LNKB, + Zero + }, + + Package (0x04) + { + 0xFFFF, + One, + ^^LPCB.LNKC, + Zero + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + ^^LPCB.LNKD, + Zero + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + ^^LPCB.LNKA, + Zero + } + }) + } + } + } + + Device (USB1) + { + Name (_ADR, 0x001D0000) + Device (HUB1) + { + Name (_ADR, Zero) + Device (PRT1) + { + Name (_ADR, One) + } + + Device (PRT2) + { + Name (_ADR, 0x02) + } + } + + OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) + Field (U1CS, DWordAcc, NoLock, Preserve) + { + U1EN, 2 + } + + Name (_PRW, Package (0x02) + { + 0x03, + 0x04 + }) + Method (_PSW, 1, NotSerialized) + { + If (Arg0) + { + Store (0x03, U1EN) + } + Else + { + Store (Zero, U1EN) + } + } + } + + Device (USB2) + { + Name (_ADR, 0x001D0001) + Device (HUB2) + { + Name (_ADR, Zero) + Device (PRT1) + { + Name (_ADR, One) + Name (_EJD, "\\_SB.PCI0.RP04.PXS4") + } + + Device (PRT2) + { + Name (_ADR, 0x02) + } + } + + OperationRegion (U2CS, PCI_Config, 0xC4, 0x04) + Field (U2CS, DWordAcc, NoLock, Preserve) + { + U2EN, 2 + } + + Name (_PRW, Package (0x02) + { + 0x04, + 0x04 + }) + Method (_PSW, 1, NotSerialized) + { + If (Arg0) + { + Store (0x03, U2EN) + } + Else + { + Store (Zero, U2EN) + } + } + } + + Device (USB3) + { + Name (_ADR, 0x001D0002) + Device (HUB3) + { + Name (_ADR, Zero) + Device (PRT1) + { + Name (_ADR, One) + Name (_EJD, "\\_SB.PCI0.RP03.PXS3") + } + + Device (PRT2) + { + Name (_ADR, 0x02) + } + } + + OperationRegion (U2CS, PCI_Config, 0xC4, 0x04) + Field (U2CS, DWordAcc, NoLock, Preserve) + { + U3EN, 2 + } + + Name (_PRW, Package (0x02) + { + 0x0C, + 0x04 + }) + Method (_PSW, 1, NotSerialized) + { + If (Arg0) + { + Store (0x03, U3EN) + } + Else + { + Store (Zero, U3EN) + } + } + } + + Device (USB4) + { + Name (_ADR, 0x001D0003) + Device (HUB4) + { + Name (_ADR, Zero) + Device (PRT1) + { + Name (_ADR, One) + Name (_EJD, "\\_SB.PCI0.RP02.PXS2") + } + + Device (PRT2) + { + Name (_ADR, 0x02) + } + } + + OperationRegion (U4CS, PCI_Config, 0xC4, 0x04) + Field (U4CS, DWordAcc, NoLock, Preserve) + { + U4EN, 2 + } + + Name (_PRW, Package (0x02) + { + 0x0E, + 0x04 + }) + Method (_PSW, 1, NotSerialized) + { + If (Arg0) + { + Store (0x03, U4EN) + } + Else + { + Store (Zero, U4EN) + } + } + } + + Device (USB7) + { + Name (_ADR, 0x001D0007) + Device (HUB7) + { + Name (_ADR, Zero) + Device (PRT1) + { + Name (_ADR, One) + } + + Device (PRT2) + { + Name (_ADR, 0x02) + } + + Device (PRT3) + { + Name (_ADR, 0x03) + Name (_EJD, "\\_SB.PCI0.RP04.PXS4") + } + + Device (PRT4) + { + Name (_ADR, 0x04) + } + + Device (PRT5) + { + Name (_ADR, 0x05) + Name (_EJD, "\\_SB.PCI0.RP03.PXS3") + } + + Device (PRT6) + { + Name (_ADR, 0x06) + } + + Device (PRT7) + { + Name (_ADR, 0x07) + Name (_EJD, "\\_SB.PCI0.RP02.PXS2") + } + + Device (PRT8) + { + Name (_ADR, 0x08) + } + } + + Name (_PRW, Package (0x02) + { + 0x0D, + 0x04 + }) + } + + Device (PCIB) + { + Name (_ADR, 0x001E0000) + Device (SLT0) + { + Name (_ADR, Zero) + Name (_PRW, Package (0x02) + { + 0x0B, + 0x04 + }) + } + + Device (SLT1) + { + Name (_ADR, 0x00010000) + Name (_PRW, Package (0x02) + { + 0x0B, + 0x04 + }) + } + + Device (SLT2) + { + Name (_ADR, 0x00020000) + Name (_PRW, Package (0x02) + { + 0x0B, + 0x04 + }) + } + + Device (SLT3) + { + Name (_ADR, 0x00030000) + Name (_PRW, Package (0x02) + { + 0x0B, + 0x04 + }) + } + + Device (SLT6) + { + Name (_ADR, 0x00050000) + Name (_PRW, Package (0x02) + { + 0x0B, + 0x04 + }) + } + + Device (LANC) + { + Name (_ADR, 0x00080000) + Name (_PRW, Package (0x02) + { + 0x0B, + 0x04 + }) + } + + Method (_PRT, 0, NotSerialized) + { + If (GPIC) + { + Return (Package (0x15) + { + Package (0x04) + { + 0xFFFF, + Zero, + Zero, + 0x15 + }, + + Package (0x04) + { + 0xFFFF, + One, + Zero, + 0x16 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + Zero, + 0x17 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + Zero, + 0x14 + }, + + Package (0x04) + { + 0x0001FFFF, + Zero, + Zero, + 0x16 + }, + + Package (0x04) + { + 0x0001FFFF, + One, + Zero, + 0x15 + }, + + Package (0x04) + { + 0x0001FFFF, + 0x02, + Zero, + 0x14 + }, + + Package (0x04) + { + 0x0001FFFF, + 0x03, + Zero, + 0x17 + }, + + Package (0x04) + { + 0x0002FFFF, + Zero, + Zero, + 0x12 + }, + + Package (0x04) + { + 0x0002FFFF, + One, + Zero, + 0x13 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x02, + Zero, + 0x11 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x03, + Zero, + 0x10 + }, + + Package (0x04) + { + 0x0003FFFF, + Zero, + Zero, + 0x13 + }, + + Package (0x04) + { + 0x0003FFFF, + One, + Zero, + 0x12 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x02, + Zero, + 0x15 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x03, + Zero, + 0x16 + }, + + Package (0x04) + { + 0x0005FFFF, + Zero, + Zero, + 0x11 + }, + + Package (0x04) + { + 0x0005FFFF, + One, + Zero, + 0x14 + }, + + Package (0x04) + { + 0x0005FFFF, + 0x02, + Zero, + 0x16 + }, + + Package (0x04) + { + 0x0005FFFF, + 0x03, + Zero, + 0x15 + }, + + Package (0x04) + { + 0x0008FFFF, + Zero, + Zero, + 0x14 + } + }) + } + Else + { + Return (Package (0x15) + { + Package (0x04) + { + 0xFFFF, + Zero, + ^^LPCB.LNKF, + Zero + }, + + Package (0x04) + { + 0xFFFF, + One, + ^^LPCB.LNKG, + Zero + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + ^^LPCB.LNKH, + Zero + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + ^^LPCB.LNKE, + Zero + }, + + Package (0x04) + { + 0x0001FFFF, + Zero, + ^^LPCB.LNKG, + Zero + }, + + Package (0x04) + { + 0x0001FFFF, + One, + ^^LPCB.LNKF, + Zero + }, + + Package (0x04) + { + 0x0001FFFF, + 0x02, + ^^LPCB.LNKE, + Zero + }, + + Package (0x04) + { + 0x0001FFFF, + 0x03, + ^^LPCB.LNKH, + Zero + }, + + Package (0x04) + { + 0x0002FFFF, + Zero, + ^^LPCB.LNKC, + Zero + }, + + Package (0x04) + { + 0x0002FFFF, + One, + ^^LPCB.LNKD, + Zero + }, + + Package (0x04) + { + 0x0002FFFF, + 0x02, + ^^LPCB.LNKB, + Zero + }, + + Package (0x04) + { + 0x0002FFFF, + 0x03, + ^^LPCB.LNKA, + Zero + }, + + Package (0x04) + { + 0x0003FFFF, + Zero, + ^^LPCB.LNKD, + Zero + }, + + Package (0x04) + { + 0x0003FFFF, + One, + ^^LPCB.LNKC, + Zero + }, + + Package (0x04) + { + 0x0003FFFF, + 0x02, + ^^LPCB.LNKF, + Zero + }, + + Package (0x04) + { + 0x0003FFFF, + 0x03, + ^^LPCB.LNKG, + Zero + }, + + Package (0x04) + { + 0x0005FFFF, + Zero, + ^^LPCB.LNKB, + Zero + }, + + Package (0x04) + { + 0x0005FFFF, + One, + ^^LPCB.LNKE, + Zero + }, + + Package (0x04) + { + 0x0005FFFF, + 0x02, + ^^LPCB.LNKG, + Zero + }, + + Package (0x04) + { + 0x0005FFFF, + 0x03, + ^^LPCB.LNKF, + Zero + }, + + Package (0x04) + { + 0x0008FFFF, + Zero, + ^^LPCB.LNKE, + Zero + } + }) + } + } + } + + Device (AUD0) + { + Name (_ADR, 0x001E0002) + } + + Device (MODM) + { + Name (_ADR, 0x001E0003) + Name (_PRW, Package (0x02) + { + 0x05, + 0x04 + }) + } + + Device (LPCB) + { + Name (_ADR, 0x001F0000) + OperationRegion (LPC0, PCI_Config, 0x40, 0xC0) + Field (LPC0, AnyAcc, NoLock, Preserve) + { + Offset (0x20), + PARC, 8, + PBRC, 8, + PCRC, 8, + PDRC, 8, + Offset (0x28), + PERC, 8, + PFRC, 8, + PGRC, 8, + PHRC, 8, + Offset (0x40), + IOD0, 8, + IOD1, 8 + } + + Device (LNKA) + { + Name (_HID, EisaId ("PNP0C0F")) + Name (_UID, One) + Method (_DIS, 0, Serialized) + { + Store (0x80, PARC) + } + + Name (_PRS, ResourceTemplate () + { + IRQ (Level, ActiveLow, Shared) + {1,3,4,5,6,7,10,12,14,15} + }) + Method (_CRS, 0, Serialized) + { + Name (RTLA, ResourceTemplate () + { + IRQ (Level, ActiveLow, Shared) + {} + }) + CreateWordField (RTLA, One, IRQ0) + Store (Zero, IRQ0) + ShiftLeft (One, And (PARC, 0x0F), IRQ0) + Return (RTLA) + } + + Method (_SRS, 1, Serialized) + { + CreateWordField (Arg0, One, IRQ0) + FindSetRightBit (IRQ0, Local0) + Decrement (Local0) + Store (Local0, PARC) + } + + Method (_STA, 0, Serialized) + { + If (And (PARC, 0x80)) + { + Return (0x09) + } + Else + { + Return (0x0B) + } + } + } + + Device (LNKB) + { + Name (_HID, EisaId ("PNP0C0F")) + Name (_UID, 0x02) + Method (_DIS, 0, Serialized) + { + Store (0x80, PBRC) + } + + Name (_PRS, ResourceTemplate () + { + IRQ (Level, ActiveLow, Shared) + {1,3,4,5,6,7,11,12,14,15} + }) + Method (_CRS, 0, Serialized) + { + Name (RTLB, ResourceTemplate () + { + IRQ (Level, ActiveLow, Shared) + {} + }) + CreateWordField (RTLB, One, IRQ0) + Store (Zero, IRQ0) + ShiftLeft (One, And (PBRC, 0x0F), IRQ0) + Return (RTLB) + } + + Method (_SRS, 1, Serialized) + { + CreateWordField (Arg0, One, IRQ0) + FindSetRightBit (IRQ0, Local0) + Decrement (Local0) + Store (Local0, PBRC) + } + + Method (_STA, 0, Serialized) + { + If (And (PBRC, 0x80)) + { + Return (0x09) + } + Else + { + Return (0x0B) + } + } + } + + Device (LNKC) + { + Name (_HID, EisaId ("PNP0C0F")) + Name (_UID, 0x03) + Method (_DIS, 0, Serialized) + { + Store (0x80, PCRC) + } + + Name (_PRS, ResourceTemplate () + { + IRQ (Level, ActiveLow, Shared) + {1,3,4,5,6,7,10,12,14,15} + }) + Method (_CRS, 0, Serialized) + { + Name (RTLC, ResourceTemplate () + { + IRQ (Level, ActiveLow, Shared) + {} + }) + CreateWordField (RTLC, One, IRQ0) + Store (Zero, IRQ0) + ShiftLeft (One, And (PCRC, 0x0F), IRQ0) + Return (RTLC) + } + + Method (_SRS, 1, Serialized) + { + CreateWordField (Arg0, One, IRQ0) + FindSetRightBit (IRQ0, Local0) + Decrement (Local0) + Store (Local0, PCRC) + } + + Method (_STA, 0, Serialized) + { + If (And (PCRC, 0x80)) + { + Return (0x09) + } + Else + { + Return (0x0B) + } + } + } + + Device (LNKD) + { + Name (_HID, EisaId ("PNP0C0F")) + Name (_UID, 0x04) + Method (_DIS, 0, Serialized) + { + Store (0x80, PDRC) + } + + Name (_PRS, ResourceTemplate () + { + IRQ (Level, ActiveLow, Shared) + {1,3,4,5,6,7,11,12,14,15} + }) + Method (_CRS, 0, Serialized) + { + Name (RTLD, ResourceTemplate () + { + IRQ (Level, ActiveLow, Shared) + {} + }) + CreateWordField (RTLD, One, IRQ0) + Store (Zero, IRQ0) + ShiftLeft (One, And (PDRC, 0x0F), IRQ0) + Return (RTLD) + } + + Method (_SRS, 1, Serialized) + { + CreateWordField (Arg0, One, IRQ0) + FindSetRightBit (IRQ0, Local0) + Decrement (Local0) + Store (Local0, PDRC) + } + + Method (_STA, 0, Serialized) + { + If (And (PDRC, 0x80)) + { + Return (0x09) + } + Else + { + Return (0x0B) + } + } + } + + Device (LNKE) + { + Name (_HID, EisaId ("PNP0C0F")) + Name (_UID, 0x05) + Method (_DIS, 0, Serialized) + { + Store (0x80, PERC) + } + + Name (_PRS, ResourceTemplate () + { + IRQ (Level, ActiveLow, Shared) + {1,3,4,5,6,7,10,12,14,15} + }) + Method (_CRS, 0, Serialized) + { + Name (RTLE, ResourceTemplate () + { + IRQ (Level, ActiveLow, Shared) + {} + }) + CreateWordField (RTLE, One, IRQ0) + Store (Zero, IRQ0) + ShiftLeft (One, And (PERC, 0x0F), IRQ0) + Return (RTLE) + } + + Method (_SRS, 1, Serialized) + { + CreateWordField (Arg0, One, IRQ0) + FindSetRightBit (IRQ0, Local0) + Decrement (Local0) + Store (Local0, PERC) + } + + Method (_STA, 0, Serialized) + { + If (And (PERC, 0x80)) + { + Return (0x09) + } + Else + { + Return (0x0B) + } + } + } + + Device (LNKF) + { + Name (_HID, EisaId ("PNP0C0F")) + Name (_UID, 0x06) + Method (_DIS, 0, Serialized) + { + Store (0x80, PFRC) + } + + Name (_PRS, ResourceTemplate () + { + IRQ (Level, ActiveLow, Shared) + {1,3,4,5,6,7,11,12,14,15} + }) + Method (_CRS, 0, Serialized) + { + Name (RTLF, ResourceTemplate () + { + IRQ (Level, ActiveLow, Shared) + {} + }) + CreateWordField (RTLF, One, IRQ0) + Store (Zero, IRQ0) + ShiftLeft (One, And (PFRC, 0x0F), IRQ0) + Return (RTLF) + } + + Method (_SRS, 1, Serialized) + { + CreateWordField (Arg0, One, IRQ0) + FindSetRightBit (IRQ0, Local0) + Decrement (Local0) + Store (Local0, PFRC) + } + + Method (_STA, 0, Serialized) + { + If (And (PFRC, 0x80)) + { + Return (0x09) + } + Else + { + Return (0x0B) + } + } + } + + Device (LNKG) + { + Name (_HID, EisaId ("PNP0C0F")) + Name (_UID, 0x07) + Method (_DIS, 0, Serialized) + { + Store (0x80, PGRC) + } + + Name (_PRS, ResourceTemplate () + { + IRQ (Level, ActiveLow, Shared) + {1,3,4,5,6,7,10,12,14,15} + }) + Method (_CRS, 0, Serialized) + { + Name (RTLG, ResourceTemplate () + { + IRQ (Level, ActiveLow, Shared) + {} + }) + CreateWordField (RTLG, One, IRQ0) + Store (Zero, IRQ0) + ShiftLeft (One, And (PGRC, 0x0F), IRQ0) + Return (RTLG) + } + + Method (_SRS, 1, Serialized) + { + CreateWordField (Arg0, One, IRQ0) + FindSetRightBit (IRQ0, Local0) + Decrement (Local0) + Store (Local0, PGRC) + } + + Method (_STA, 0, Serialized) + { + If (And (PGRC, 0x80)) + { + Return (0x09) + } + Else + { + Return (0x0B) + } + } + } + + Device (LNKH) + { + Name (_HID, EisaId ("PNP0C0F")) + Name (_UID, 0x08) + Method (_DIS, 0, Serialized) + { + Store (0x80, PHRC) + } + + Name (_PRS, ResourceTemplate () + { + IRQ (Level, ActiveLow, Shared) + {3,4,5,6,7,11,12,14,15} + }) + Method (_CRS, 0, Serialized) + { + Name (RTLH, ResourceTemplate () + { + IRQ (Level, ActiveLow, Shared) + {} + }) + CreateWordField (RTLH, One, IRQ0) + Store (Zero, IRQ0) + ShiftLeft (One, And (PHRC, 0x0F), IRQ0) + Return (RTLH) + } + + Method (_SRS, 1, Serialized) + { + CreateWordField (Arg0, One, IRQ0) + FindSetRightBit (IRQ0, Local0) + Decrement (Local0) + Store (Local0, PHRC) + } + + Method (_STA, 0, Serialized) + { + If (And (PHRC, 0x80)) + { + Return (0x09) + } + Else + { + Return (0x0B) + } + } + } + + Device (H_EC) + { + Name (_HID, EisaId ("PNP0C09")) + Name (_UID, One) + Method (_CRS, 0, NotSerialized) + { + Name (BFFR, ResourceTemplate () + { + IO (Decode16, + 0x0062, // Address Range Minimum + 0x0062, // Address Range Maximum + 0x00, // Address Alignment + 0x01, // Address Length + ) + IO (Decode16, + 0x0066, // Address Range Minimum + 0x0066, // Address Range Maximum + 0x00, // Address Alignment + 0x01, // Address Length + ) + }) + Return (BFFR) + } + + OperationRegion (ECF2, EmbeddedControl, Zero, 0xFF) + Field (ECF2, ByteAcc, Lock, Preserve) + { + Offset (0x01), + DTMP, 8, + LTMP, 8, + RPWR, 1, + , 2, + CFAN, 1, + , 2, + LSTE, 1, + Offset (0x04), + SPTR, 8, + SSTS, 8, + SADR, 8, + SCMD, 8, + SBFR, 256, + SCNT, 8, + Offset (0x2F), + CTMP, 8, + , 3, + PBNS, 1, + VPWR, 1, + Offset (0x31), + SCAN, 8, + B1ST, 8, + B1CR, 8, + B1CC, 8, + B1VT, 8, + B2ST, 8, + B2CR, 8, + B2CC, 8, + B2VT, 8, + CMDR, 8, + LUXH, 8, + LUXL, 8, + ACH0, 8, + ACH1, 8 + } + + Device (ALSD) + { + Name (_HID, "ACPI0008") + Method (_STA, 0, NotSerialized) + { + If (LEqual (ALSE, 0x02)) + { + Return (0x0F) + } + + Return (Zero) + } + + Method (_ALI, 0, NotSerialized) + { + Return (Or (ShiftLeft (LHIH, 0x08), LLOW)) + } + + Name (_ALR, Package (0x05) + { + Package (0x02) + { + 0x46, + Zero + }, + + Package (0x02) + { + 0x49, + 0x0A + }, + + Package (0x02) + { + 0x55, + 0x50 + }, + + Package (0x02) + { + 0x64, + 0x012C + }, + + Package (0x02) + { + 0x96, + 0x03E8 + } + }) + Method (ALA, 1, NotSerialized) + { + Store (Arg0, ALAF) + BRTW (BRTL) + } + } + + Device (EMAD) + { + Name (_HID, "ACPIEMAD") + OperationRegion (PRVT, SystemIO, 0x06A0, 0x08) + Field (PRVT, ByteAcc, NoLock, Preserve) + { + PVT0, 8, + Offset (0x04), + PVT1, 8 + } + + Method (_STA, 0, NotSerialized) + { + If (EMAE) + { + Return (0x0F) + } + + Return (Zero) + } + + Method (BLKW, 3, Serialized) + { + If (PIBC (0x1388)) + { + Return (Zero) + } + + Store (Zero, EMAP) + If (LLess (SizeOf (Arg2), 0x20)) + { + Store (SizeOf (Arg2), EMAL) + } + Else + { + Store (0x20, EMAL) + } + + While (LLess (EMAP, SizeOf (Arg2))) + { + Store (0xAC, PVT0) + If (IBFC (0x03E8)) + { + Return (Zero) + } + + Store (Arg0, PVT0) + If (IBFC (0x03E8)) + { + Return (Zero) + } + + Store (Arg1, PVT0) + If (IBFC (0x03E8)) + { + Return (Zero) + } + + Store (EMAL, PVT0) + If (IBFC (0x03E8)) + { + Return (Zero) + } + + Store (Zero, Local0) + While (LLess (Local0, EMAL)) + { + Store (DerefOf (Index (Arg2, EMAP)), PVT0) + If (IBFC (0x03E8)) + { + Return (Zero) + } + + Increment (Local0) + Increment (EMAP) + } + + If (PIBC (0x1388)) + { + Return (Zero) + } + + If (LGreater (Add (EMAP, EMAL), SizeOf (Arg2))) + { + Subtract (SizeOf (Arg2), EMAP, EMAL) + } + } + + Return (One) + } + + Method (GSTS, 1, Serialized) + { + If (PIBC (0x1388)) + { + Return (0xFFFF) + } + + Store (0xAD, PVT0) + If (IBFC (0x03E8)) + { + Return (0xFFFF) + } + + Store (Arg0, PVT0) + If (IBFC (0x03E8)) + { + Return (0xFFFF) + } + + If (OBFC (0x09C4)) + { + Return (PVT0) + } + Else + { + Return (0xFFFF) + } + } + + Method (IBFC, 1, Serialized) + { + Store (Arg0, Local0) + While (LAnd (And (PVT1, 0x02), Local0)) + { + Decrement (Local0) + Stall (One) + } + + Return (And (PVT1, 0x02)) + } + + Method (OBFC, 1, Serialized) + { + Store (Arg0, Local0) + While (LAnd (LEqual (And (PVT1, One), Zero), Local0)) + { + Decrement (Local0) + Stall (0x0A) + } + + Return (And (PVT1, One)) + } + + Method (PIBC, 1, Serialized) + { + Store (Arg0, Local0) + While (LAnd (And (PVT1, 0x04), Local0)) + { + Decrement (Local0) + Stall (0x64) + } + + Return (And (PVT1, 0x04)) + } + } + + Device (MEFD) + { + Name (_HID, "AWY0001") + Method (_STA, 0, NotSerialized) + { + If (MEFE) + { + Return (0x0F) + } + + Return (Zero) + } + + Method (ARPB, 0, Serialized) + { + If (ECON) + { + Store (0x73, CMDR) + Return (One) + } + + Return (Zero) + } + + Method (DAPB, 0, Serialized) + { + If (ECON) + { + Store (0x74, CMDR) + Return (One) + } + + Return (Zero) + } + + Method (GPBS, 0, Serialized) + { + If (ECON) + { + Return (XOr (PBNS, One)) + } + + Return (Zero) + } + + Method (SMOD, 1, Serialized) + { + If (Arg0) + { + P8XH (Zero, 0x55) + P8XH (One, 0x55) + } + Else + { + P8XH (Zero, 0xAA) + P8XH (One, 0xAA) + } + } + } + + Method (_REG, 2, NotSerialized) + { + If (LAnd (LEqual (Arg0, 0x03), LEqual (Arg1, One))) + { + Store (One, ECON) + If (LEqual (Zero, ACTT)) + { + Store (Zero, CFAN) + } + + Store (LUXH, LHIH) + Store (LUXL, LLOW) + If (LAnd (LEqual (ALSE, One), IGDS)) + { + TRAP (0x13) + } + + If (LNot (LEqual (LSTE, LIDS))) + { + Store (LSTE, LIDS) + If (IGDS) + { + LSDS (LIDS) + } + Else + { + TRAP (0x2A) + } + + Notify (LID0, 0x80) + } + + Store (Zero, BNUM) + Or (BNUM, ShiftRight (And (B1ST, 0x08), 0x03), BNUM) + Or (BNUM, ShiftRight (And (B2ST, 0x08), 0x02), BNUM) + If (LEqual (BNUM, Zero)) + { + Store (VPWR, PWRS) + } + Else + { + Store (RPWR, PWRS) + } + + TRAP (0x2B) + PNOT () + } + } + + Name (_GPE, 0x17) + Method (_Q30, 0, NotSerialized) + { + P8XH (Zero, 0x30) + Store (One, PWRS) + TRAP (0x2B) + PNOT () + } + + Method (_Q31, 0, NotSerialized) + { + P8XH (Zero, 0x31) + Store (Zero, PWRS) + TRAP (0x2B) + PNOT () + } + + Method (_Q32, 0, NotSerialized) + { + P8XH (Zero, 0x32) + PNOT () + } + + Method (_Q33, 0, NotSerialized) + { + P8XH (Zero, 0x33) + Store (Zero, BNUM) + Or (BNUM, ShiftRight (And (B1ST, 0x08), 0x03), BNUM) + Or (BNUM, ShiftRight (And (B2ST, 0x08), 0x02), BNUM) + PNOT () + } + + Method (_Q51, 0, NotSerialized) + { + P8XH (Zero, 0x51) + Store (LSTE, LIDS) + If (IGDS) + { + LSDS (LIDS) + } + Else + { + TRAP (0x2A) + } + + Notify (LID0, 0x80) + } + + Method (_Q52, 0, NotSerialized) + { + P8XH (Zero, 0x52) + P8XH (One, SCAN) + If (LEqual (BNUM, Zero)) + { + If (LEqual (SCAN, 0x02)) + { + BTTM (0x0A) + } + + If (LEqual (SCAN, 0x03)) + { + BTTM (0x14) + } + + If (LEqual (SCAN, 0x04)) + { + BTTM (0x1E) + } + + If (LEqual (SCAN, 0x05)) + { + BTTM (0x28) + } + + If (LEqual (SCAN, 0x06)) + { + BTTM (0x32) + } + + If (LEqual (SCAN, 0x07)) + { + BTTM (0x3C) + } + + If (LEqual (SCAN, 0x08)) + { + BTTM (0x46) + } + + If (LEqual (SCAN, 0x09)) + { + BTTM (0x50) + } + + If (LEqual (SCAN, 0x0A)) + { + BTTM (0x5A) + } + + If (LEqual (SCAN, 0x0B)) + { + BTTM (0x64) + } + + If (LEqual (SCAN, 0x0C)) + { + If (LNot (LLess (B0SC, 0x02))) + { + BTTM (Subtract (B0SC, 0x02)) + } + } + + If (LEqual (SCAN, 0x0D)) + { + If (LNot (LGreater (B0SC, 0x62))) + { + BTTM (Add (B0SC, 0x02)) + } + } + } + + If (LEqual (SCAN, 0x33)) + { + If (LLess (PPCS, PPCM)) + { + Add (PPCS, One, PPCS) + } + + PNOT () + } + + If (LEqual (SCAN, 0x34)) + { + If (LGreater (PPCS, Zero)) + { + Subtract (PPCS, One, PPCS) + } + + PNOT () + } + + If (LEqual (SCAN, 0x3B)) + { + If (IGDS) + { + Store (One, TLST) + HKDS (0x0A) + } + } + + If (LEqual (SCAN, 0x3C)) + { + If (IGDS) + { + Store (0x02, TLST) + HKDS (0x0A) + } + } + + If (LEqual (SCAN, 0x3D)) + { + If (IGDS) + { + Store (0x03, TLST) + HKDS (0x0A) + } + } + + If (LEqual (SCAN, 0x3E)) + { + If (IGDS) + { + Store (0x04, TLST) + HKDS (0x0A) + } + } + + If (LEqual (SCAN, 0x3F)) + { + If (LEqual (BNUM, Zero)) + { + XOr (PWRS, One, PWRS) + TRAP (0x2B) + PNOT () + } + } + + If (LEqual (SCAN, 0x42)) + { + If (IGDS) + { + TRAP (0x11) + } + } + + If (LEqual (SCAN, 0x43)) + { + If (IGDS) + { + If (LGreater (BRTL, Zero)) + { + BRTW (Subtract (BRTL, 0x0A)) + } + } + } + + If (LEqual (SCAN, 0x44)) + { + If (IGDS) + { + If (LLess (BRTL, 0x64)) + { + BRTW (Add (BRTL, 0x0A)) + } + } + } + + If (LEqual (SCAN, 0x58)) + { + If (IGDS) + { + TRAP (0x10) + } + } + + If (LEqual (SCAN, 0x10)) + { + XOr (GP12, One, GP12) + Sleep (0x01F4) + If (GP12) + { + If (IDEM) + { + Store (One, ^^^PATA.ICR4) + Notify (^^^PATA.PRID, Zero) + } + Else + { + Store (0x04, ^^^SATA.ICR4) + Notify (SATA, Zero) + } + } + Else + { + If (IDEM) + { + Store (Zero, ^^^SATA.MAPV) + Store (Zero, ^^^PATA.ICR4) + Sleep (0x01F4) + Notify (^^^PATA.PRID, Zero) + } + Else + { + Store (0x02, ^^^SATA.MAPV) + Store (Zero, ^^^SATA.ICR4) + Sleep (0x01F4) + Notify (SATA, Zero) + } + } + } + + If (LEqual (SCAN, 0x4A)) + { + Store (Zero, DBGS) + } + + If (LEqual (SCAN, 0x4E)) + { + Store (One, DBGS) + } + + If (LEqual (SCAN, 0x1C)) + { + BreakPoint + } + + If (LAnd (DTSE, LEqual (SCAN, 0x2C))) + { + TRAP (0x47) + } + + If (LAnd (DTSE, LEqual (SCAN, 0x2D))) + { + TRAP (0x48) + } + + If (LAnd (DTSE, LEqual (SCAN, 0x2E))) + { + TRAP (0x49) + } + + If (LAnd (DTSE, LEqual (SCAN, 0x2F))) + { + TRAP (0x4A) + } + + If (LAnd (DTSE, LEqual (SCAN, 0x30))) + { + TRAP (0x4B) + } + } + + Method (_Q53, 0, NotSerialized) + { + P8XH (Zero, 0x53) + If (LEqual (BNUM, Zero)) + { + If (LNot (LEqual (VPWR, PWRS))) + { + Store (VPWR, PWRS) + TRAP (0x2B) + PNOT () + } + } + } + + Method (_Q54, 0, NotSerialized) + { + P8XH (Zero, 0x54) + Notify (MEFD, 0x81) + } + + Method (_Q70, 0, NotSerialized) + { + Store (LUXH, LHIH) + Store (LUXL, LLOW) + If (LEqual (ALSE, 0x02)) + { + Notify (ALSD, 0x80) + } + Else + { + If (LAnd (IGDS, LEqual (ALSE, One))) + { + TRAP (0x13) + } + } + } + + Method (_QD0, 0, NotSerialized) + { + P8XH (Zero, 0xD0) + Notify (EMAD, 0x80) + } + + Method (_QD1, 0, NotSerialized) + { + P8XH (Zero, 0xD1) + Notify (EMAD, 0x81) + } + + Method (_QD2, 0, NotSerialized) + { + P8XH (Zero, 0xD2) + Notify (EMAD, 0x82) + } + + Method (_QD3, 0, NotSerialized) + { + P8XH (Zero, 0xD3) + Notify (EMAD, 0x83) + } + + Method (_QD4, 0, NotSerialized) + { + P8XH (Zero, 0xD4) + Notify (EMAD, 0x84) + } + + Method (_QF0, 0, NotSerialized) + { + If (LEqual (DBGS, Zero)) + { + Notify (\_TZ.TZ00, 0x80) + Notify (\_TZ.TZ01, 0x80) + } + } + } + + Device (DMAC) + { + Name (_HID, EisaId ("PNP0200")) + Name (_CRS, ResourceTemplate () + { + IO (Decode16, + 0x0000, // Address Range Minimum + 0x0000, // Address Range Maximum + 0x01, // Address Alignment + 0x20, // Address Length + ) + IO (Decode16, + 0x0081, // Address Range Minimum + 0x0081, // Address Range Maximum + 0x01, // Address Alignment + 0x11, // Address Length + ) + IO (Decode16, + 0x0093, // Address Range Minimum + 0x0093, // Address Range Maximum + 0x01, // Address Alignment + 0x0D, // Address Length + ) + IO (Decode16, + 0x00C0, // Address Range Minimum + 0x00C0, // Address Range Maximum + 0x01, // Address Alignment + 0x20, // Address Length + ) + DMA (Compatibility, NotBusMaster, Transfer8_16) + {4} + }) + } + + Device (FWHD) + { + Name (_HID, EisaId ("INT0800")) + Name (_CRS, ResourceTemplate () + { + Memory32Fixed (ReadOnly, + 0xFF000000, // Address Base + 0x01000000, // Address Length + ) + }) + } + + Device (HPET) + { + Name (_HID, EisaId ("PNP0103")) + Name (BUF0, ResourceTemplate () + { + Memory32Fixed (ReadOnly, + 0xFED00000, // Address Base + 0x00000400, // Address Length + ) + }) + Method (_STA, 0, NotSerialized) + { + If (LNot (LLess (OSYS, 0x07D1))) + { + If (HPAE) + { + Return (0x0F) + } + } + Else + { + If (HPAE) + { + Return (0x0B) + } + } + + Return (Zero) + } + + Method (_CRS, 0, Serialized) + { + If (HPAE) + { + CreateDWordField (BUF0, 0x04, HPT0) + If (LEqual (HPAS, One)) + { + Store (0xFED01000, HPT0) + } + + If (LEqual (HPAS, 0x02)) + { + Store (0xFED02000, HPT0) + } + + If (LEqual (HPAS, 0x03)) + { + Store (0xFED03000, HPT0) + } + } + + Return (BUF0) + } + } + + Device (IPIC) + { + Name (_HID, EisaId ("PNP0000")) + Name (_CRS, ResourceTemplate () + { + IO (Decode16, + 0x0020, // Address Range Minimum + 0x0020, // Address Range Maximum + 0x01, // Address Alignment + 0x02, // Address Length + ) + IO (Decode16, + 0x0024, // Address Range Minimum + 0x0024, // Address Range Maximum + 0x01, // Address Alignment + 0x02, // Address Length + ) + IO (Decode16, + 0x0028, // Address Range Minimum + 0x0028, // Address Range Maximum + 0x01, // Address Alignment + 0x02, // Address Length + ) + IO (Decode16, + 0x002C, // Address Range Minimum + 0x002C, // Address Range Maximum + 0x01, // Address Alignment + 0x02, // Address Length + ) + IO (Decode16, + 0x0030, // Address Range Minimum + 0x0030, // Address Range Maximum + 0x01, // Address Alignment + 0x02, // Address Length + ) + IO (Decode16, + 0x0034, // Address Range Minimum + 0x0034, // Address Range Maximum + 0x01, // Address Alignment + 0x02, // Address Length + ) + IO (Decode16, + 0x0038, // Address Range Minimum + 0x0038, // Address Range Maximum + 0x01, // Address Alignment + 0x02, // Address Length + ) + IO (Decode16, + 0x003C, // Address Range Minimum + 0x003C, // Address Range Maximum + 0x01, // Address Alignment + 0x02, // Address Length + ) + IO (Decode16, + 0x00A0, // Address Range Minimum + 0x00A0, // Address Range Maximum + 0x01, // Address Alignment + 0x02, // Address Length + ) + IO (Decode16, + 0x00A4, // Address Range Minimum + 0x00A4, // Address Range Maximum + 0x01, // Address Alignment + 0x02, // Address Length + ) + IO (Decode16, + 0x00A8, // Address Range Minimum + 0x00A8, // Address Range Maximum + 0x01, // Address Alignment + 0x02, // Address Length + ) + IO (Decode16, + 0x00AC, // Address Range Minimum + 0x00AC, // Address Range Maximum + 0x01, // Address Alignment + 0x02, // Address Length + ) + IO (Decode16, + 0x00B0, // Address Range Minimum + 0x00B0, // Address Range Maximum + 0x01, // Address Alignment + 0x02, // Address Length + ) + IO (Decode16, + 0x00B4, // Address Range Minimum + 0x00B4, // Address Range Maximum + 0x01, // Address Alignment + 0x02, // Address Length + ) + IO (Decode16, + 0x00B8, // Address Range Minimum + 0x00B8, // Address Range Maximum + 0x01, // Address Alignment + 0x02, // Address Length + ) + IO (Decode16, + 0x00BC, // Address Range Minimum + 0x00BC, // Address Range Maximum + 0x01, // Address Alignment + 0x02, // Address Length + ) + IO (Decode16, + 0x04D0, // Address Range Minimum + 0x04D0, // Address Range Maximum + 0x01, // Address Alignment + 0x02, // Address Length + ) + IRQNoFlags () + {2} + }) + } + + Device (MATH) + { + Name (_HID, EisaId ("PNP0C04")) + Name (_CRS, ResourceTemplate () + { + IO (Decode16, + 0x00F0, // Address Range Minimum + 0x00F0, // Address Range Maximum + 0x01, // Address Alignment + 0x01, // Address Length + ) + IRQNoFlags () + {13} + }) + } + + Device (LDRC) + { + Name (_HID, EisaId ("PNP0C02")) + Name (_UID, 0x02) + Name (_CRS, ResourceTemplate () + { + IO (Decode16, + 0x002E, // Address Range Minimum + 0x002E, // Address Range Maximum + 0x01, // Address Alignment + 0x02, // Address Length + ) + IO (Decode16, + 0x004E, // Address Range Minimum + 0x004E, // Address Range Maximum + 0x01, // Address Alignment + 0x02, // Address Length + ) + IO (Decode16, + 0x0061, // Address Range Minimum + 0x0061, // Address Range Maximum + 0x01, // Address Alignment + 0x01, // Address Length + ) + IO (Decode16, + 0x0063, // Address Range Minimum + 0x0063, // Address Range Maximum + 0x01, // Address Alignment + 0x01, // Address Length + ) + IO (Decode16, + 0x0065, // Address Range Minimum + 0x0065, // Address Range Maximum + 0x01, // Address Alignment + 0x01, // Address Length + ) + IO (Decode16, + 0x0067, // Address Range Minimum + 0x0067, // Address Range Maximum + 0x01, // Address Alignment + 0x01, // Address Length + ) + IO (Decode16, + 0x0070, // Address Range Minimum + 0x0070, // Address Range Maximum + 0x01, // Address Alignment + 0x01, // Address Length + ) + IO (Decode16, + 0x0080, // Address Range Minimum + 0x0080, // Address Range Maximum + 0x01, // Address Alignment + 0x01, // Address Length + ) + IO (Decode16, + 0x0092, // Address Range Minimum + 0x0092, // Address Range Maximum + 0x01, // Address Alignment + 0x01, // Address Length + ) + IO (Decode16, + 0x00B2, // Address Range Minimum + 0x00B2, // Address Range Maximum + 0x01, // Address Alignment + 0x02, // Address Length + ) + IO (Decode16, + 0x0680, // Address Range Minimum + 0x0680, // Address Range Maximum + 0x01, // Address Alignment + 0x20, // Address Length + ) + IO (Decode16, + 0x0800, // Address Range Minimum + 0x0800, // Address Range Maximum + 0x01, // Address Alignment + 0x10, // Address Length + ) + IO (Decode16, + 0x1000, // Address Range Minimum + 0x1000, // Address Range Maximum + 0x01, // Address Alignment + 0x80, // Address Length + ) + IO (Decode16, + 0x1180, // Address Range Minimum + 0x1180, // Address Range Maximum + 0x01, // Address Alignment + 0x40, // Address Length + ) + IO (Decode16, + 0x1640, // Address Range Minimum + 0x1640, // Address Range Maximum + 0x01, // Address Alignment + 0x10, // Address Length + ) + }) + } + + Device (CDRC) + { + Name (_HID, EisaId ("PNP0C02")) + Name (_UID, 0x03) + Name (BUF0, ResourceTemplate () + { + IO (Decode16, + 0x06B0, // Address Range Minimum + 0x06B0, // Address Range Maximum + 0x01, // Address Alignment + 0x40, // Address Length + ) + }) + Name (BUF1, ResourceTemplate () + { + IO (Decode16, + 0x06B0, // Address Range Minimum + 0x06B0, // Address Range Maximum + 0x01, // Address Alignment + 0x50, // Address Length + ) + }) + Name (BUF2, ResourceTemplate () + { + IO (Decode16, + 0x06A0, // Address Range Minimum + 0x06A0, // Address Range Maximum + 0x01, // Address Alignment + 0x10, // Address Length + ) + IO (Decode16, + 0x06B0, // Address Range Minimum + 0x06B0, // Address Range Maximum + 0x01, // Address Alignment + 0x40, // Address Length + ) + }) + Name (BUF3, ResourceTemplate () + { + IO (Decode16, + 0x06A0, // Address Range Minimum + 0x06A0, // Address Range Maximum + 0x01, // Address Alignment + 0x10, // Address Length + ) + IO (Decode16, + 0x06B0, // Address Range Minimum + 0x06B0, // Address Range Maximum + 0x01, // Address Alignment + 0x50, // Address Length + ) + }) + Method (_CRS, 0, Serialized) + { + If (LOr (EMAE, LNot (ECPC))) + { + If (CIRP) + { + Return (BUF0) + } + + Return (BUF1) + } + Else + { + If (CIRP) + { + Return (BUF2) + } + + Return (BUF3) + } + } + } + + Device (RTC) + { + Name (_HID, EisaId ("PNP0B00")) + Name (_CRS, ResourceTemplate () + { + IO (Decode16, + 0x0070, // Address Range Minimum + 0x0070, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {8} + }) + } + + Device (TIMR) + { + Name (_HID, EisaId ("PNP0100")) + Name (_CRS, ResourceTemplate () + { + IO (Decode16, + 0x0040, // Address Range Minimum + 0x0040, // Address Range Maximum + 0x01, // Address Alignment + 0x04, // Address Length + ) + IO (Decode16, + 0x0050, // Address Range Minimum + 0x0050, // Address Range Maximum + 0x10, // Address Alignment + 0x04, // Address Length + ) + IRQNoFlags () + {0} + }) + } + + Device (N393) + { + Name (_HID, EisaId ("PNP0A05")) + Name (_UID, One) + Method (_STA, 0, Serialized) + { + If (NATP) + { + Return (0x0F) + } + + Return (Zero) + } + + OperationRegion (N393, SystemIO, 0x2E, 0x02) + Field (N393, ByteAcc, Lock, Preserve) + { + INDX, 8, + DATA, 8 + } + + IndexField (INDX, DATA, ByteAcc, Lock, Preserve) + { + Offset (0x07), + R07H, 8, + Offset (0x20), + R20H, 8, + R21H, 8, + R22H, 8, + R23H, 8, + R24H, 8, + R25H, 8, + R26H, 8, + R27H, 8, + R28H, 8, + R29H, 8, + R2AH, 8, + Offset (0x30), + R30H, 8, + Offset (0x60), + R60H, 8, + R61H, 8, + Offset (0x70), + R70H, 8, + R71H, 8, + Offset (0x74), + R74H, 8, + R75H, 8, + Offset (0xF0), + RF0H, 8, + RF1H, 8 + } + + Device (COMA) + { + Name (_HID, EisaId ("PNP0501")) + Name (_UID, 0x02) + Method (_STA, 0, Serialized) + { + If (LAnd (NATP, CMAP)) + { + Store (0x03, R07H) + If (R30H) + { + Return (0x0F) + } + + Return (0x0D) + } + + Return (Zero) + } + + Method (_DIS, 0, Serialized) + { + Store (0x03, R07H) + Store (Zero, R30H) + } + + Method (_CRS, 0, Serialized) + { + Name (BUF0, ResourceTemplate () + { + IO (Decode16, + 0x03F8, // Address Range Minimum + 0x03F8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {4} + }) + Store (0x03, R07H) + If (LAnd (NATP, CMAP)) + { + CreateByteField (BUF0, 0x02, IOL0) + CreateByteField (BUF0, 0x03, IOH0) + CreateByteField (BUF0, 0x04, IOL1) + CreateByteField (BUF0, 0x05, IOH1) + CreateByteField (BUF0, 0x07, LEN0) + CreateWordField (BUF0, 0x09, IRQW) + Store (R60H, IOH0) + Store (R61H, IOL0) + Store (R60H, IOH1) + Store (R61H, IOL1) + Store (0x08, LEN0) + And (R70H, 0x0F, Local0) + If (Local0) + { + ShiftLeft (One, Local0, IRQW) + } + Else + { + Store (Zero, IRQW) + } + } + + Return (BUF0) + } + + Method (_PRS, 0, Serialized) + { + Name (BUF0, ResourceTemplate () + { + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x02E8, // Address Range Minimum + 0x02E8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {3} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x02F8, // Address Range Minimum + 0x02F8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {3} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x03E8, // Address Range Minimum + 0x03E8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {3} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x03F8, // Address Range Minimum + 0x03F8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {3} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x02E8, // Address Range Minimum + 0x02E8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {4} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x02F8, // Address Range Minimum + 0x02F8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {4} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x03E8, // Address Range Minimum + 0x03E8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {4} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x03F8, // Address Range Minimum + 0x03F8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {4} + } + EndDependentFn () + }) + Return (BUF0) + } + + Method (_SRS, 1, Serialized) + { + CreateByteField (Arg0, 0x02, IOLO) + CreateByteField (Arg0, 0x03, IOHI) + CreateWordField (Arg0, 0x09, IRQW) + Store (0x03, R07H) + Store (Zero, R30H) + Store (IOLO, R61H) + Store (IOHI, R60H) + FindSetRightBit (IRQW, Local0) + If (LNot (LEqual (IRQW, Zero))) + { + Decrement (Local0) + } + + Store (Local0, R70H) + And (IOD0, 0xF8, IOD0) + If (LEqual (IOHI, 0x03)) + { + If (LEqual (IOLO, 0xF8)) + { + Or (IOD0, Zero, IOD0) + } + Else + { + Or (IOD0, 0x07, IOD0) + } + } + Else + { + If (LEqual (IOLO, 0xF8)) + { + Or (IOD0, One, IOD0) + } + Else + { + Or (IOD0, 0x05, IOD0) + } + } + + Store (One, R30H) + } + + Method (_PS0, 0, Serialized) + { + Store (0x03, R07H) + Store (One, R30H) + } + + Method (_PS3, 0, Serialized) + { + Store (0x03, R07H) + Store (Zero, R30H) + } + } + + Device (COMB) + { + Name (_HID, EisaId ("PNP0501")) + Name (_UID, 0x03) + Method (_STA, 0, Serialized) + { + If (LAnd (NATP, CMBP)) + { + Store (0x02, R07H) + If (R30H) + { + Return (0x0F) + } + + Return (0x0D) + } + + Return (Zero) + } + + Method (_DIS, 0, Serialized) + { + Store (0x02, R07H) + Store (Zero, R30H) + } + + Method (_CRS, 0, Serialized) + { + Name (BUF0, ResourceTemplate () + { + IO (Decode16, + 0x02F8, // Address Range Minimum + 0x02F8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {3} + }) + Store (0x02, R07H) + If (LAnd (NATP, CMBP)) + { + CreateByteField (BUF0, 0x02, IOL0) + CreateByteField (BUF0, 0x03, IOH0) + CreateByteField (BUF0, 0x04, IOL1) + CreateByteField (BUF0, 0x05, IOH1) + CreateByteField (BUF0, 0x07, LEN0) + CreateWordField (BUF0, 0x09, IRQW) + Store (R60H, IOH0) + Store (R61H, IOL0) + Store (R60H, IOH1) + Store (R61H, IOL1) + Store (0x08, LEN0) + And (R70H, 0x0F, Local0) + If (Local0) + { + ShiftLeft (One, Local0, IRQW) + } + Else + { + Store (Zero, IRQW) + } + } + + Return (BUF0) + } + + Method (_PRS, 0, Serialized) + { + Name (BUF0, ResourceTemplate () + { + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x02E8, // Address Range Minimum + 0x02E8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {3} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x02F8, // Address Range Minimum + 0x02F8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {3} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x03E8, // Address Range Minimum + 0x03E8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {3} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x03F8, // Address Range Minimum + 0x03F8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {3} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x02E8, // Address Range Minimum + 0x02E8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {4} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x02F8, // Address Range Minimum + 0x02F8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {4} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x03E8, // Address Range Minimum + 0x03E8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {4} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x03F8, // Address Range Minimum + 0x03F8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {4} + } + EndDependentFn () + }) + Return (BUF0) + } + + Method (_SRS, 1, Serialized) + { + CreateByteField (Arg0, 0x02, IOLO) + CreateByteField (Arg0, 0x03, IOHI) + CreateWordField (Arg0, 0x09, IRQW) + Store (0x02, R07H) + Store (Zero, R30H) + Store (IOLO, R61H) + Store (IOHI, R60H) + FindSetRightBit (IRQW, Local0) + If (LNot (LEqual (IRQW, Zero))) + { + Decrement (Local0) + } + + Store (Local0, R70H) + And (IOD0, 0x8F, IOD0) + If (LEqual (IOHI, 0x03)) + { + If (LEqual (IOLO, 0xF8)) + { + Or (IOD0, Zero, IOD0) + } + Else + { + Or (IOD0, 0x70, IOD0) + } + } + Else + { + If (LEqual (IOLO, 0xF8)) + { + Or (IOD0, 0x10, IOD0) + } + Else + { + Or (IOD0, 0x50, IOD0) + } + } + + Store (One, R30H) + } + + Method (_PS0, 0, Serialized) + { + Store (0x02, R07H) + Store (One, R30H) + } + + Method (_PS3, 0, Serialized) + { + Store (0x02, R07H) + Store (Zero, R30H) + } + } + + Device (FDSK) + { + Name (_HID, EisaId ("PNP0700")) + Method (_STA, 0, Serialized) + { + If (LAnd (NATP, FDCP)) + { + Store (Zero, R07H) + If (R30H) + { + Return (0x0F) + } + + Return (0x0D) + } + + Return (Zero) + } + + Method (_DIS, 0, Serialized) + { + Store (Zero, R07H) + Store (Zero, R30H) + } + + Method (_CRS, 0, Serialized) + { + Name (BUF0, ResourceTemplate () + { + IO (Decode16, + 0x03F0, // Address Range Minimum + 0x03F0, // Address Range Maximum + 0x01, // Address Alignment + 0x06, // Address Length + ) + IO (Decode16, + 0x03F7, // Address Range Minimum + 0x03F7, // Address Range Maximum + 0x01, // Address Alignment + 0x01, // Address Length + ) + IRQNoFlags () + {6} + DMA (Compatibility, NotBusMaster, Transfer8_16) + {2} + }) + Store (Zero, R07H) + If (LAnd (NATP, FDCP)) + { + CreateByteField (BUF0, 0x02, IOL0) + CreateByteField (BUF0, 0x03, IOH0) + CreateByteField (BUF0, 0x04, IOL1) + CreateByteField (BUF0, 0x05, IOH1) + CreateByteField (BUF0, 0x07, LEN0) + CreateByteField (BUF0, 0x0A, IOL2) + CreateByteField (BUF0, 0x0B, IOH2) + CreateByteField (BUF0, 0x0C, IOL3) + CreateByteField (BUF0, 0x0D, IOH3) + CreateByteField (BUF0, 0x0F, LEN1) + CreateWordField (BUF0, 0x11, IRQW) + CreateByteField (BUF0, 0x14, DMA0) + Store (And (R61H, 0xF0), IOL0) + Store (R60H, IOH0) + If (LAnd (IOL0, IOH0)) + { + Store (IOL0, IOL1) + Store (IOH0, IOH1) + Store (Or (IOL0, 0x07), IOL2) + Store (IOH0, IOH2) + Store (IOL2, IOL3) + Store (IOH2, IOH3) + Store (0x06, LEN0) + Store (One, LEN1) + } + + And (R70H, 0x0F, Local0) + If (Local0) + { + ShiftLeft (One, Local0, IRQW) + } + Else + { + Store (Zero, IRQW) + } + + Store (R74H, Local0) + If (LEqual (Local0, 0x04)) + { + Store (Zero, DMA0) + } + Else + { + ShiftLeft (One, Local0, DMA0) + } + } + + Return (BUF0) + } + + Method (_PRS, 0, Serialized) + { + Name (BUF0, ResourceTemplate () + { + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x03F0, // Address Range Minimum + 0x03F0, // Address Range Maximum + 0x01, // Address Alignment + 0x06, // Address Length + ) + IO (Decode16, + 0x03F7, // Address Range Minimum + 0x03F7, // Address Range Maximum + 0x01, // Address Alignment + 0x01, // Address Length + ) + IRQNoFlags () + {6} + DMA (Compatibility, NotBusMaster, Transfer8_16) + {2} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x0370, // Address Range Minimum + 0x0370, // Address Range Maximum + 0x01, // Address Alignment + 0x06, // Address Length + ) + IO (Decode16, + 0x0377, // Address Range Minimum + 0x0377, // Address Range Maximum + 0x01, // Address Alignment + 0x01, // Address Length + ) + IRQNoFlags () + {6} + DMA (Compatibility, NotBusMaster, Transfer8_16) + {2} + } + EndDependentFn () + }) + Return (BUF0) + } + + Method (_SRS, 1, Serialized) + { + CreateByteField (Arg0, 0x02, IOLO) + CreateByteField (Arg0, 0x03, IOHI) + CreateWordField (Arg0, 0x11, IRQW) + CreateWordField (Arg0, 0x14, DMAC) + Store (Zero, R07H) + Store (Zero, R30H) + Store (IOLO, R61H) + Store (IOHI, R60H) + FindSetRightBit (IRQW, Local0) + If (LNot (LEqual (IRQW, Zero))) + { + Decrement (Local0) + } + + Store (Local0, R70H) + FindSetRightBit (DMAC, Local0) + If (LNot (LEqual (DMAC, Zero))) + { + Decrement (Local0) + } + + Store (Local0, R74H) + If (LEqual (IOLO, 0xF0)) + { + And (IOD1, 0xEF, IOD1) + } + Else + { + Or (IOD1, 0x10, IOD1) + } + + Store (One, R30H) + } + + Method (_PS0, 0, Serialized) + { + Store (Zero, R07H) + Store (One, R30H) + } + + Method (_PS3, 0, Serialized) + { + Store (Zero, R07H) + Store (Zero, R30H) + } + } + + Device (POUT) + { + Name (_HID, EisaId ("PNP0400")) + Name (_UID, One) + Method (_STA, 0, Serialized) + { + If (LEqual (And (RF0H, 0xE0), Zero)) + { + If (LAnd (NATP, LPTP)) + { + Store (One, R07H) + If (R30H) + { + Return (0x0F) + } + + Return (0x0D) + } + } + + Return (Zero) + } + + Method (_DIS, 0, Serialized) + { + Store (One, R07H) + If (LEqual (And (RF0H, 0xE0), Zero)) + { + Store (Zero, R30H) + } + } + + Method (_CRS, 0, Serialized) + { + Name (BUF0, ResourceTemplate () + { + IO (Decode16, + 0x0378, // Address Range Minimum + 0x0378, // Address Range Maximum + 0x01, // Address Alignment + 0x04, // Address Length + ) + IRQNoFlags () + {7} + }) + If (LEqual (And (RF0H, 0xE0), Zero)) + { + CreateByteField (BUF0, 0x02, IOL0) + CreateByteField (BUF0, 0x03, IOH0) + CreateByteField (BUF0, 0x04, IOL1) + CreateByteField (BUF0, 0x05, IOH1) + CreateByteField (BUF0, 0x07, LEN0) + CreateWordField (BUF0, 0x09, IRQW) + Store (One, R07H) + Store (R61H, IOL0) + Store (R60H, IOH0) + Store (IOL0, IOL1) + Store (IOH0, IOH1) + Store (0x04, LEN0) + If (And (R70H, 0x0F)) + { + ShiftLeft (One, And (R70H, 0x0F), IRQW) + } + Else + { + Store (Zero, IRQW) + } + } + + Return (BUF0) + } + + Method (_PRS, 0, Serialized) + { + Name (BUF0, ResourceTemplate () + { + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x0378, // Address Range Minimum + 0x0378, // Address Range Maximum + 0x01, // Address Alignment + 0x04, // Address Length + ) + IRQNoFlags () + {7} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x0278, // Address Range Minimum + 0x0278, // Address Range Maximum + 0x01, // Address Alignment + 0x04, // Address Length + ) + IRQNoFlags () + {7} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x03BC, // Address Range Minimum + 0x03BC, // Address Range Maximum + 0x01, // Address Alignment + 0x04, // Address Length + ) + IRQNoFlags () + {7} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x0378, // Address Range Minimum + 0x0378, // Address Range Maximum + 0x01, // Address Alignment + 0x04, // Address Length + ) + IRQNoFlags () + {5} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x0278, // Address Range Minimum + 0x0278, // Address Range Maximum + 0x01, // Address Alignment + 0x04, // Address Length + ) + IRQNoFlags () + {5} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x03BC, // Address Range Minimum + 0x03BC, // Address Range Maximum + 0x01, // Address Alignment + 0x04, // Address Length + ) + IRQNoFlags () + {5} + } + EndDependentFn () + }) + Return (BUF0) + } + + Method (_SRS, 1, Serialized) + { + CreateByteField (Arg0, 0x02, IOL0) + CreateByteField (Arg0, 0x03, IOH0) + CreateWordField (Arg0, 0x09, IRQW) + Store (One, R07H) + Store (Zero, R30H) + And (RF0H, 0x0F, RF0H) + Store (0x04, R74H) + Store (IOL0, R61H) + Store (IOH0, R60H) + FindSetRightBit (IRQW, Local0) + If (LNot (LEqual (IRQW, Zero))) + { + Decrement (Local0) + } + + Store (Local0, R70H) + And (IOD1, 0xFC, IOD1) + If (LEqual (IOH0, 0x03)) + { + If (LEqual (IOL0, 0x78)) + { + Or (IOD1, Zero, IOD1) + } + Else + { + Or (IOD1, 0x02, IOD1) + } + } + Else + { + Or (IOD1, One, IOD1) + } + + Store (One, R30H) + } + + Method (_PS0, 0, Serialized) + { + Store (One, R07H) + Store (One, R30H) + } + + Method (_PS3, 0, Serialized) + { + Store (One, R07H) + Store (Zero, R30H) + } + } + + Device (PBID) + { + Name (_HID, EisaId ("PNP0400")) + Name (_UID, 0x02) + Method (_STA, 0, Serialized) + { + Store (One, R07H) + If (LEqual (And (RF0H, 0xE0), 0x20)) + { + If (LAnd (NATP, LPTP)) + { + If (R30H) + { + Return (0x0F) + } + + Return (0x0D) + } + } + + Return (Zero) + } + + Method (_DIS, 0, Serialized) + { + Store (One, R07H) + If (LEqual (And (RF0H, 0xE0), 0x20)) + { + Store (Zero, R30H) + } + } + + Method (_CRS, 0, Serialized) + { + Name (BUF0, ResourceTemplate () + { + IO (Decode16, + 0x0378, // Address Range Minimum + 0x0378, // Address Range Maximum + 0x01, // Address Alignment + 0x04, // Address Length + ) + IRQNoFlags () + {7} + }) + If (LEqual (And (RF0H, 0xE0), 0x20)) + { + CreateByteField (BUF0, 0x02, IOL0) + CreateByteField (BUF0, 0x03, IOH0) + CreateByteField (BUF0, 0x04, IOL1) + CreateByteField (BUF0, 0x05, IOH1) + CreateByteField (BUF0, 0x07, LEN0) + CreateWordField (BUF0, 0x09, IRQW) + Store (One, R07H) + Store (R61H, IOL0) + Store (R60H, IOH0) + Store (IOL0, IOL1) + Store (IOH0, IOH1) + Store (0x04, LEN0) + If (And (R70H, 0x0F)) + { + ShiftLeft (One, And (R70H, 0x0F), IRQW) + } + Else + { + Store (Zero, IRQW) + } + } + + Return (BUF0) + } + + Method (_PRS, 0, Serialized) + { + Name (BUF0, ResourceTemplate () + { + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x0378, // Address Range Minimum + 0x0378, // Address Range Maximum + 0x01, // Address Alignment + 0x04, // Address Length + ) + IRQNoFlags () + {7} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x0278, // Address Range Minimum + 0x0278, // Address Range Maximum + 0x01, // Address Alignment + 0x04, // Address Length + ) + IRQNoFlags () + {7} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x03BC, // Address Range Minimum + 0x03BC, // Address Range Maximum + 0x01, // Address Alignment + 0x04, // Address Length + ) + IRQNoFlags () + {7} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x0378, // Address Range Minimum + 0x0378, // Address Range Maximum + 0x01, // Address Alignment + 0x04, // Address Length + ) + IRQNoFlags () + {5} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x0278, // Address Range Minimum + 0x0278, // Address Range Maximum + 0x01, // Address Alignment + 0x04, // Address Length + ) + IRQNoFlags () + {5} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x03BC, // Address Range Minimum + 0x03BC, // Address Range Maximum + 0x01, // Address Alignment + 0x04, // Address Length + ) + IRQNoFlags () + {5} + } + EndDependentFn () + }) + Return (BUF0) + } + + Method (_SRS, 1, Serialized) + { + CreateByteField (Arg0, 0x02, IOL0) + CreateByteField (Arg0, 0x03, IOH0) + CreateWordField (Arg0, 0x09, IRQW) + Store (One, R07H) + Store (Zero, R30H) + Or (And (RF0H, 0x0F), 0x20, RF0H) + Store (0x04, R74H) + Store (IOL0, R61H) + Store (IOH0, R60H) + FindSetRightBit (IRQW, Local0) + If (LNot (LEqual (IRQW, Zero))) + { + Decrement (Local0) + } + + Store (Local0, R70H) + And (IOD1, 0xFC, IOD1) + If (LEqual (IOH0, 0x03)) + { + If (LEqual (IOL0, 0x78)) + { + Or (IOD1, Zero, IOD1) + } + Else + { + Or (IOD1, 0x02, IOD1) + } + } + Else + { + Or (IOD1, One, IOD1) + } + + Store (One, R30H) + } + + Method (_PS0, 0, Serialized) + { + Store (One, R07H) + Store (One, R30H) + } + + Method (_PS3, 0, Serialized) + { + Store (One, R07H) + Store (Zero, R30H) + } + } + + Device (PEPP) + { + Name (_HID, EisaId ("PNP0400")) + Name (_UID, 0x03) + Method (_STA, 0, Serialized) + { + Store (One, R07H) + If (LEqual (And (RF0H, 0xE0), 0x60)) + { + If (LAnd (NATP, LPTP)) + { + If (R30H) + { + Return (0x0F) + } + Else + { + Return (0x0D) + } + } + } + + Return (Zero) + } + + Method (_DIS, 0, Serialized) + { + Store (One, R07H) + If (LEqual (And (RF0H, 0xE0), 0x60)) + { + Store (Zero, R30H) + } + } + + Method (_CRS, 0, Serialized) + { + Name (BUF0, ResourceTemplate () + { + IO (Decode16, + 0x0378, // Address Range Minimum + 0x0378, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {7} + }) + If (LEqual (And (RF0H, 0xE0), 0x60)) + { + CreateByteField (BUF0, 0x02, IOL0) + CreateByteField (BUF0, 0x03, IOH0) + CreateByteField (BUF0, 0x04, IOL1) + CreateByteField (BUF0, 0x05, IOH1) + CreateByteField (BUF0, 0x07, LEN0) + CreateWordField (BUF0, 0x09, IRQW) + Store (One, R07H) + Store (R61H, IOL0) + Store (R60H, IOH0) + Store (IOL0, IOL1) + Store (IOH0, IOH1) + Store (0x08, LEN0) + If (And (R70H, 0x0F)) + { + ShiftLeft (One, And (R70H, 0x0F), IRQW) + } + Else + { + Store (Zero, IRQW) + } + } + + Return (BUF0) + } + + Method (_PRS, 0, Serialized) + { + Name (BUF0, ResourceTemplate () + { + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x0378, // Address Range Minimum + 0x0378, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {7} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x0278, // Address Range Minimum + 0x0278, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {7} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x0378, // Address Range Minimum + 0x0378, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {5} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x0278, // Address Range Minimum + 0x0278, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {5} + } + EndDependentFn () + }) + Return (BUF0) + } + + Method (_SRS, 1, Serialized) + { + CreateByteField (Arg0, 0x02, IOL0) + CreateByteField (Arg0, 0x03, IOH0) + CreateWordField (Arg0, 0x09, IRQW) + Store (One, R07H) + Store (Zero, R30H) + Or (And (RF0H, 0x0F), 0x60, RF0H) + Store (0x04, R74H) + Store (IOL0, R61H) + Store (IOH0, R60H) + FindSetRightBit (IRQW, Local0) + If (LNot (LEqual (IRQW, Zero))) + { + Decrement (Local0) + } + + Store (Local0, R70H) + And (IOD1, 0xFC, IOD1) + If (LEqual (IOH0, 0x03)) + { + Or (IOD1, Zero, IOD1) + } + Else + { + Or (IOD1, One, IOD1) + } + + Store (One, R30H) + } + + Method (_PS0, 0, Serialized) + { + Store (One, R07H) + Store (One, R30H) + } + + Method (_PS3, 0, Serialized) + { + Store (One, R07H) + Store (Zero, R30H) + } + } + + Device (PECP) + { + Name (_HID, EisaId ("PNP0401")) + Name (_UID, 0x04) + Method (_STA, 0, Serialized) + { + Store (One, R07H) + If (LEqual (And (RF0H, 0xE0), 0xE0)) + { + If (LAnd (NATP, LPTP)) + { + If (R30H) + { + Return (0x0F) + } + Else + { + Return (0x0D) + } + } + } + + Return (Zero) + } + + Method (_DIS, 0, Serialized) + { + Store (One, R07H) + If (LEqual (And (RF0H, 0xE0), 0xE0)) + { + Store (Zero, R30H) + } + } + + Method (_CRS, 0, Serialized) + { + Name (BUF0, ResourceTemplate () + { + IO (Decode16, + 0x0378, // Address Range Minimum + 0x0378, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IO (Decode16, + 0x0778, // Address Range Minimum + 0x0778, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {7} + DMA (Compatibility, NotBusMaster, Transfer8_16) + {1} + }) + If (LEqual (And (RF0H, 0xE0), 0xE0)) + { + CreateByteField (BUF0, 0x02, IOL0) + CreateByteField (BUF0, 0x03, IOH0) + CreateByteField (BUF0, 0x04, IOL1) + CreateByteField (BUF0, 0x05, IOH1) + CreateByteField (BUF0, 0x07, LEN0) + CreateByteField (BUF0, 0x0A, IOL2) + CreateByteField (BUF0, 0x0B, IOH2) + CreateByteField (BUF0, 0x0C, IOL3) + CreateByteField (BUF0, 0x0D, IOH3) + CreateByteField (BUF0, 0x0F, LEN1) + CreateWordField (BUF0, 0x11, IRQW) + CreateByteField (BUF0, 0x14, DMA0) + Store (One, R07H) + Store (R61H, IOL0) + Store (R60H, IOH0) + Store (IOL0, IOL1) + Store (IOH0, IOH1) + Store (IOL0, IOL2) + Store (Add (0x04, IOH0), IOH2) + Store (IOL0, IOL3) + Store (Add (0x04, IOH0), IOH3) + Store (0x08, LEN0) + Store (0x08, LEN1) + And (R70H, 0x0F, Local0) + If (Local0) + { + ShiftLeft (One, Local0, IRQW) + } + Else + { + Store (Zero, IRQW) + } + + Store (R74H, Local0) + If (LEqual (Local0, 0x04)) + { + Store (Zero, DMA0) + } + Else + { + ShiftLeft (One, Local0, DMA0) + } + } + + Return (BUF0) + } + + Method (_PRS, 0, Serialized) + { + Name (BUF0, ResourceTemplate () + { + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x0378, // Address Range Minimum + 0x0378, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IO (Decode16, + 0x0778, // Address Range Minimum + 0x0778, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {7} + DMA (Compatibility, NotBusMaster, Transfer8_16) + {3} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x0278, // Address Range Minimum + 0x0278, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IO (Decode16, + 0x0678, // Address Range Minimum + 0x0678, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {7} + DMA (Compatibility, NotBusMaster, Transfer8_16) + {3} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x0378, // Address Range Minimum + 0x0378, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IO (Decode16, + 0x0778, // Address Range Minimum + 0x0778, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {5} + DMA (Compatibility, NotBusMaster, Transfer8_16) + {3} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x0278, // Address Range Minimum + 0x0278, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IO (Decode16, + 0x0678, // Address Range Minimum + 0x0678, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {5} + DMA (Compatibility, NotBusMaster, Transfer8_16) + {3} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x0378, // Address Range Minimum + 0x0378, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IO (Decode16, + 0x0778, // Address Range Minimum + 0x0778, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {7} + DMA (Compatibility, NotBusMaster, Transfer8_16) + {1} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x0278, // Address Range Minimum + 0x0278, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IO (Decode16, + 0x0678, // Address Range Minimum + 0x0678, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {7} + DMA (Compatibility, NotBusMaster, Transfer8_16) + {1} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x0378, // Address Range Minimum + 0x0378, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IO (Decode16, + 0x0778, // Address Range Minimum + 0x0778, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {5} + DMA (Compatibility, NotBusMaster, Transfer8_16) + {1} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x0278, // Address Range Minimum + 0x0278, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IO (Decode16, + 0x0678, // Address Range Minimum + 0x0678, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {5} + DMA (Compatibility, NotBusMaster, Transfer8_16) + {1} + } + EndDependentFn () + }) + Return (BUF0) + } + + Method (_SRS, 1, Serialized) + { + CreateByteField (Arg0, 0x02, IOL0) + CreateByteField (Arg0, 0x03, IOH0) + CreateWordField (Arg0, 0x11, IRQW) + CreateByteField (Arg0, 0x14, DMA0) + Store (One, R07H) + Store (Zero, R30H) + Or (RF0H, 0xF0, RF0H) + Store (IOL0, R61H) + Store (IOH0, R60H) + FindSetRightBit (IRQW, Local0) + If (LNot (LEqual (IRQW, Zero))) + { + Decrement (Local0) + } + + Store (Local0, R70H) + FindSetRightBit (DMA0, Local0) + If (LNot (LEqual (DMA0, Zero))) + { + Decrement (Local0) + } + + Store (Local0, R74H) + And (IOD1, 0xFC, IOD1) + If (LEqual (IOH0, 0x03)) + { + Or (IOD1, Zero, IOD1) + } + Else + { + Or (IOD1, One, IOD1) + } + + Store (One, R30H) + } + + Method (_PS0, 0, Serialized) + { + Store (One, R07H) + Store (One, R30H) + } + + Method (_PS3, 0, Serialized) + { + Store (One, R07H) + Store (Zero, R30H) + } + } + } + + Device (N207) + { + Name (_HID, EisaId ("PNP0A05")) + Name (_UID, 0x02) + OperationRegion (N207, SystemIO, 0x164E, 0x02) + Field (N207, ByteAcc, Lock, Preserve) + { + INDX, 8, + DATA, 8 + } + + IndexField (INDX, DATA, ByteAcc, Lock, Preserve) + { + Offset (0x02), + CR02, 8, + Offset (0x24), + CR24, 8, + CR25, 8, + Offset (0x28), + CR28, 8, + Offset (0x3A), + CR3A, 8, + CR3B, 8, + CR3C, 8, + Offset (0x55), + CR55, 8, + Offset (0xAA), + CRAA, 8 + } + + Device (UART) + { + Name (_HID, EisaId ("PNP0501")) + Name (_UID, One) + Name (_PRW, Package (0x02) + { + 0x08, + 0x03 + }) + Method (_STA, 0, Serialized) + { + If (CMCP) + { + Store (Zero, CR55) + Store (CR02, Local0) + Store (Zero, CRAA) + If (And (Local0, 0x08)) + { + Return (0x0F) + } + + Return (0x0D) + } + + Return (Zero) + } + + Method (_DIS, 0, Serialized) + { + Store (Zero, CR55) + Store (And (CR02, 0xF0), CR02) + Store (Zero, CRAA) + } + + Method (_CRS, 0, Serialized) + { + Name (BUF0, ResourceTemplate () + { + IO (Decode16, + 0x03F8, // Address Range Minimum + 0x03F8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {4} + }) + If (CMCP) + { + CreateByteField (BUF0, 0x02, IOL0) + CreateByteField (BUF0, 0x03, IOH0) + CreateByteField (BUF0, 0x04, IOL1) + CreateByteField (BUF0, 0x05, IOH1) + CreateByteField (BUF0, 0x07, LEN0) + CreateWordField (BUF0, 0x09, IRQW) + Store (Zero, CR55) + ShiftLeft (CR24, 0x02, IOL0) + ShiftLeft (CR24, 0x02, IOL1) + ShiftRight (CR24, 0x06, IOH0) + ShiftRight (CR24, 0x06, IOH1) + Store (0x08, LEN0) + ShiftLeft (One, ShiftRight (And (CR28, 0xF0), 0x04), IRQW) + Store (Zero, CRAA) + } + + Return (BUF0) + } + + Method (_PRS, 0, Serialized) + { + Name (BUF0, ResourceTemplate () + { + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x02E8, // Address Range Minimum + 0x02E8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {3} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x02F8, // Address Range Minimum + 0x02F8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {3} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x03E8, // Address Range Minimum + 0x03E8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {3} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x03F8, // Address Range Minimum + 0x03F8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {3} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x02E8, // Address Range Minimum + 0x02E8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {4} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x02F8, // Address Range Minimum + 0x02F8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {4} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x03E8, // Address Range Minimum + 0x03E8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {4} + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x03F8, // Address Range Minimum + 0x03F8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {4} + } + EndDependentFn () + }) + Return (BUF0) + } + + Method (_SRS, 1, Serialized) + { + CreateByteField (Arg0, 0x02, IOLO) + CreateByteField (Arg0, 0x03, IOHI) + CreateWordField (Arg0, 0x09, IRQW) + Store (Zero, CR55) + Store (And (CR02, 0xF0), CR02) + Store (ShiftRight (IOLO, 0x02), CR24) + Or (CR24, ShiftLeft (IOHI, 0x06), CR24) + And (CR28, 0x0F, CR28) + Or (CR28, ShiftLeft (Subtract (FindSetRightBit (IRQW), One), 0x04), CR28) + And (IOD0, 0xF8, IOD0) + If (LEqual (IOHI, 0x03)) + { + If (LEqual (IOLO, 0xF8)) + { + Or (IOD0, Zero, IOD0) + } + Else + { + Or (IOD0, 0x07, IOD0) + } + } + Else + { + If (LEqual (IOLO, 0xF8)) + { + Or (IOD0, One, IOD0) + } + Else + { + Or (IOD0, 0x05, IOD0) + } + } + + Store (Or (CR02, 0x08), CR02) + Store (Zero, CRAA) + } + + Method (_PS0, 0, Serialized) + { + Store (Zero, CR55) + Store (Or (CR02, 0x08), CR02) + Store (Zero, CRAA) + } + + Method (_PS3, 0, Serialized) + { + Store (Zero, CR55) + Store (And (CR02, 0xF0), CR02) + Store (Zero, CRAA) + } + } + + Device (URT2) + { + Name (_HID, EisaId ("PNP0510")) + Method (_STA, 0, Serialized) + { + If (CIRP) + { + Store (Zero, CR55) + Store (CR02, Local0) + Store (Zero, CRAA) + If (And (Local0, 0x80)) + { + Return (0x0F) + } + + Return (0x0D) + } + + Return (Zero) + } + + Method (_DIS, 0, Serialized) + { + Store (Zero, CR55) + Store (And (CR02, 0x0F), CR02) + Store (Zero, CRAA) + } + + Method (_CRS, 0, Serialized) + { + Name (BUF0, ResourceTemplate () + { + IO (Decode16, + 0x03E8, // Address Range Minimum + 0x03E8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {3} + DMA (Compatibility, NotBusMaster, Transfer8_16) + {2} + IO (Decode16, + 0x06F0, // Address Range Minimum + 0x06F0, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + }) + If (CIRP) + { + CreateByteField (BUF0, 0x02, IOL0) + CreateByteField (BUF0, 0x03, IOH0) + CreateByteField (BUF0, 0x04, IOL1) + CreateByteField (BUF0, 0x05, IOH1) + CreateByteField (BUF0, 0x07, LEN0) + CreateWordField (BUF0, 0x09, IRQW) + Store (Zero, CR55) + ShiftLeft (CR25, 0x02, IOL0) + ShiftLeft (CR25, 0x02, IOL1) + ShiftRight (CR25, 0x06, IOH0) + ShiftRight (CR25, 0x06, IOH1) + Store (0x08, LEN0) + ShiftLeft (One, And (CR28, 0xF0), IRQW) + Store (Zero, CRAA) + } + + Return (BUF0) + } + + Method (_PRS, 0, Serialized) + { + Name (BUF0, ResourceTemplate () + { + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x02E8, // Address Range Minimum + 0x02E8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {3} + DMA (Compatibility, NotBusMaster, Transfer8_16) + {2} + IO (Decode16, + 0x06F0, // Address Range Minimum + 0x06F0, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x02F8, // Address Range Minimum + 0x02F8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {3} + DMA (Compatibility, NotBusMaster, Transfer8_16) + {2} + IO (Decode16, + 0x06F0, // Address Range Minimum + 0x06F0, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x03E8, // Address Range Minimum + 0x03E8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {3} + DMA (Compatibility, NotBusMaster, Transfer8_16) + {2} + IO (Decode16, + 0x06F0, // Address Range Minimum + 0x06F0, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x03F8, // Address Range Minimum + 0x03F8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {3} + DMA (Compatibility, NotBusMaster, Transfer8_16) + {2} + IO (Decode16, + 0x06F0, // Address Range Minimum + 0x06F0, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x02E8, // Address Range Minimum + 0x02E8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {4} + DMA (Compatibility, NotBusMaster, Transfer8_16) + {2} + IO (Decode16, + 0x06F0, // Address Range Minimum + 0x06F0, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x02F8, // Address Range Minimum + 0x02F8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {4} + DMA (Compatibility, NotBusMaster, Transfer8_16) + {2} + IO (Decode16, + 0x06F0, // Address Range Minimum + 0x06F0, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x03E8, // Address Range Minimum + 0x03E8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {4} + DMA (Compatibility, NotBusMaster, Transfer8_16) + {2} + IO (Decode16, + 0x06F0, // Address Range Minimum + 0x06F0, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + } + StartDependentFn (0x00, 0x02) + { + IO (Decode16, + 0x03F8, // Address Range Minimum + 0x03F8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + IRQNoFlags () + {4} + DMA (Compatibility, NotBusMaster, Transfer8_16) + {2} + IO (Decode16, + 0x06F0, // Address Range Minimum + 0x06F0, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + } + EndDependentFn () + }) + Return (BUF0) + } + + Method (_SRS, 1, Serialized) + { + CreateByteField (Arg0, 0x02, IOLO) + CreateByteField (Arg0, 0x03, IOHI) + CreateWordField (Arg0, 0x09, IRQW) + Store (Zero, CR55) + Store (And (CR02, 0x0F), CR02) + Store (ShiftRight (IOLO, 0x02), CR25) + Or (CR25, ShiftLeft (IOHI, 0x06), CR25) + And (CR28, 0xF0, CR28) + Or (CR28, Subtract (FindSetRightBit (IRQW), One), CR28) + And (IOD0, 0xF8, IOD0) + If (LEqual (IOHI, 0x03)) + { + If (LEqual (IOLO, 0xF8)) + { + Or (IOD0, Zero, IOD0) + } + Else + { + Or (IOD0, 0x07, IOD0) + } + } + Else + { + If (LEqual (IOLO, 0xF8)) + { + Or (IOD0, One, IOD0) + } + Else + { + Or (IOD0, 0x05, IOD0) + } + } + + Store (Or (CR02, 0x80), CR02) + Store (Zero, CRAA) + } + + Method (_PS0, 0, Serialized) + { + Store (Zero, CR55) + Store (Or (CR02, 0x80), CR02) + Store (Zero, CRAA) + } + + Method (_PS3, 0, Serialized) + { + Store (Zero, CR55) + Store (And (CR02, 0x0F), CR02) + Store (Zero, CRAA) + } + } + } + + Device (PS2K) + { + Name (_HID, EisaId ("PNP0303")) + Name (_CRS, ResourceTemplate () + { + IO (Decode16, + 0x0060, // Address Range Minimum + 0x0060, // Address Range Maximum + 0x01, // Address Alignment + 0x01, // Address Length + ) + IO (Decode16, + 0x0064, // Address Range Minimum + 0x0064, // Address Range Maximum + 0x01, // Address Alignment + 0x01, // Address Length + ) + IRQ (Edge, ActiveHigh, Exclusive) + {1} + }) + } + + Device (PS2M) + { + Name (_HID, EisaId ("PNP0F13")) + Name (_CRS, ResourceTemplate () + { + IRQ (Edge, ActiveHigh, Exclusive) + {12} + }) + } + } + + Device (PATA) + { + Name (_ADR, 0x001F0001) + OperationRegion (PACS, PCI_Config, 0x40, 0xC0) + Field (PACS, DWordAcc, NoLock, Preserve) + { + PRIT, 16, + Offset (0x04), + PSIT, 4, + Offset (0x08), + SYNC, 4, + Offset (0x0A), + SDT0, 2, + , 2, + SDT1, 2, + Offset (0x14), + ICR0, 4, + ICR1, 4, + ICR2, 4, + ICR3, 4, + ICR4, 4, + ICR5, 4 + } + + Device (PRID) + { + Name (_ADR, Zero) + Method (_GTM, 0, NotSerialized) + { + Name (PBUF, Buffer (0x14) + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00 + }) + CreateDWordField (PBUF, Zero, PIO0) + CreateDWordField (PBUF, 0x04, DMA0) + CreateDWordField (PBUF, 0x08, PIO1) + CreateDWordField (PBUF, 0x0C, DMA1) + CreateDWordField (PBUF, 0x10, FLAG) + Store (GETP (PRIT), PIO0) + Store (GDMA (And (SYNC, One), And (ICR3, One), And (ICR0, One), SDT0, And (ICR1, One)), DMA0) + If (LEqual (DMA0, Ones)) + { + Store (PIO0, DMA0) + } + + If (And (PRIT, 0x4000)) + { + If (LEqual (And (PRIT, 0x90), 0x80)) + { + Store (0x0384, PIO1) + } + Else + { + Store (GETT (PSIT), PIO1) + } + } + Else + { + Store (Ones, PIO1) + } + + Store (GDMA (And (SYNC, 0x02), And (ICR3, 0x02), And (ICR0, 0x02), SDT1, And (ICR1, 0x02)), DMA1) + If (LEqual (DMA1, Ones)) + { + Store (PIO1, DMA1) + } + + Store (GETF (And (SYNC, One), And (SYNC, 0x02), PRIT), FLAG) + If (And (LEqual (PIO0, Ones), LEqual (DMA0, Ones))) + { + Store (0x78, PIO0) + Store (0x14, DMA0) + Store (0x03, FLAG) + } + + Return (PBUF) + } + + Method (_STM, 3, NotSerialized) + { + CreateDWordField (Arg0, Zero, PIO0) + CreateDWordField (Arg0, 0x04, DMA0) + CreateDWordField (Arg0, 0x08, PIO1) + CreateDWordField (Arg0, 0x0C, DMA1) + CreateDWordField (Arg0, 0x10, FLAG) + If (LEqual (SizeOf (Arg1), 0x0200)) + { + And (PRIT, 0x40F0, PRIT) + And (SYNC, 0x02, SYNC) + Store (Zero, SDT0) + And (ICR0, 0x02, ICR0) + And (ICR1, 0x02, ICR1) + And (ICR3, 0x02, ICR3) + And (ICR5, 0x02, ICR5) + CreateWordField (Arg1, 0x62, W490) + CreateWordField (Arg1, 0x6A, W530) + CreateWordField (Arg1, 0x7E, W630) + CreateWordField (Arg1, 0x80, W640) + CreateWordField (Arg1, 0xB0, W880) + CreateWordField (Arg1, 0xBA, W930) + Or (PRIT, 0x8004, PRIT) + If (LAnd (And (FLAG, 0x02), And (W490, 0x0800))) + { + Or (PRIT, 0x02, PRIT) + } + + Or (PRIT, SETP (PIO0, W530, W640), PRIT) + If (And (FLAG, One)) + { + Or (SYNC, One, SYNC) + Store (SDMA (DMA0), SDT0) + If (LLess (DMA0, 0x1E)) + { + Or (ICR3, One, ICR3) + } + + If (LLess (DMA0, 0x3C)) + { + Or (ICR0, One, ICR0) + } + + If (And (W930, 0x2000)) + { + Or (ICR1, One, ICR1) + } + } + } + + If (LEqual (SizeOf (Arg2), 0x0200)) + { + And (PRIT, 0x3F0F, PRIT) + Store (Zero, PSIT) + And (SYNC, One, SYNC) + Store (Zero, SDT1) + And (ICR0, One, ICR0) + And (ICR1, One, ICR1) + And (ICR3, One, ICR3) + And (ICR5, One, ICR5) + CreateWordField (Arg2, 0x62, W491) + CreateWordField (Arg2, 0x6A, W531) + CreateWordField (Arg2, 0x7E, W631) + CreateWordField (Arg2, 0x80, W641) + CreateWordField (Arg2, 0xB0, W881) + CreateWordField (Arg2, 0xBA, W931) + Or (PRIT, 0x8040, PRIT) + If (LAnd (And (FLAG, 0x08), And (W491, 0x0800))) + { + Or (PRIT, 0x20, PRIT) + } + + If (And (FLAG, 0x10)) + { + Or (PRIT, 0x4000, PRIT) + If (LGreater (PIO1, 0xF0)) + { + Or (PRIT, 0x80, PRIT) + } + Else + { + Or (PRIT, 0x10, PRIT) + Store (SETT (PIO1, W531, W641), PSIT) + } + } + + If (And (FLAG, 0x04)) + { + Or (SYNC, 0x02, SYNC) + Store (SDMA (DMA1), SDT1) + If (LLess (DMA1, 0x1E)) + { + Or (ICR3, 0x02, ICR3) + } + + If (LLess (DMA1, 0x3C)) + { + Or (ICR0, 0x02, ICR0) + } + + If (And (W931, 0x2000)) + { + Or (ICR1, 0x02, ICR1) + } + } + } + } + + Device (P_D0) + { + Name (_ADR, Zero) + Method (_RMV, 0, NotSerialized) + { + Return (XOr (SATD, One)) + } + + Method (_GTF, 0, NotSerialized) + { + Name (PIB0, Buffer (0x0E) + { + 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, + 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF + }) + CreateByteField (PIB0, One, PMD0) + CreateByteField (PIB0, 0x08, DMD0) + If (And (PRIT, 0x02)) + { + If (LEqual (And (PRIT, 0x09), 0x08)) + { + Store (0x08, PMD0) + } + Else + { + Store (0x0A, PMD0) + ShiftRight (And (PRIT, 0x0300), 0x08, Local0) + ShiftRight (And (PRIT, 0x3000), 0x0C, Local1) + Add (Local0, Local1, Local2) + If (LEqual (0x03, Local2)) + { + Store (0x0B, PMD0) + } + + If (LEqual (0x05, Local2)) + { + Store (0x0C, PMD0) + } + } + } + Else + { + Store (One, PMD0) + } + + If (And (SYNC, One)) + { + Store (Or (SDT0, 0x40), DMD0) + If (And (ICR1, One)) + { + If (And (ICR0, One)) + { + Add (DMD0, 0x02, DMD0) + } + + If (And (ICR3, One)) + { + Store (0x45, DMD0) + } + } + } + Else + { + Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0) + } + + Return (PIB0) + } + } + + Device (P_D1) + { + Name (_ADR, One) + Method (_GTF, 0, NotSerialized) + { + Name (PIB1, Buffer (0x0E) + { + 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, + 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF + }) + CreateByteField (PIB1, One, PMD1) + CreateByteField (PIB1, 0x08, DMD1) + If (And (PRIT, 0x20)) + { + If (LEqual (And (PRIT, 0x90), 0x80)) + { + Store (0x08, PMD1) + } + Else + { + Add (And (PSIT, 0x03), ShiftRight (And (PSIT, 0x0C), 0x02), Local0) + If (LEqual (0x05, Local0)) + { + Store (0x0C, PMD1) + } + Else + { + If (LEqual (0x03, Local0)) + { + Store (0x0B, PMD1) + } + Else + { + Store (0x0A, PMD1) + } + } + } + } + Else + { + Store (One, PMD1) + } + + If (And (SYNC, 0x02)) + { + Store (Or (SDT1, 0x40), DMD1) + If (And (ICR1, 0x02)) + { + If (And (ICR0, 0x02)) + { + Add (DMD1, 0x02, DMD1) + } + + If (And (ICR3, 0x02)) + { + Store (0x45, DMD1) + } + } + } + Else + { + Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1) + } + + Return (PIB1) + } + } + } + } + + Device (SATA) + { + Name (_ADR, 0x001F0002) + OperationRegion (SACS, PCI_Config, 0x40, 0xC0) + Field (SACS, DWordAcc, NoLock, Preserve) + { + PRIT, 16, + SECT, 16, + PSIT, 4, + SSIT, 4, + Offset (0x08), + SYNC, 4, + Offset (0x0A), + SDT0, 2, + , 2, + SDT1, 2, + Offset (0x0B), + SDT2, 2, + , 2, + SDT3, 2, + Offset (0x14), + ICR0, 4, + ICR1, 4, + ICR2, 4, + ICR3, 4, + ICR4, 4, + ICR5, 4, + Offset (0x50), + MAPV, 2 + } + } + + Device (SBUS) + { + Name (_ADR, 0x001F0003) + OperationRegion (SMBP, PCI_Config, 0x40, 0xC0) + Field (SMBP, DWordAcc, NoLock, Preserve) + { + , 2, + I2CE, 1 + } + + OperationRegion (SMBI, SystemIO, 0x18E0, 0x10) + Field (SMBI, ByteAcc, NoLock, Preserve) + { + HSTS, 8, + Offset (0x02), + HCON, 8, + HCOM, 8, + TXSA, 8, + DAT0, 8, + DAT1, 8, + HBDR, 8, + PECR, 8, + RXSA, 8, + SDAT, 16 + } + + Method (SSXB, 2, Serialized) + { + If (STRT ()) + { + Return (Zero) + } + + Store (Zero, I2CE) + Store (0xBF, HSTS) + Store (Arg0, TXSA) + Store (Arg1, HCOM) + Store (0x48, HCON) + If (COMP ()) + { + Or (HSTS, 0xFF, HSTS) + Return (One) + } + + Return (Zero) + } + + Method (SRXB, 1, Serialized) + { + If (STRT ()) + { + Return (0xFFFF) + } + + Store (Zero, I2CE) + Store (0xBF, HSTS) + Store (Or (Arg0, One), TXSA) + Store (0x44, HCON) + If (COMP ()) + { + Or (HSTS, 0xFF, HSTS) + Return (DAT0) + } + + Return (0xFFFF) + } + + Method (SWRB, 3, Serialized) + { + If (STRT ()) + { + Return (Zero) + } + + Store (Zero, I2CE) + Store (0xBF, HSTS) + Store (Arg0, TXSA) + Store (Arg1, HCOM) + Store (Arg2, DAT0) + Store (0x48, HCON) + If (COMP ()) + { + Or (HSTS, 0xFF, HSTS) + Return (One) + } + + Return (Zero) + } + + Method (SRDB, 2, Serialized) + { + If (STRT ()) + { + Return (0xFFFF) + } + + Store (Zero, I2CE) + Store (0xBF, HSTS) + Store (Or (Arg0, One), TXSA) + Store (Arg1, HCOM) + Store (0x48, HCON) + If (COMP ()) + { + Or (HSTS, 0xFF, HSTS) + Return (DAT0) + } + + Return (0xFFFF) + } + + Method (SBLW, 4, Serialized) + { + If (STRT ()) + { + Return (Zero) + } + + Store (Arg3, I2CE) + Store (0xBF, HSTS) + Store (Arg0, TXSA) + Store (Arg1, HCOM) + Store (SizeOf (Arg2), DAT0) + Store (Zero, Local1) + Store (DerefOf (Index (Arg2, Zero)), HBDR) + Store (0x54, HCON) + While (LGreater (SizeOf (Arg2), Local1)) + { + Store (0x0FA0, Local0) + While (LAnd (LNot (And (HSTS, 0x80)), Local0)) + { + Decrement (Local0) + Stall (0x32) + } + + If (LNot (Local0)) + { + KILL () + Return (Zero) + } + + Store (0x80, HSTS) + Increment (Local1) + If (LGreater (SizeOf (Arg2), Local1)) + { + Store (DerefOf (Index (Arg2, Local1)), HBDR) + } + } + + If (COMP ()) + { + Or (HSTS, 0xFF, HSTS) + Return (One) + } + + Return (Zero) + } + + Method (SBLR, 3, Serialized) + { + Name (TBUF, Buffer (0x0100) {}) + If (STRT ()) + { + Return (Zero) + } + + Store (Arg2, I2CE) + Store (0xBF, HSTS) + Store (Or (Arg0, One), TXSA) + Store (Arg1, HCOM) + Store (0x54, HCON) + Store (0x0FA0, Local0) + While (LAnd (LNot (And (HSTS, 0x80)), Local0)) + { + Decrement (Local0) + Stall (0x32) + } + + If (LNot (Local0)) + { + KILL () + Return (Zero) + } + + Store (DAT0, Index (TBUF, Zero)) + Store (0x80, HSTS) + Store (One, Local1) + While (LLess (Local1, DerefOf (Index (TBUF, Zero)))) + { + Store (0x0FA0, Local0) + While (LAnd (LNot (And (HSTS, 0x80)), Local0)) + { + Decrement (Local0) + Stall (0x32) + } + + If (LNot (Local0)) + { + KILL () + Return (Zero) + } + + Store (HBDR, Index (TBUF, Local1)) + Store (0x80, HSTS) + Increment (Local1) + } + + If (COMP ()) + { + Or (HSTS, 0xFF, HSTS) + Return (TBUF) + } + + Return (Zero) + } + + Method (STRT, 0, Serialized) + { + Store (0xC8, Local0) + While (Local0) + { + If (And (HSTS, 0x40)) + { + Decrement (Local0) + Sleep (One) + If (LEqual (Local0, Zero)) + { + Return (One) + } + } + Else + { + Store (Zero, Local0) + } + } + + Store (0x0FA0, Local0) + While (Local0) + { + If (And (HSTS, One)) + { + Decrement (Local0) + Stall (0x32) + If (LEqual (Local0, Zero)) + { + KILL () + } + } + Else + { + Return (Zero) + } + } + + Return (One) + } + + Method (COMP, 0, Serialized) + { + Store (0x0FA0, Local0) + While (Local0) + { + If (And (HSTS, 0x02)) + { + Return (One) + } + Else + { + Decrement (Local0) + Stall (0x32) + If (LEqual (Local0, Zero)) + { + KILL () + } + } + } + + Return (Zero) + } + + Method (KILL, 0, Serialized) + { + Or (HCON, 0x02, HCON) + Or (HSTS, 0xFF, HSTS) + } + } + } + } +} diff --git a/tests/aapits/asl/dsdt0.asl b/tests/aapits/asl/dsdt0.asl new file mode 100755 index 0000000..c6c1f5a --- /dev/null +++ b/tests/aapits/asl/dsdt0.asl @@ -0,0 +1,34 @@ +DefinitionBlock( + "dsdt0.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * DSDT table + */ + + Name(i900, 0x9000) + Name(s900, "String DSDT") + Name(p900, Package(1){"Package DSDT"}) + + Method(m900) + { + Method(m000) + { + Name(i000, 0x9001) + + Return (i000) + } + + Store(p900, Debug) + Store("String replace Package DSDT", p900) + Store(p900, Debug) + + Store(m000(), Debug) + } +} diff --git a/tests/aapits/asl/dsdt1.asl b/tests/aapits/asl/dsdt1.asl new file mode 100755 index 0000000..cd3297f --- /dev/null +++ b/tests/aapits/asl/dsdt1.asl @@ -0,0 +1,34 @@ +DefinitionBlock( + "dsdt1.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * DSDT table #1 + */ + + Name(ia00, 0xa001) + Name(sa01, "String DSDT1") + Name(p901, Package(1){"Package DSDT1"}) + + Method(ma01) + { + Method(m000) + { + Name(i000, 0xffffa001) + + Return (i000) + } + + Store(p901, Debug) + Store("String replace Package DSDT1", p901) + Store(p901, Debug) + + Store(m000(), Debug) + } +} diff --git a/tests/aapits/asl/dsdt2.asl b/tests/aapits/asl/dsdt2.asl new file mode 100755 index 0000000..c56d306 --- /dev/null +++ b/tests/aapits/asl/dsdt2.asl @@ -0,0 +1,34 @@ +DefinitionBlock( + "dsdt2.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * DSDT table #1 + */ + + Name(ia00, 0xa002) + Name(sa02, "String DSDT2") + Name(p902, Package(1){"Package DSDT2"}) + + Method(ma02) + { + Method(m000) + { + Name(i000, 0xffffa002) + + Return (i000) + } + + Store(p902, Debug) + Store("String replace Package DSDT2", p902) + Store(p902, Debug) + + Store(m000(), Debug) + } +} diff --git a/tests/aapits/asl/gpev0000.asl b/tests/aapits/asl/gpev0000.asl new file mode 100755 index 0000000..4d7a2df --- /dev/null +++ b/tests/aapits/asl/gpev0000.asl @@ -0,0 +1,30 @@ +DefinitionBlock( + "gpev0000.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Gpe test 0000 + */ + + Include("../asl/tblm_aux.asl") + + Device(DGPE) { + Name(_HID, "ACPI0006") + Name(_STA, 0x0F) + Name(_CRS, ResourceTemplate() { + IRQ(Level, ActiveLow, Shared){13}}) + } + + Processor(NGPE, 0, 0, 0) { + Name(_HID, "ACPI0006") + Name(_STA, 0x0F) + Name(_CRS, ResourceTemplate() { + IRQ(Level, ActiveLow, Shared){13}}) + } +} diff --git a/tests/aapits/asl/hdwr0015.asl b/tests/aapits/asl/hdwr0015.asl new file mode 100755 index 0000000..8708723 --- /dev/null +++ b/tests/aapits/asl/hdwr0015.asl @@ -0,0 +1,56 @@ +DefinitionBlock( + "hdwr0015.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Hardware test 0015 + */ + + Name(\_S0, Package(0x04){ + 0x00, + 0x10, + 0x20, + 0x30 + }) + + Name(\_S1, Package(0x04){ + 0x01, + 0x11, + 0x21, + 0x31 + }) + + Name(\_S2, Package(0x04){ + 0x02, + 0x12, + 0x22, + 0x32 + }) + + Name(\_S3, Package(0x04){ + 0x03, + 0x13, + 0x23, + 0x33 + }) + + Name(\_S4, Package(0x04){ + 0x04, + 0x14, + 0x24, + 0x34 + }) + + Name(\_S5, Package(0x04){ + 0x05, + 0x15, + 0x25, + 0x35 + }) +} diff --git a/tests/aapits/asl/hdwr0018.asl b/tests/aapits/asl/hdwr0018.asl new file mode 100755 index 0000000..2d2880a --- /dev/null +++ b/tests/aapits/asl/hdwr0018.asl @@ -0,0 +1,32 @@ +DefinitionBlock( + "hdwr0018.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Hardware test 0018 + */ + + Name(\_S0,Package(0x01){ + 0x00, + }) + Name(\_S1,Package(0x01){ + 0x01, + }) + Name(\_S2,Package(0x01){ + 0x02, + }) + Name(\_S3,Package(0x01){ + 0x03, + }) + Name(\_S4,Package(0x01){ + 0x04, + }) + Name(\_S5,Package(0x00){ + }) +} diff --git a/tests/aapits/asl/hdwr0019.asl b/tests/aapits/asl/hdwr0019.asl new file mode 100755 index 0000000..da53f54 --- /dev/null +++ b/tests/aapits/asl/hdwr0019.asl @@ -0,0 +1,41 @@ +DefinitionBlock( + "hdwr0019.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Hardware test 0015 + */ + + Name(\INT5, 0x15) + + Name(\_S0, Package(0x02){ + "0", + 0x00, + }) + Name(\_S1, Package(0x02){ + 0x01, + "11", + }) + Name(\_S2, Package(0x02){ + Buffer(1){2}, + 0x12, + }) + Name(\_S3, Package(0x02){ + 0x03, + Buffer(1){0x13}, + }) + Name(\_S4, Package(0x02){ + Package(0x01){0x04}, + 0x14, + }) + Name(\_S5, Package(0x02){ + 0x05, + INT5, + }) +} diff --git a/tests/aapits/asl/hdwr0020.asl b/tests/aapits/asl/hdwr0020.asl new file mode 100755 index 0000000..674bf42 --- /dev/null +++ b/tests/aapits/asl/hdwr0020.asl @@ -0,0 +1,66 @@ +DefinitionBlock( + "hdwr0020.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Hardware test 0020 + */ + + Name(\_S0, Package(0x02){ + 0x00, + 0x01, + }) + + Name(\_S1, Package(0x02){ + 0x01, + 0x02, + }) + + Name(\_S2, Package(0x02){ + 0x02, + 0x03, + }) + + Name(\_S3, Package(0x02){ + 0x03, + 0x04, + }) + + Name(\_S4, Package(0x02){ + 0x04, + 0x05, + }) + + Name(\_S5, Package(0x02){ + 0x05, + 0x06, + }) + + Name(ORDR, 0) + Name(PTSA, 0) + Name(PTS0, 0) + Name(GTSA, 0) + Name(GTS0, 0) + + Method(\_PTS, 1){ + if (LEqual(ORDR, 0)) { + Increment (ORDR) + } + Store(Arg0, PTSA) + Increment (PTS0) + } + + Method(\_GTS, 1){ + if (LEqual(ORDR, 1)) { + Increment (ORDR) + } + Store(Arg0, GTSA) + Increment (PTS0) + } +} diff --git a/tests/aapits/asl/hdwr0022.asl b/tests/aapits/asl/hdwr0022.asl new file mode 100755 index 0000000..d2eff4e --- /dev/null +++ b/tests/aapits/asl/hdwr0022.asl @@ -0,0 +1,92 @@ +DefinitionBlock( + "hdwr0022.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Hardware test 0020 + */ + + Name(\_S0, Package(0x02){ + 0x00, + 0x01, + }) + + Name(\_S1, Package(0x02){ + 0x01, + 0x02, + }) + + Name(\_S2, Package(0x02){ + 0x02, + 0x03, + }) + + Name(\_S3, Package(0x02){ + 0x03, + 0x04, + }) + + Name(\_S4, Package(0x02){ + 0x04, + 0x05, + }) + + Name(\_S5, Package(0x02){ + 0x05, + 0x06, + }) + + Name(ORDR, 0) + + Name(SST0, 0) + Name(SSA0, 0) + Name(SSO0, 0) + Name(SSA1, 0) + Name(SSO1, 0) + + Name(BFS0, 0) + Name(BFSA, 0) + Name(BFSO, 0) + + Name(WAK0, 0) + Name(WAKA, 0) + Name(WAKO, 0) + + Scope(\_SI) { + Method(_SST, 1){ + Increment(ORDR) + Increment(SST0) + if (LLess(SST0, 3)) { + if (LEqual(SST0, 1)) { + Store(Arg0, SSA0) + Store(ORDR, SSO0) + } else { + Store(Arg0, SSA1) + Store(ORDR, SSO1) + } + } + } + } + + Method(\_BFS, 1){ + Increment(ORDR) + Increment(BFS0) + Store(Arg0, BFSA) + Store(ORDR, BFSO) + } + + Method(\_WAK, 1){ + Increment(ORDR) + Increment(WAK0) + Store(Arg0, WAKA) + Store(ORDR, WAKO) + + Return (Package(0x2){0x0, 0x1}) + } +} diff --git a/tests/aapits/asl/hdwr0040.asl b/tests/aapits/asl/hdwr0040.asl new file mode 100755 index 0000000..786aaf5 --- /dev/null +++ b/tests/aapits/asl/hdwr0040.asl @@ -0,0 +1,29 @@ +DefinitionBlock( + "hdwr0040.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Hardware test 0040 + */ + + Method(T040) + { + Store(Acquire(\_GL, 0), Local0) + + if (Local0) { + Return (Local0) + } + + Sleep(2000) + + Release(\_GL) + + Return (0) + } +} diff --git a/tests/aapits/asl/hdwr0041.asl b/tests/aapits/asl/hdwr0041.asl new file mode 100755 index 0000000..799c958 --- /dev/null +++ b/tests/aapits/asl/hdwr0041.asl @@ -0,0 +1,35 @@ +DefinitionBlock( + "hdwr0041.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Hardware test 0041 + */ + + OperationRegion (OPR0, SystemMemory, 0x00, 0xFF) + + Field (OPR0, ByteAcc, Lock, Preserve) {FLU0, 8,} + + Field (OPR0, ByteAcc, NoLock, Preserve) {FLU1, 8,} + + Name(STEP, 0) + + Method(TNOL) + { + Increment(STEP) + Store(STEP, FLU1) + Return(STEP) + } + + Method(TLCK) + { + Store(FLU0, Local0) + Return(Local0) + } +} diff --git a/tests/aapits/asl/hndl0000.asl b/tests/aapits/asl/hndl0000.asl new file mode 100755 index 0000000..d5792a9 --- /dev/null +++ b/tests/aapits/asl/hndl0000.asl @@ -0,0 +1,113 @@ +DefinitionBlock( + "hndl0000.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Misc Handlers test 0000 + */ + + Include("../asl/tblm_aux.asl") + + // Device + Device(DEV0) {Name(s000, "DEV0")} + + Device(\_SB_.DEV0) {Name(s000, "_SB_.DEV0")} + + // 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")} + + /* + * unsupported object types + */ + + // Integer + Name(INT0, 0xfedcba9876543210) + + // String + Name(STR0, "source string") + + // Buffer + Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1}) + + // 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, + } + + // Event + Event(EVE0) + + // Method + Method(MMM0) {Return ("ff0X")} + + // Mutex + Mutex(MTX0, 0) + + // Operation Region + OperationRegion(OPR0, SystemMemory, 0, 20) + + // Buffer Field + Createfield(BUF0, 0, 69, BFL0) + + + Method(M000, 2) + { + Store (Sizeof (Arg1), Local0) + + while (Local0) { + Decrement (Local0) + Notify (Arg0, Derefof(Index(Arg1, Local0))) + } + } + + Method(TST0) + { + Notify (DEV0, 0x00) + Notify (DEV0, 0x20) + Notify (DEV0, 0x7F) + Notify (DEV0, 0x80) + Notify (DEV0, 0xFF) + + Notify (\_SB_.DEV0, 0x01) + Notify (\_SB_.DEV0, 0x21) + Notify (\_SB_.DEV0, 0x7E) + Notify (\_SB_.DEV0, 0x81) + Notify (\_SB_.DEV0, 0xFE) + + Notify (CPU0, 0x02) + Notify (CPU0, 0x22) + Notify (CPU0, 0x7D) + Notify (CPU0, 0x82) + Notify (CPU0, 0xFD) + + Notify (TZN0, 0x03) + Notify (TZN0, 0x23) + Notify (TZN0, 0x7C) + Notify (TZN0, 0x83) + Notify (TZN0, 0xFC) + +// M000(PWR0, Package() {0x01, 0x21, 0x7E, 0x81, 0xFE}) + + // Delay to allow the Events be dispatched + Sleep (1000) + } +} diff --git a/tests/aapits/asl/hndl0015.asl b/tests/aapits/asl/hndl0015.asl new file mode 100755 index 0000000..bce9791 --- /dev/null +++ b/tests/aapits/asl/hndl0015.asl @@ -0,0 +1,227 @@ +DefinitionBlock( + "hndl0015.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Misc Handlers test 0015 + */ + + // Operation Region + OperationRegion(OPR0, SystemMemory, 0, 0x10000) + OperationRegion(OPR1, SystemIO, 0x21000, 0x11000) + OperationRegion(OPR2, PCI_Config, 0x32000, 0x12000) + OperationRegion(OPR3, EmbeddedControl, 0x45000, 0x13000) + OperationRegion(OPR4, SMBus, 0x69000, 0x14000) + OperationRegion(OPR5, SystemCMOS, 0x83000, 0x15000) + OperationRegion(OPR6, PciBarTarget, 0x98000, 0x16000) +// OperationRegion(OPR7, UserDefRegionSpace, 0x100000, 0x17000) + + // Device + Device(DEV0) { + Name(s000, "DEV0") + OperationRegion(OPR0, SystemMemory, 0, 0x10000) + OperationRegion(OPR1, SystemIO, 0x21000, 0x11000) + } + + // Processor + Processor(CPU0, 0x0, 0xFFFFFFFF, 0x0) { + Name(s000, "CPU0") + OperationRegion(OPR2, PCI_Config, 0x32000, 0x12000) + OperationRegion(OPR3, EmbeddedControl, 0x45000, 0x13000) + OperationRegion(OPR4, SMBus, 0x69000, 0x14000) + } + + // Thermal Zone + ThermalZone(TZN0) { + Name(s000, "TZN0") + OperationRegion(OPR5, SystemCMOS, 0x83000, 0x15000) + OperationRegion(OPR6, PciBarTarget, 0x98000, 0x16000) + } + + /* + * unsupported object types + */ + + // Integer + Name(INT0, 0xfedcba9876543210) + + // String + Name(STR0, "source string") + + // Buffer + Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1}) + + // 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, + } + + // Event + Event(EVE0) + + // Method + Method(MMM0) {Return ("ff0X")} + + // Mutex + Mutex(MTX0, 0) + + // Power Resource + PowerResource(PWR0, 0, 0) {Name(s000, "PWR0")} + + // Buffer Field + Createfield(BUF0, 0, 69, BFL0) + + + Method(M000, 2) + { + Store (Sizeof (Arg1), Local0) + + while (Local0) { + Decrement (Local0) + Notify (Arg0, Derefof(Index(Arg1, Local0))) + } + } + + Method(TST0) + { + + // Field Units + Field(OPR0, ByteAcc, NoLock, Preserve) {FLU0, 70} + Field(OPR1, ByteAcc, NoLock, Preserve) {FLU1, 71} + Field(OPR2, ByteAcc, NoLock, Preserve) {FLU2, 72} + Field(OPR3, ByteAcc, NoLock, Preserve) {FLU3, 73} + Field(OPR4, BufferAcc, NoLock, Preserve) {FLU4, 74} + Field(OPR5, ByteAcc, NoLock, Preserve) {FLU5, 75} + Field(OPR6, ByteAcc, NoLock, Preserve) {FLU6, 76} + + Store (0xffffffffffffff00, FLU0) + Store (0xffffffffffffff01, FLU1) + Store (0xffffffffffffff02, FLU2) + Store (0xffffffffffffff03, FLU3) + + // SMBus write requires Buffer + // SMBus bidirectional buffer size + // ACPI_SMBUS_BUFFER_SIZE 34 + Store (Buffer(34){0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, FLU4) + + Store (0xffffffffffffff05, FLU5) + Store (0xffffffffffffff06, FLU6) + + } + + Method(TST1) + { + + // Field Units + Field(\DEV0.OPR0, ByteAcc, NoLock, Preserve) {FLU0, 70} + Field(\DEV0.OPR1, ByteAcc, NoLock, Preserve) {FLU1, 71} + Field(\CPU0.OPR2, ByteAcc, NoLock, Preserve) {FLU2, 72} + Field(\CPU0.OPR3, ByteAcc, NoLock, Preserve) {FLU3, 73} + Field(\CPU0.OPR4, BufferAcc, NoLock, Preserve) {FLU4, 74} + Field(\TZN0.OPR5, ByteAcc, NoLock, Preserve) {FLU5, 75} + Field(\TZN0.OPR6, ByteAcc, NoLock, Preserve) {FLU6, 76} + + Store (0xffffffffffffff00, FLU0) + Store (0xffffffffffffff01, FLU1) + Store (0xffffffffffffff02, FLU2) + Store (0xffffffffffffff03, FLU3) + + // SMBus write requires Buffer + // SMBus bidirectional buffer size + // ACPI_SMBUS_BUFFER_SIZE 34 + Store (Buffer(34){0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, FLU4) + + Store (0xffffffffffffff05, FLU5) + Store (0xffffffffffffff06, FLU6) + + } + + Method(TST2) + { + + // Field Units + Field(OPR0, ByteAcc, NoLock, Preserve) {FLU0, 70} + Field(OPR1, ByteAcc, NoLock, Preserve) {FLU1, 71} + Field(OPR2, ByteAcc, NoLock, Preserve) {FLU2, 72} +// Field(OPR3, ByteAcc, NoLock, Preserve) {FLU3, 73} +// Field(OPR4, BufferAcc, NoLock, Preserve) {FLU4, 74} + Field(OPR5, ByteAcc, NoLock, Preserve) {FLU5, 75} + Field(OPR6, ByteAcc, NoLock, Preserve) {FLU6, 76} + + Store (0xffffffffffffff00, FLU0) + Store (0xffffffffffffff01, FLU1) + Store (0xffffffffffffff02, FLU2) +// Store (0xffffffffffffff03, FLU3) + + // SMBus write requires Buffer + // SMBus bidirectional buffer size + // ACPI_SMBUS_BUFFER_SIZE 34 +// Store (Buffer(34){0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, FLU4) + + Store (0xffffffffffffff05, FLU5) + Store (0xffffffffffffff06, FLU6) + } + + Method(TST3) + { + + // Field Units + Field(\DEV0.OPR0, ByteAcc, NoLock, Preserve) {FLU0, 70} + Field(\DEV0.OPR1, ByteAcc, NoLock, Preserve) {FLU1, 71} + Field(\CPU0.OPR2, ByteAcc, NoLock, Preserve) {FLU2, 72} +// Field(\CPU0.OPR3, ByteAcc, NoLock, Preserve) {FLU3, 73} +// Field(\CPU0.OPR4, BufferAcc, NoLock, Preserve) {FLU4, 74} + Field(\TZN0.OPR5, ByteAcc, NoLock, Preserve) {FLU5, 75} + Field(\TZN0.OPR6, ByteAcc, NoLock, Preserve) {FLU6, 76} + + Store (0xffffffffffffff00, FLU0) + Store (0xffffffffffffff01, FLU1) + Store (0xffffffffffffff02, FLU2) +// Store (0xffffffffffffff03, FLU3) + + // SMBus write requires Buffer + // SMBus bidirectional buffer size + // ACPI_SMBUS_BUFFER_SIZE 34 +// Store (Buffer(34){0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, FLU4) + + Store (0xffffffffffffff05, FLU5) + Store (0xffffffffffffff06, FLU6) + + } + + Method(TST4) + { + + // Field Units + Field(OPR0, ByteAcc, NoLock, Preserve) {FLU0, 14} + + Store (0x5aa5, FLU0) + + } + + Method(TST5) + { + + // Field Units + Field(OPR4, BufferAcc, NoLock, Preserve) {FLU4, 74} + + // SMBus write requires Buffer + // SMBus bidirectional buffer size + // ACPI_SMBUS_BUFFER_SIZE 34 + Store (Buffer(34){0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, FLU4) + + } +} diff --git a/tests/aapits/asl/hndl0016.asl b/tests/aapits/asl/hndl0016.asl new file mode 100755 index 0000000..0ec7790 --- /dev/null +++ b/tests/aapits/asl/hndl0016.asl @@ -0,0 +1,461 @@ +DefinitionBlock( + "hndl0016.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Misc Handlers test 0016 + */ + + Include("../asl/tblm_aux.asl") + + // Operation Region + OperationRegion(OPR0, SystemMemory, 0, 0x10000) + OperationRegion(OPR1, SystemIO, 0x21000, 0x11000) + OperationRegion(OPR2, PCI_Config, 0x32000, 0x12000) + OperationRegion(OPR3, EmbeddedControl, 0x45000, 0x13000) + OperationRegion(OPR4, SMBus, 0x69000, 0x14000) + OperationRegion(OPR5, SystemCMOS, 0x83000, 0x15000) + OperationRegion(OPR6, PciBarTarget, 0x98000, 0x16000) +// OperationRegion(OPR7, UserDefRegionSpace, 0x100000, 0x17000) + + // Device + Device(DEV0) { + Name(s000, "DEV0") + OperationRegion(OPR0, SystemMemory, 0, 0x10000) + OperationRegion(OPR1, SystemIO, 0x21000, 0x11000) + } + + // Processor + Processor(CPU0, 0x0, 0xFFFFFFFF, 0x0) { + Name(s000, "CPU0") + OperationRegion(OPR2, PCI_Config, 0x32000, 0x12000) + OperationRegion(OPR3, EmbeddedControl, 0x45000, 0x13000) + OperationRegion(OPR4, SMBus, 0x69000, 0x14000) + } + + + // Thermal Zone + ThermalZone(TZN0) { + Name(s000, "TZN0") + OperationRegion(OPR5, SystemCMOS, 0x83000, 0x15000) + OperationRegion(OPR6, PciBarTarget, 0x98000, 0x16000) + } + + + // Device 1: check _REG calls co-ordination + Device(DEV1) { + Name(s000, "DEV0") + OperationRegion(OPR0, SystemMemory, 0xB0000, 0x10000) + + Name(ACTV, 0) + Name(DACT, 0) + Name(DIFF, 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) + } else { + if (arg1) { + Increment(ACTV) + } else { + Increment(DACT) + } + Subtract(ACTV, DACT, DIFF) + } + } + } + + + /* + * unsupported object types + */ + + // Integer + Name(INT0, 0xfedcba9876543210) + + // String + Name(STR0, "source string") + + // Buffer + Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1}) + + // 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, + } + + // Event + Event(EVE0) + + // Method + Method(MMM0) {Return ("ff0X")} + + // Mutex + Mutex(MTX0, 0) + + // Power Resource + PowerResource(PWR0, 0, 0) {Name(s000, "PWR0")} + + // Buffer Field + Createfield(BUF0, 0, 69, BFL0) + + + Method(M000, 2) + { + Store (Sizeof (Arg1), Local0) + + while (Local0) { + Decrement (Local0) + Notify (Arg0, Derefof(Index(Arg1, Local0))) + } + } + + Method(TST0) + { + + // Field Units + Field(OPR0, ByteAcc, NoLock, Preserve) {FLU0, 70} + Field(OPR1, ByteAcc, NoLock, Preserve) {FLU1, 71} + Field(OPR2, ByteAcc, NoLock, Preserve) {FLU2, 72} + Field(OPR3, ByteAcc, NoLock, Preserve) {FLU3, 73} + Field(OPR4, BufferAcc, NoLock, Preserve) {FLU4, 74} + Field(OPR5, ByteAcc, NoLock, Preserve) {FLU5, 75} + Field(OPR6, ByteAcc, NoLock, Preserve) {FLU6, 76} + + Store (0xffffffffffffff00, FLU0) + Store (0xffffffffffffff01, FLU1) + Store (0xffffffffffffff02, FLU2) + Store (0xffffffffffffff03, FLU3) + + // SMBus write requires Buffer + // SMBus bidirectional buffer size + // ACPI_SMBUS_BUFFER_SIZE 34 + Store (Buffer(34){0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, FLU4) + + Store (0xffffffffffffff05, FLU5) + Store (0xffffffffffffff06, FLU6) + + } + + Method(TST1) + { + + // Field Units + Field(\DEV0.OPR0, ByteAcc, NoLock, Preserve) {FLU0, 70} + Field(\DEV0.OPR1, ByteAcc, NoLock, Preserve) {FLU1, 71} + Field(\CPU0.OPR2, ByteAcc, NoLock, Preserve) {FLU2, 72} + Field(\CPU0.OPR3, ByteAcc, NoLock, Preserve) {FLU3, 73} + Field(\CPU0.OPR4, BufferAcc, NoLock, Preserve) {FLU4, 74} + Field(\TZN0.OPR5, ByteAcc, NoLock, Preserve) {FLU5, 75} + Field(\TZN0.OPR6, ByteAcc, NoLock, Preserve) {FLU6, 76} + + Store (0xffffffffffffff00, FLU0) + Store (0xffffffffffffff01, FLU1) + Store (0xffffffffffffff02, FLU2) + Store (0xffffffffffffff03, FLU3) + + // SMBus write requires Buffer + // SMBus bidirectional buffer size + // ACPI_SMBUS_BUFFER_SIZE 34 + Store (Buffer(34){0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, FLU4) + + Store (0xffffffffffffff05, FLU5) + Store (0xffffffffffffff06, FLU6) + + } + + Method(TST2) + { + + // Field Units + Field(OPR0, ByteAcc, NoLock, Preserve) {FLU0, 70} + Field(OPR1, ByteAcc, NoLock, Preserve) {FLU1, 71} + Field(OPR2, ByteAcc, NoLock, Preserve) {FLU2, 72} +// Field(OPR3, ByteAcc, NoLock, Preserve) {FLU3, 73} +// Field(OPR4, BufferAcc, NoLock, Preserve) {FLU4, 74} + Field(OPR5, ByteAcc, NoLock, Preserve) {FLU5, 75} + Field(OPR6, ByteAcc, NoLock, Preserve) {FLU6, 76} + + Store (0xffffffffffffff00, FLU0) + Store (0xffffffffffffff01, FLU1) + Store (0xffffffffffffff02, FLU2) +// Store (0xffffffffffffff03, FLU3) + + // SMBus write requires Buffer + // SMBus bidirectional buffer size + // ACPI_SMBUS_BUFFER_SIZE 34 +// Store (Buffer(34){0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, FLU4) + + Store (0xffffffffffffff05, FLU5) + Store (0xffffffffffffff06, FLU6) + } + + Method(TST3) + { + // Field Units + Field(\DEV0.OPR0, ByteAcc, NoLock, Preserve) {FLU0, 70} + Field(\DEV0.OPR1, ByteAcc, NoLock, Preserve) {FLU1, 71} + Field(\CPU0.OPR2, ByteAcc, NoLock, Preserve) {FLU2, 72} +// Field(\CPU0.OPR3, ByteAcc, NoLock, Preserve) {FLU3, 73} +// Field(\CPU0.OPR4, BufferAcc, NoLock, Preserve) {FLU4, 74} + Field(\TZN0.OPR5, ByteAcc, NoLock, Preserve) {FLU5, 75} + Field(\TZN0.OPR6, ByteAcc, NoLock, Preserve) {FLU6, 76} + + Store (0xffffffffffffff00, FLU0) + Store (0xffffffffffffff01, FLU1) + Store (0xffffffffffffff02, FLU2) +// Store (0xffffffffffffff03, FLU3) + + // SMBus write requires Buffer + // SMBus bidirectional buffer size + // ACPI_SMBUS_BUFFER_SIZE 34 +// Store (Buffer(34){0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, FLU4) + + Store (0xffffffffffffff05, FLU5) + Store (0xffffffffffffff06, FLU6) + + } + + Method(TST4) + { + + // Field Units + Field(OPR0, ByteAcc, NoLock, Preserve) {FLU0, 14} + + Store (0x5aa5, FLU0) + + } + + Method(TST5) + { + + // Field Units + Field(OPR4, BufferAcc, NoLock, Preserve) {FLU4, 74} + + // SMBus write requires Buffer + // SMBus bidirectional buffer size + // ACPI_SMBUS_BUFFER_SIZE 34 + Store (Buffer(34){0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, FLU4) + + } + + // For AtHndlrTest0038 + + // Access dynamic OpRegions + Method(TST6) + { + OperationRegion(OPR0, SystemMemory, 0x10001, 0x10000) + OperationRegion(OPR1, SystemIO, 0x32001, 0x11000) + OperationRegion(OPR2, PCI_Config, 0x44001, 0x12000) + OperationRegion(OPR3, EmbeddedControl, 0x58001, 0x13000) + OperationRegion(OPR4, SMBus, 0x7d001, 0x14000) + OperationRegion(OPR5, SystemCMOS, 0x98001, 0x15000) + OperationRegion(OPR6, PciBarTarget, 0xae001, 0x16000) + + // Field Units + Field(OPR0, ByteAcc, NoLock, Preserve) {FLU0, 70} + Field(OPR1, ByteAcc, NoLock, Preserve) {FLU1, 71} + Field(OPR2, ByteAcc, NoLock, Preserve) {FLU2, 72} + Field(OPR3, ByteAcc, NoLock, Preserve) {FLU3, 73} + Field(OPR4, BufferAcc, NoLock, Preserve) {FLU4, 74} + Field(OPR5, ByteAcc, NoLock, Preserve) {FLU5, 75} + Field(OPR6, ByteAcc, NoLock, Preserve) {FLU6, 76} + + Store (0xffffffffffffff00, FLU0) + Store (0xffffffffffffff01, FLU1) + Store (0xffffffffffffff02, FLU2) + Store (0xffffffffffffff03, FLU3) + + // SMBus write requires Buffer + // SMBus bidirectional buffer size + // ACPI_SMBUS_BUFFER_SIZE 34 + Store (Buffer(34){0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, FLU4) + + Store (0xffffffffffffff05, FLU5) + Store (0xffffffffffffff06, FLU6) + + } + + // Access both static and dynamic OpRegions + Method(TST7) + { + // Static + TST1() + + // Dynamic + TST6() + + // Static, Root located + TST0() + } + + Device (PCI1) { + OperationRegion (IDE1, PCI_Config, 0x00, 0xFF) + + Field (IDE1, DWordAcc, NoLock, Preserve) { + Offset (0x6C), + IPDC, 32} + + Name (_HID, EisaId ("PNP0A03")) + + Name (_CID, Package (0x03) { + 0x00102E4F, + EisaId ("PNP0A01"), + 0x130FD041}) + + Name (_ADR, 0x11) + Name (_BBN, 0x11) + + Name (REGC, 0x00) // Count + Name (REGE, 0x00) // NumErrors + Name (REGS, 0xFF) // Status (Activate/DeActivate) + + Method(_REG, 2) + { + Store("\\PCI1._REG:", Debug) + Store(arg0, Debug) + Store(arg1, Debug) + + Increment(REGC) + + if (LNotEqual(arg0, 2)) { // PCI_Config + Increment(REGE) + } elseif (LAnd(LNotEqual(arg1, 1), LNotEqual(arg1, 0))) { + Increment(REGE) + } else { + Store(arg1, REGS) + } + } + + // Device + Device(DEVA) {Name(s000, "DEVA")} + + Method(ACC0) + { + Store("\\PCI1.ACC0:", Debug) + Store(0xABCD, \PCI1.IPDC) + Store(\PCI1.IPDC, Debug) + } + } + + Device (PCI2) { + + Device(DEVA) { + Name(s000, "DEVA") + + OperationRegion (IDE1, PCI_Config, 0x100, 0xFF) + + Field (IDE1, DWordAcc, NoLock, Preserve) { + Offset (0x6C), + IPDC, 32} + + Name (_HID, EisaId ("XXX0A03")) + + Name (_CID, Package (0x03) { + 0x00102E4F, + EisaId ("PNP0A03"), + 0x130FD041}) + + Name (_ADR, 0x22) + Name (_BBN, 0x22) + + Name (REGC, 0x00) // Count + Name (REGE, 0x00) // NumErrors + Name (REGS, 0xFF) // Status (Activate/DeActivate) + + Method(_REG, 2) + { + Store("\\PCI2.DEVA._REG:", Debug) + Store(arg0, Debug) + Store(arg1, Debug) + + Increment(REGC) + + if (LNotEqual(arg0, 2)) { // PCI_Config + Increment(REGE) + } elseif (LAnd(LNotEqual(arg1, 1), LNotEqual(arg1, 0))) { + Increment(REGE) + } else { + Store(arg1, REGS) + } + } + + Method(ACC0) + { + Store("\\PCI2.DEVA.ACC0:", Debug) + Store(0xABCD, \PCI2.DEVA.IPDC) + Store(\PCI2.DEVA.IPDC, Debug) + } + } + + + Device(DEVB) { + Name(s000, "DEVB") + + OperationRegion (IDE1, PCI_Config, 0x200, 0xFF) + + Field (IDE1, DWordAcc, NoLock, Preserve) { + Offset (0x6C), + IPDC, 32} + + Name (_HID, EisaId ("XXX0A03")) + + Name (_CID, Package (0x03) { + 0x00102E4F, + EisaId ("XXX0A03"), + 0x130FD041}) + + Name (_ADR, 0x33) + Name (_BBN, 0x33) + + Name (REGC, 0x00) // Count + Name (REGE, 0x00) // NumErrors + Name (REGS, 0xFF) // Status (Activate/DeActivate) + + Method(_REG, 2) + { + Store("\\PCI2.DEVB._REG:", Debug) + Store(arg0, Debug) + Store(arg1, Debug) + + Increment(REGC) + + if (LNotEqual(arg0, 2)) { // PCI_Config + Increment(REGE) + } elseif (LAnd(LNotEqual(arg1, 1), LNotEqual(arg1, 0))) { + Increment(REGE) + } else { + Store(arg1, REGS) + } + } + + Method(ACC0) + { + Store("\\PCI2.DEVB.ACC0:", Debug) + Store(0xABCD, \PCI2.DEVB.IPDC) + Store(\PCI2.DEVB.IPDC, Debug) + } + } + } +} diff --git a/tests/aapits/asl/hndl0038.asl b/tests/aapits/asl/hndl0038.asl new file mode 100755 index 0000000..037e873 --- /dev/null +++ b/tests/aapits/asl/hndl0038.asl @@ -0,0 +1,461 @@ +DefinitionBlock( + "hndl0038.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Misc Handlers test 0038 + */ + + Include("../asl/tblm_aux.asl") + + // Operation Region + OperationRegion(OPR0, SystemMemory, 0, 0x10000) + OperationRegion(OPR1, SystemIO, 0x21000, 0x11000) + OperationRegion(OPR2, PCI_Config, 0x32000, 0x12000) + OperationRegion(OPR3, EmbeddedControl, 0x45000, 0x13000) + OperationRegion(OPR4, SMBus, 0x69000, 0x14000) + OperationRegion(OPR5, SystemCMOS, 0x83000, 0x15000) + OperationRegion(OPR6, PciBarTarget, 0x98000, 0x16000) +// OperationRegion(OPR7, UserDefRegionSpace, 0x100000, 0x17000) + + // Device + Device(DEV0) { + Name(s000, "DEV0") + OperationRegion(OPR0, SystemMemory, 0x100000, 0x10000) + OperationRegion(OPR1, SystemIO, 0x121000, 0x11000) + } + + // Processor + Processor(CPU0, 0x0, 0xFFFFFFFF, 0x0) { + Name(s000, "CPU0") + OperationRegion(OPR2, PCI_Config, 0x132000, 0x12000) + OperationRegion(OPR3, EmbeddedControl, 0x145000, 0x13000) + OperationRegion(OPR4, SMBus, 0x169000, 0x14000) + } + + + // Thermal Zone + ThermalZone(TZN0) { + Name(s000, "TZN0") + OperationRegion(OPR5, SystemCMOS, 0x183000, 0x15000) + OperationRegion(OPR6, PciBarTarget, 0x198000, 0x16000) + } + + + // Device 1: check _REG calls co-ordination + Device(DEV1) { + Name(s000, "DEV0") + OperationRegion(OPR0, SystemMemory, 0xB0000, 0x10000) + + Name(ACTV, 0) + Name(DACT, 0) + Name(DIFF, 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) + } else { + if (arg1) { + Increment(ACTV) + } else { + Increment(DACT) + } + Subtract(ACTV, DACT, DIFF) + } + } + } + + + /* + * unsupported object types + */ + + // Integer + Name(INT0, 0xfedcba9876543210) + + // String + Name(STR0, "source string") + + // Buffer + Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1}) + + // 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, + } + + // Event + Event(EVE0) + + // Method + Method(MMM0) {Return ("ff0X")} + + // Mutex + Mutex(MTX0, 0) + + // Power Resource + PowerResource(PWR0, 0, 0) {Name(s000, "PWR0")} + + // Buffer Field + Createfield(BUF0, 0, 69, BFL0) + + + Method(M000, 2) + { + Store (Sizeof (Arg1), Local0) + + while (Local0) { + Decrement (Local0) + Notify (Arg0, Derefof(Index(Arg1, Local0))) + } + } + + Method(TST0) + { + + // Field Units + Field(OPR0, ByteAcc, NoLock, Preserve) {FLU0, 70} + Field(OPR1, ByteAcc, NoLock, Preserve) {FLU1, 71} + Field(OPR2, ByteAcc, NoLock, Preserve) {FLU2, 72} + Field(OPR3, ByteAcc, NoLock, Preserve) {FLU3, 73} + Field(OPR4, BufferAcc, NoLock, Preserve) {FLU4, 74} + Field(OPR5, ByteAcc, NoLock, Preserve) {FLU5, 75} + Field(OPR6, ByteAcc, NoLock, Preserve) {FLU6, 76} + + Store (0xffffffffffffff00, FLU0) + Store (0xffffffffffffff01, FLU1) + Store (0xffffffffffffff02, FLU2) + Store (0xffffffffffffff03, FLU3) + + // SMBus write requires Buffer + // SMBus bidirectional buffer size + // ACPI_SMBUS_BUFFER_SIZE 34 + Store (Buffer(34){0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, FLU4) + + Store (0xffffffffffffff05, FLU5) + Store (0xffffffffffffff06, FLU6) + + } + + Method(TST1) + { + + // Field Units + Field(\DEV0.OPR0, ByteAcc, NoLock, Preserve) {FLU0, 70} + Field(\DEV0.OPR1, ByteAcc, NoLock, Preserve) {FLU1, 71} + Field(\CPU0.OPR2, ByteAcc, NoLock, Preserve) {FLU2, 72} + Field(\CPU0.OPR3, ByteAcc, NoLock, Preserve) {FLU3, 73} + Field(\CPU0.OPR4, BufferAcc, NoLock, Preserve) {FLU4, 74} + Field(\TZN0.OPR5, ByteAcc, NoLock, Preserve) {FLU5, 75} + Field(\TZN0.OPR6, ByteAcc, NoLock, Preserve) {FLU6, 76} + + Store (0xffffffffffffff00, FLU0) + Store (0xffffffffffffff01, FLU1) + Store (0xffffffffffffff02, FLU2) + Store (0xffffffffffffff03, FLU3) + + // SMBus write requires Buffer + // SMBus bidirectional buffer size + // ACPI_SMBUS_BUFFER_SIZE 34 + Store (Buffer(34){0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, FLU4) + + Store (0xffffffffffffff05, FLU5) + Store (0xffffffffffffff06, FLU6) + + } + + Method(TST2) + { + + // Field Units + Field(OPR0, ByteAcc, NoLock, Preserve) {FLU0, 70} + Field(OPR1, ByteAcc, NoLock, Preserve) {FLU1, 71} + Field(OPR2, ByteAcc, NoLock, Preserve) {FLU2, 72} +// Field(OPR3, ByteAcc, NoLock, Preserve) {FLU3, 73} +// Field(OPR4, BufferAcc, NoLock, Preserve) {FLU4, 74} + Field(OPR5, ByteAcc, NoLock, Preserve) {FLU5, 75} + Field(OPR6, ByteAcc, NoLock, Preserve) {FLU6, 76} + + Store (0xffffffffffffff00, FLU0) + Store (0xffffffffffffff01, FLU1) + Store (0xffffffffffffff02, FLU2) +// Store (0xffffffffffffff03, FLU3) + + // SMBus write requires Buffer + // SMBus bidirectional buffer size + // ACPI_SMBUS_BUFFER_SIZE 34 +// Store (Buffer(34){0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, FLU4) + + Store (0xffffffffffffff05, FLU5) + Store (0xffffffffffffff06, FLU6) + } + + Method(TST3) + { + // Field Units + Field(\DEV0.OPR0, ByteAcc, NoLock, Preserve) {FLU0, 70} + Field(\DEV0.OPR1, ByteAcc, NoLock, Preserve) {FLU1, 71} + Field(\CPU0.OPR2, ByteAcc, NoLock, Preserve) {FLU2, 72} +// Field(\CPU0.OPR3, ByteAcc, NoLock, Preserve) {FLU3, 73} +// Field(\CPU0.OPR4, BufferAcc, NoLock, Preserve) {FLU4, 74} + Field(\TZN0.OPR5, ByteAcc, NoLock, Preserve) {FLU5, 75} + Field(\TZN0.OPR6, ByteAcc, NoLock, Preserve) {FLU6, 76} + + Store (0xffffffffffffff00, FLU0) + Store (0xffffffffffffff01, FLU1) + Store (0xffffffffffffff02, FLU2) +// Store (0xffffffffffffff03, FLU3) + + // SMBus write requires Buffer + // SMBus bidirectional buffer size + // ACPI_SMBUS_BUFFER_SIZE 34 +// Store (Buffer(34){0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, FLU4) + + Store (0xffffffffffffff05, FLU5) + Store (0xffffffffffffff06, FLU6) + + } + + Method(TST4) + { + + // Field Units + Field(OPR0, ByteAcc, NoLock, Preserve) {FLU0, 14} + + Store (0x5aa5, FLU0) + + } + + Method(TST5) + { + + // Field Units + Field(OPR4, BufferAcc, NoLock, Preserve) {FLU4, 74} + + // SMBus write requires Buffer + // SMBus bidirectional buffer size + // ACPI_SMBUS_BUFFER_SIZE 34 + Store (Buffer(34){0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, FLU4) + + } + + // For AtHndlrTest0038 + + // Access dynamic OpRegions + Method(TST6) + { + OperationRegion(OPR0, SystemMemory, 0x10001, 0x10000) + OperationRegion(OPR1, SystemIO, 0x32001, 0x11000) + OperationRegion(OPR2, PCI_Config, 0x44001, 0x12000) + OperationRegion(OPR3, EmbeddedControl, 0x58001, 0x13000) + OperationRegion(OPR4, SMBus, 0x7d001, 0x14000) + OperationRegion(OPR5, SystemCMOS, 0x98001, 0x15000) + OperationRegion(OPR6, PciBarTarget, 0xae001, 0x16000) + + // Field Units + Field(OPR0, ByteAcc, NoLock, Preserve) {FLU0, 70} + Field(OPR1, ByteAcc, NoLock, Preserve) {FLU1, 71} + Field(OPR2, ByteAcc, NoLock, Preserve) {FLU2, 72} + Field(OPR3, ByteAcc, NoLock, Preserve) {FLU3, 73} + Field(OPR4, BufferAcc, NoLock, Preserve) {FLU4, 74} + Field(OPR5, ByteAcc, NoLock, Preserve) {FLU5, 75} + Field(OPR6, ByteAcc, NoLock, Preserve) {FLU6, 76} + + Store (0xffffffffffffff00, FLU0) + Store (0xffffffffffffff01, FLU1) + Store (0xffffffffffffff02, FLU2) + Store (0xffffffffffffff03, FLU3) + + // SMBus write requires Buffer + // SMBus bidirectional buffer size + // ACPI_SMBUS_BUFFER_SIZE 34 + Store (Buffer(34){0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, FLU4) + + Store (0xffffffffffffff05, FLU5) + Store (0xffffffffffffff06, FLU6) + + } + + // Access both static and dynamic OpRegions + Method(TST7) + { + // Static + TST1() + + // Dynamic + TST6() + + // Static, Root located + TST0() + } + + Device (PCI1) { + OperationRegion (IDE1, PCI_Config, 0x00, 0xFF) + + Field (IDE1, DWordAcc, NoLock, Preserve) { + Offset (0x6C), + IPDC, 32} + + Name (_HID, EisaId ("PNP0A03")) + + Name (_CID, Package (0x03) { + 0x00102E4F, + EisaId ("PNP0A01"), + 0x130FD041}) + + Name (_ADR, 0x11) + Name (_BBN, 0x11) + + Name (REGC, 0x00) // Count + Name (REGE, 0x00) // NumErrors + Name (REGS, 0xFF) // Status (Activate/DeActivate) + + Method(_REG, 2) + { + Store("\\PCI1._REG:", Debug) + Store(arg0, Debug) + Store(arg1, Debug) + + Increment(REGC) + + if (LNotEqual(arg0, 2)) { // PCI_Config + Increment(REGE) + } elseif (LAnd(LNotEqual(arg1, 1), LNotEqual(arg1, 0))) { + Increment(REGE) + } else { + Store(arg1, REGS) + } + } + + // Device + Device(DEVA) {Name(s000, "DEVA")} + + Method(ACC0) + { + Store("\\PCI1.ACC0:", Debug) + Store(0xABCD, \PCI1.IPDC) + Store(\PCI1.IPDC, Debug) + } + } + + Device (PCI2) { + + Device(DEVA) { + Name(s000, "DEVA") + + OperationRegion (IDE1, PCI_Config, 0x100, 0xFF) + + Field (IDE1, DWordAcc, NoLock, Preserve) { + Offset (0x6C), + IPDC, 32} + + Name (_HID, EisaId ("XXX0A03")) + + Name (_CID, Package (0x03) { + 0x00102E4F, + EisaId ("PNP0A03"), + 0x130FD041}) + + Name (_ADR, 0x22) + Name (_BBN, 0x22) + + Name (REGC, 0x00) // Count + Name (REGE, 0x00) // NumErrors + Name (REGS, 0xFF) // Status (Activate/DeActivate) + + Method(_REG, 2) + { + Store("\\PCI2.DEVA._REG:", Debug) + Store(arg0, Debug) + Store(arg1, Debug) + + Increment(REGC) + + if (LNotEqual(arg0, 2)) { // PCI_Config + Increment(REGE) + } elseif (LAnd(LNotEqual(arg1, 1), LNotEqual(arg1, 0))) { + Increment(REGE) + } else { + Store(arg1, REGS) + } + } + + Method(ACC0) + { + Store("\\PCI2.DEVA.ACC0:", Debug) + Store(0xABCD, \PCI2.DEVA.IPDC) + Store(\PCI2.DEVA.IPDC, Debug) + } + } + + + Device(DEVB) { + Name(s000, "DEVB") + + OperationRegion (IDE1, PCI_Config, 0x200, 0xFF) + + Field (IDE1, DWordAcc, NoLock, Preserve) { + Offset (0x6C), + IPDC, 32} + + Name (_HID, EisaId ("XXX0A03")) + + Name (_CID, Package (0x03) { + 0x00102E4F, + EisaId ("XXX0A03"), + 0x130FD041}) + + Name (_ADR, 0x33) + Name (_BBN, 0x33) + + Name (REGC, 0x00) // Count + Name (REGE, 0x00) // NumErrors + Name (REGS, 0xFF) // Status (Activate/DeActivate) + + Method(_REG, 2) + { + Store("\\PCI2.DEVB._REG:", Debug) + Store(arg0, Debug) + Store(arg1, Debug) + + Increment(REGC) + + if (LNotEqual(arg0, 2)) { // PCI_Config + Increment(REGE) + } elseif (LAnd(LNotEqual(arg1, 1), LNotEqual(arg1, 0))) { + Increment(REGE) + } else { + Store(arg1, REGS) + } + } + + Method(ACC0) + { + Store("\\PCI2.DEVB.ACC0:", Debug) + Store(0xABCD, \PCI2.DEVB.IPDC) + Store(\PCI2.DEVB.IPDC, Debug) + } + } + } +} diff --git a/tests/aapits/asl/hndl0115.asl b/tests/aapits/asl/hndl0115.asl new file mode 100755 index 0000000..ecd09b1 --- /dev/null +++ b/tests/aapits/asl/hndl0115.asl @@ -0,0 +1,29 @@ +DefinitionBlock( + "hndl0115.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Misc Handlers test 0015 + */ + + OperationRegion(OPR4, SMBus, 0x69000, 0x14000) + + Method(TST5) + { + + // Field Units + Field(OPR4, BufferAcc, NoLock, Preserve) {FLU4, 74} + + // SMBus write requires Buffer + // SMBus bidirectional buffer size + // ACPI_SMBUS_BUFFER_SIZE 34 + Store (Buffer(34){0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, FLU4) + + } +} diff --git a/tests/aapits/asl/init0030.asl b/tests/aapits/asl/init0030.asl new file mode 100755 index 0000000..d7cb783 --- /dev/null +++ b/tests/aapits/asl/init0030.asl @@ -0,0 +1,30 @@ +DefinitionBlock( + "init0030.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Init tests 0030 + */ + + // Device + Device(DEV0) { + Name(s000, "DEV0") + Name(i000, 0) + + Method (_INI, 0, NotSerialized) + { + Decrement (i000) + } + + Method (_STA, 0, NotSerialized) + { + Return (0xf) + } + } +} diff --git a/tests/aapits/asl/init0032.asl b/tests/aapits/asl/init0032.asl new file mode 100755 index 0000000..c25ed3f --- /dev/null +++ b/tests/aapits/asl/init0032.asl @@ -0,0 +1,208 @@ +DefinitionBlock( + "init0032.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Init tests 0032, 0033, 0047, 0048, 0051, 0052 supporting code + */ + + // Integer + Name(INT0, 0) + Name(INT1, 0xfedcba9876543211) + Name(INT2, 257) + Name(INT3, 65) + + // String + Name(STR0, "source string") + Name(STR1, "target string") + Name(STR2, "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(BUFY, Buffer(INT2){}) + Name(BUFZ, Buffer(9){0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88}) + + // 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"}) + + Name(PACO, Package(2) {"OPR0", "OPR1"}) + Name(PACB, Package(4) {"BFL0", "BFL2", "BFL4", "BFL6"}) + + // Field Unit + Field(OPR0, ByteAcc, NoLock, Preserve) { + FLU0, 69, + FLU2, 64, + FLU4, 32, + } + + // Device + + Name(INVC, 0) // Counter of Devices' _INI and _STA methods invocations + Name(INVM, 0) // Mask of Devices' _INI and _STA methods invocations + + Method(LOGM, 2) { + Store(arg0, Debug) + Increment(INVC) + Or(INVM, arg1, INVM) + } + + // Without the _STA or _INI methods + Device(DEV0) {Name(s000, "DEV0")} + + // With the _INI method only (default _STA) + Device(DEV1) { + Name(s000, "DEV1") + Method(_INI) { + LOGM(s000, 0x01) + } + } + + // With the _STA method only + Device(\_SB.DEV2) { + Name(s000, "DEV2") + Method(_STA) { + LOGM(s000, 0x02) + Return(0xf) + } + } + + // With the both _INI and _STA methods + Device(\_SB.DEV2.DEV3) { + Name(s000, "DEV3") + Method(_INI) { + LOGM(s000, 0x04) + } + Method(_STA) { + LOGM(s000, 0x08) + Return(0xf) + } + } + + // With the both _INI and _STA methods + // but the last indicates that device + // is not configured + Device(\_SB.DEV2.DEV4) { + Name(s000, "DEV4") + Method(_INI) { + LOGM(s000, 0x10) + } + Method(_STA) { + LOGM(s000, 0x20) + Return(0x0) + } + } + + // With the both _INI and _STA methods + Device(\DEV0.DEV5) { + Name(s000, "DEV5") + Method(_INI) { + LOGM(s000, 0x40) + } + Method(_STA) { + LOGM(s000, 0x80) + Return(0xf) + } + } + + // With the both _INI and _STA methods + Device(\DEV0.DEV5.DEV6) { + Name(s000, "DEV6") + Method(_INI) { + LOGM(s000, 0x100) + } + Method(_STA) { + LOGM(s000, 0x200) + Return(0xf) + } + } + + // With the both _INI and _STA methods + Device(\DEV0.DEV7) { + Name(s000, "DEV7") + Method(_INI) { + LOGM(s000, 0x400) + } + Method(_STA) { + LOGM(s000, 0x800) + Return(0xf) + } + } + + // With the both _INI and _STA methods, + // but the last indicates that device: + // - is not present, + // - is not enabled. + Device(\DEV0.DEV8) { + Name(s000, "DEV8") + Method(_INI) { + LOGM(s000, 0x1000) + } + Method(_STA) { + LOGM(s000, 0x2000) + Return(0xc) + } + } + + // 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) + + // 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) + + Method(M000) + { + Increment(INT0) + } + + Method(M001) + { + Return(BFL0) + } +} diff --git a/tests/aapits/asl/init0034.asl b/tests/aapits/asl/init0034.asl new file mode 100755 index 0000000..74f7267 --- /dev/null +++ b/tests/aapits/asl/init0034.asl @@ -0,0 +1,142 @@ +DefinitionBlock( + "init0034.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Init tests 0034 ... supporting code + */ + + // Integer + Name(INT0, 0) + Name(INT1, 0xfedcba9876543211) + Name(INT2, 257) + Name(INT3, 65) + + // String + Name(STR0, "source string") + Name(STR1, "target string") + + // Buffer + + Name(INTB, 9) + + Name(BUF0, Buffer(Increment(INTB)){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(BUFX, Buffer(17){16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0}) + Name(BUFY, Buffer(INT2){}) + Name(BUFZ, Buffer(9){0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0xff}) + + // Package + + Name(INTP, 3) + + Name(PAC0, Package(Increment(INTP)) { + 0xfedcba987654321f, + "test package", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + + Name(PAC1, Package(1) {"target package"}) + + Name(PACO, Package(2) {"OPR0", "OPR1"}) + Name(PACB, Package(4) {"BFL0", "BFL2", "BFL4", "BFL6"}) + + // 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) + + // Operation Region + + Name(INTR, 49) + + OperationRegion(OPR0, SystemMemory, 0, Increment(INTR)) + + 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 + + Name(INTF, 64) + + CreateField(BUFZ, 0, Increment(INTF), BFL0) + + Name(INTG, 6) + + CreateByteField(BUFZ, Increment(INTG), BFL1) + + Name(INTH, 4) + + CreateWordField(BUFZ, Increment(INTH), BFL2) + + Name(INTI, 2) + + CreateDWordField(BUFZ, Increment(INTI), BFL3) + + Name(INTJ, 0) + + CreateQWordField(BUFX, Increment(INTJ), BFL4) + + Method(M000) + { + Increment(INT0) + } + + Method(M001) + { + Return(BFL0) + } + + Method(M002) + { + Name(INTB, 63) + Createfield(BUFZ, 0, Increment(INTB), BFL0) + + Return(BFL0) + } +} diff --git a/tests/aapits/asl/init0058.asl b/tests/aapits/asl/init0058.asl new file mode 100755 index 0000000..ba62468 --- /dev/null +++ b/tests/aapits/asl/init0058.asl @@ -0,0 +1,207 @@ +DefinitionBlock( + "init0058.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Init test 0058 supporting code + */ + + // Integer + Name(INT0, 0) + Name(INT1, 0xfedcba9876543211) + Name(INT2, 257) + Name(INT3, 65) + + // String + Name(STR0, "source string") + Name(STR1, "target string") + Name(STR2, "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(BUFY, Buffer(INT2){}) + Name(BUFZ, Buffer(9){0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88}) + + // 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"}) + + Name(PACO, Package(2) {"OPR0", "OPR1"}) + Name(PACB, Package(4) {"BFL0", "BFL2", "BFL4", "BFL6"}) + + // Field Unit + Field(OPR0, ByteAcc, NoLock, Preserve) { + FLU0, 69, + FLU2, 64, + FLU4, 32, + } + + // Device + + Name(INVC, 0) // Counter of Devices' _INI and _STA methods invocations + Name(INVM, 0) // Mask of Devices' _INI and _STA methods invocations + + // Without the _STA or _INI methods + Device(DEV0) {Name(s000, "DEV0")} + + // With the _INI method only (default _STA) + Device(DEV1) { + Name(s000, "DEV1") + Method(_INI) { + Increment(INVC) + Or(INVM, 0x01, INVM) + } + } + + // With the _STA method only + Device(\_SB.DEV2) { + Name(s000, "DEV2") + Method(_STA) { + Increment(INVC) + Or(INVM, 0x02, INVM) + Return(0xf) + } + } + + // With the both _INI and _STA methods + Device(\DEV0.DEV3) { + Name(s000, "DEV3") + Method(_INI) { + Increment(INVC) + Or(INVM, 0x04, INVM) + } + Method(_STA) { + Increment(INVC) + Or(INVM, 0x08, INVM) + Return(0xf) + } + } + + // With the both _INI and _STA methods + Device(\DEV0.DEV3.DEV4) { + Name(s000, "DEV4") + Method(_INI) { + Increment(INVC) + Or(INVM, 0x10, INVM) + } + Method(_STA) { + Increment(INVC) + Or(INVM, 0x20, INVM) + Return(0xf) + } + } + + // With the both _INI and _STA methods + Device(\DEV0.DEV5) { + Name(s000, "DEV5") + Method(_INI) { + Increment(INVC) + Or(INVM, 0x40, INVM) + } + Method(_STA) { + Increment(INVC) + Or(INVM, 0x80, INVM) + Return(0xf) + } + } + + // With the both _INI and _STA methods, + // but the last indicates that device: + // - is not present, + // - is not enabled. + Device(\DEV0.DEV6) { + Name(s000, "DEV6") + Method(_INI) { + Increment(INVC) + Or(INVM, 0x100, INVM) + } + Method(_STA) { + Increment(INVC) + Or(INVM, 0x200, INVM) + Return(0xc) + } + } + + // 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) + + // 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) + + Method(M000, 7) + { + Increment(INT0) + } + + Method(M001) + { + Return(BFL0) + } + + Method(fact, 1) + { + if (Arg0) { + Subtract(Arg0, 1, Local0) + if (Local0) { + Store (fact(Local0), Local1) + Return (Multiply(Arg0, Local1)) + } else { + Return (1) + } + } else { + Return (1) + } + + } + + Method(MAIN) + { + Return (fact(6)) + } +} diff --git a/tests/aapits/asl/init0059.asl b/tests/aapits/asl/init0059.asl new file mode 100755 index 0000000..b6dcb23 --- /dev/null +++ b/tests/aapits/asl/init0059.asl @@ -0,0 +1,248 @@ +DefinitionBlock( + "init0059.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Init tests 0032, 0033, 0047, 0048, 0051, 0052 supporting code + */ + + // Integer + Name(INT0, 0) + Name(INT1, 0xfedcba9876543211) + Name(INT2, 257) + Name(INT3, 65) + + // String + Name(STR0, "source string") + Name(STR1, "target string") + Name(STR2, "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(BUFY, Buffer(INT2){}) + Name(BUFZ, Buffer(9){0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88}) + + // 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"}) + + Name(PACO, Package(2) {"OPR0", "OPR1"}) + Name(PACB, Package(4) {"BFL0", "BFL2", "BFL4", "BFL6"}) + + // Field Unit + Field(OPR0, ByteAcc, NoLock, Preserve) { + FLU0, 69, + FLU2, 64, + FLU4, 32, + } + + // Device + + Name(INVC, 0) // Counter of Devices' _INI and _STA methods invocations + Name(INVM, 0) // Mask of Devices' _INI and _STA methods invocations + + Method(LOGM, 2) { + Store(arg0, Debug) + Increment(INVC) + Or(INVM, arg1, INVM) + } + + // Without the _STA or _INI methods + Device(DEV0) {Name(s000, "DEV0")} + + // With the _INI method only (default _STA) + Device(DEV1) { + Name(s000, "DEV1") + Method(_INI) { + LOGM(s000, 0x01) + } + } + + // With the _STA method only + Device(\_SB.DEV2) { + Name(s000, "DEV2") + Method(_STA) { + LOGM(s000, 0x02) + Return(0xf) + } + } + + // With the both _INI and _STA methods + Device(\_SB.DEV2.DEV3) { + Name(s000, "DEV3") + Method(_INI) { + LOGM(s000, 0x04) + } + Method(_STA) { + LOGM(s000, 0x08) + Return(0xf) + } + } + + // With the both _INI and _STA methods + // but the last indicates that device + // is not configured + Device(\_SB.DEV2.DEV4) { + Name(s000, "DEV4") + Method(_INI) { + LOGM(s000, 0x10) + } + Method(_STA) { + LOGM(s000, 0x20) + Return(0x0) + } + } + + // With the both _INI and _STA methods + Device(\DEV0.DEV5) { + Name(s000, "DEV5") + Method(_INI) { + LOGM(s000, 0x40) + } + Method(_STA) { + LOGM(s000, 0x80) + Return(0xf) + } + } + + // With the both _INI and _STA methods + Device(\DEV0.DEV5.DEV6) { + Name(s000, "DEV6") + Method(_INI) { + LOGM(s000, 0x100) + } + Method(_STA) { + LOGM(s000, 0x200) + Return(0xf) + } + } + + // With the both _INI and _STA methods + Device(\DEV0.DEV7) { + Name(s000, "DEV7") + Method(_INI) { + LOGM(s000, 0x400) + } + Method(_STA) { + LOGM(s000, 0x800) + Return(0xf) + } + } + + // With the both _INI and _STA methods, + // but the last indicates that device: + // - is not present, + // - is not enabled. + Device(\DEV0.DEV8) { + Name(s000, "DEV8") + Method(_INI) { + LOGM(s000, 0x1000) + } + Method(_STA) { + LOGM(s000, 0x2000) + Return(0xc) + } + } + + // With the both _INI and _STA methods, + // children of not present but functioning Device + Device(\DEV0.DEV8.DEV9) { + Name(s000, "DEV9") + Method(_INI) { + LOGM(s000, 0x4000) + } + Method(_STA) { + LOGM(s000, 0x8000) + Return(0xf) + } + } + + // With the both _INI and _STA methods + // - is not present, + // - is not enabled, + // - is not functioning. + Device(\DEV0.DEVA) { + Name(s000, "DEVA") + Method(_INI) { + LOGM(s000, 0x10000) + } + Method(_STA) { + LOGM(s000, 0x20000) + Return(0x4) + } + } + + // With the both _INI and _STA methods + Device(\DEV0.DEVA.DEVB) { + Name(s000, "DEVB") + Method(_INI) { + LOGM(s000, 0x40000) + } + Method(_STA) { + LOGM(s000, 0x80000) + Return(0xf) + } + } + + // 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) + + // 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) + + Method(M000) + { + Increment(INT0) + } + + Method(M001) + { + Return(BFL0) + } +} diff --git a/tests/aapits/asl/init0066.asl b/tests/aapits/asl/init0066.asl new file mode 100755 index 0000000..4c6e2a4 --- /dev/null +++ b/tests/aapits/asl/init0066.asl @@ -0,0 +1,28 @@ +DefinitionBlock( + "init0066.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + Name(INT0, 64) + + // Base of Buffer Field + Name(BUFY, Buffer(9){1,2,3,4,5,6,7,8,0xff}) + + Createfield(BUFY, 0, INT0, BFL0) +// Createfield(BUFY, 0, Add(INT0, 1), BFL1) + Method(MBF0) + { + Return (BFL0) + } + +/* + Method(MBF1) + { + Return (BFL1) + } +*/ +} diff --git a/tests/aapits/asl/init0121.asl b/tests/aapits/asl/init0121.asl new file mode 100755 index 0000000..bea4833 --- /dev/null +++ b/tests/aapits/asl/init0121.asl @@ -0,0 +1,63 @@ +DefinitionBlock( + "init0121.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Init tests 0121 + */ + + // Operation Region + OperationRegion(OPR0, SystemMemory, 0, 48) + + // Device + Device(DEV0) { + Name(s000, "DEV0") +// Name (_PRW, Package(2) {0x11, 3}) + +///* + Name(WAKR, 1) + + // Field Unit + Field(OPR0, ByteAcc, Lock, Preserve) { + WOR0, 69, + WOR3, 32, + } + + Method (_PRW, 0, NotSerialized) + { + If (WAKR) { + Return (WOR0) + } Else { + Return (WOR3) + } + } +//*/ + } + + Method(fact, 1) + { + if (Arg0) { + Subtract(Arg0, 1, Local0) + if (Local0) { + Store (fact(Local0), Local1) + Return (Multiply(Arg0, Local1)) + } else { + Return (1) + } + } else { + Return (1) + } + + } + + Method(MAIN) + { + Return (fact(6)) + } +} diff --git a/tests/aapits/asl/init1065.asl b/tests/aapits/asl/init1065.asl new file mode 100755 index 0000000..3e901f4 --- /dev/null +++ b/tests/aapits/asl/init1065.asl @@ -0,0 +1,373 @@ +DefinitionBlock( + "init1065.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Init tests 0038 and 0039 supporting code + */ + + // Integer + Name(INT0, 0) + Name(INT1, 0xfedcba9876543211) + Name(INT2, 257) + Name(INT3, 65) + + // String + Name(STR0, "source string") + Name(STR1, "target string") + Name(STR2, "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(BUFY, Buffer(INT2){}) + Name(BUFZ, Buffer(9){0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88}) + + // 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"}) + + Name(PACO, Package(2) {"OPR0", "OPR1"}) + Name(PACB, Package(4) {"BFL0", "BFL2", "BFL4", "BFL6"}) + + // Field Unit + Field(OPR0, ByteAcc, NoLock, Preserve) { + FLU0, 69, + FLU2, 64, + FLU4, 32, + } + + // Device + + Name(INVC, 0) // Counter of Devices' _INI and _STA methods invocations + Name(INVM, 0) // Mask of Devices' _INI and _STA methods invocations + + // Without the _STA or _INI methods + Device(DEV0) {Name(s000, "DEV0")} + + // With the _INI method only (default _STA) + Device(DEV1) { + Name(s000, "DEV1") + Method(_INI) { + Increment(INVC) + Or(INVM, 0x01, INVM) + } + } + + // With the _STA method only + Device(\_SB.DEV2) { + Name(s000, "DEV2") + Method(_STA) { + Increment(INVC) + Or(INVM, 0x02, INVM) + Return(0xf) + } + } + + // With the both _INI and _STA methods + Device(\DEV0.DEV3) { + Name(s000, "DEV3") + Method(_INI) { + Increment(INVC) + Or(INVM, 0x04, INVM) + } + Method(_STA) { + Increment(INVC) + Or(INVM, 0x08, INVM) + Return(0xf) + } + } + + // With the both _INI and _STA methods + Device(\DEV0.DEV3.DEV4) { + Name(s000, "DEV4") + Method(_INI) { + Increment(INVC) + Or(INVM, 0x10, INVM) + } + Method(_STA) { + Increment(INVC) + Or(INVM, 0x20, INVM) + Return(0xf) + } + } + + // With the both _INI and _STA methods + Device(\DEV0.DEV5) { + Name(s000, "DEV5") + Method(_INI) { + Increment(INVC) + Or(INVM, 0x40, INVM) + } + Method(_STA) { + Increment(INVC) + Or(INVM, 0x80, INVM) + Return(0xf) + } + } + + // With the both _INI and _STA methods, + // but the last indicates that device: + // - is not present, + // - is not enabled. + Device(\DEV0.DEV6) { + Name(s000, "DEV6") + Method(_INI) { + Increment(INVC) + Or(INVM, 0x100, INVM) + } + Method(_STA) { + Increment(INVC) + Or(INVM, 0x200, INVM) + Return(0xc) + } + } + + // 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) + + // 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) + + Method(M000, 7) + { + Increment(INT0) + } + + Method(M001) + { + Return(BFL0) + } + + Name (POUT, Package(1) {}) + Name (IMAX, 0) + Name (IOUT, 0) + + // Useful for indirect storing + + Method(RSTO, 2) {Store(arg0, arg1)} + + Method(DSTO, 2) {Store(Derefof(arg0), arg1)} + + // Init the output package data + Method(INIP, 2) + { + Store (0, IOUT) + Store (arg0, IMAX) + + if (LLess(IMAX, 1)) { + Store (1, IMAX) + } + + if (LGreater(IMAX, 16)) { + Store (16, IMAX) + } + + Switch (IMAX) { + Case (1) {RSTO(Package(1){}, Refof(POUT))} + Case (2) {RSTO(Package(2){}, Refof(POUT))} + Case (3) {RSTO(Package(3){}, Refof(POUT))} + Case (4) {RSTO(Package(4){}, Refof(POUT))} + Case (5) {RSTO(Package(5){}, Refof(POUT))} + Case (6) {RSTO(Package(6){}, Refof(POUT))} + Case (7) {RSTO(Package(7){}, Refof(POUT))} + Case (8) {RSTO(Package(8){}, Refof(POUT))} + Case (9) {RSTO(Package(9){}, Refof(POUT))} + Case (10) {RSTO(Package(10){}, Refof(POUT))} + Case (11) {RSTO(Package(11){}, Refof(POUT))} + Case (12) {RSTO(Package(12){}, Refof(POUT))} + Case (13) {RSTO(Package(13){}, Refof(POUT))} + Case (14) {RSTO(Package(14){}, Refof(POUT))} + Case (15) {RSTO(Package(15){}, Refof(POUT))} + Case (16) {RSTO(Package(16){}, Refof(POUT))} + Default {RSTO(Package(32){}, Refof(POUT))} + } + + OUTP(arg1) + } + + Method(OUTP, 1) + { + if (LLess(IOUT, IMAX)) { + Store (arg0, Index(POUT, IOUT)) + Increment(IOUT) + } + } + + 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 (LNotEqual(i000, 0x11)) { + OUTP("Error 0:") + OUTP(i000) + } else { + if (LNotEqual(Local6, 0x88)) { + OUTP("Error 10:") + } 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 (LNotEqual(i000, 0x11)) { + OUTP("Error 1:") + OUTP(i000) + } else { + if (LNotEqual(arg6, 0x88)) { + OUTP("Error 11:") + } 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 (LNotEqual(i000, 0x11)) { + OUTP("Error 1:") + OUTP(i000) + } else { + if (LNotEqual(arg6, 0x88)) { + OUTP("Error 11:") + } else { + OUTP("Ok 1:") + } + OUTP(arg6) + } + + OUTP("ArgX case of Method finished") + } + + INIP(5, "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(i000),Refof(i001),Refof(i002),Refof(i003),Refof(i004), + Refof(i005),Refof(i006)) + } + + Return (POUT) + } + + Method(fact, 1) + { + if (Arg0) { + Subtract(Arg0, 1, Local0) + if (Local0) { + Store (fact(Local0), Local1) + Return (Multiply(Arg0, Local1)) + } else { + Return (1) + } + } else { + Return (1) + } + + } + + Method(MAIN) + { + Return (fact(6)) + } +} diff --git a/tests/aapits/asl/nmsp0000.asl b/tests/aapits/asl/nmsp0000.asl new file mode 100755 index 0000000..8ba7427 --- /dev/null +++ b/tests/aapits/asl/nmsp0000.asl @@ -0,0 +1,789 @@ +DefinitionBlock( + "nmsp0000.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + Include("../asl/tblm_aux.asl") + + /* + * ACPICA API Test Suite + * Namespace test 0000 + */ + + // Objects of different types on Global Level + + // 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){ + 160,161,162,163,164,165,166,167,168,169, + 170,171,172,173,174,175,176,177,178,179}) + + // 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, + } + + // Device + Device(DEV0) {Name(s000, "DEV0")} + + // Event + Event(EVE0) + + // Method + Method(MMM0) {Return ("ff0X")} + + // Mutex + Mutex(MTX0, 0) + + // 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) + + // Output Integer + Name(IOUT, 0x1FF) + + // Output Buffer + Name(BOUT, Buffer(8){}) + + // Objects to check access to NS tree + + Name(n0l0, 0x0000) + Name(n0l1, 0x0001) + Name(n0l2, 0x0002) + Name(n0l3, 0x0003) + Name(l4, 0x0004) + + Device(d1l0) { + // Objects of different types on Level 1 + + // Integer + Name(INT0, 0xfedcba9876543210) + + // String + Name(STR0, "source string") + + // Buffer + Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1}) + + // 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, + } + + // Device + Device(DEV0) {Name(s000, "DEV0")} + + // Event + Event(EVE0) + + // Method + Method(MMM0) {Return ("ff0X")} + + // Mutex + Mutex(MTX0, 0) + + // 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) + } + + Method(M100) + { + Increment(IOUT) + } + + Method(M000) + { + Store(0x200, IOUT) + + Return (IOUT) + } + + Device(d1l1) { + Name(_HID, "PNP0A01") + Name(_UID, 0) + Name(_CID, "PNP0A21") + Name(_ADR, 0xF00000001) + Name(_STA, 0xFFFFFFFFF) + Name(_S1D, 0x01) + + Method(M000) + { + Store(0x201, IOUT) + + Return (IOUT) + } + + Method(M001, 1) + { + Store(Arg0, Index(BOUT, 0)) + + Return (BOUT) + } + + Device(d2l0) { + Method(_HID) {Return (EISAID("PNP0A02"))} + Name(_UID, 1) + Name(_CID, EISAID("PNP0A22")) + Name(_ADR, 0xF00000002) + Name(_S2D, 0x02) + + Method(M000) + { + Store(0x202, IOUT) + + Return (IOUT) + } + + Method(M002, 2) + { + Store(Arg0, Index(BOUT, 0)) + Store(Arg1, Index(BOUT, 1)) + + Return (BOUT) + } + + Device(d3l0) { + Name(_HID, "ACPI0A03") + Method(_UID) {Return ("d3l0_UID")} + Name(_CID, Package(){"PNP0A23", "PCI\\VEN_1234&DEV_5678"}) + Name(_ADR, 0xF00000003) + Name(_STA, 0xFFFFFFEF) + Method(_S3D) {Return (0x03)} + + Method(M000) + { + Store(0x203, IOUT) + + Return (IOUT) + } + + Method(M003, 3) + { + Store(Arg0, Index(BOUT, 0)) + Store(Arg1, Index(BOUT, 1)) + Store(Arg2, Index(BOUT, 2)) + + Return (BOUT) + } + + Device(d4l) { + Name(_HID, EISAID("PNP0A04")) + Name(_UID, 999999999) + Method(_CID) {Return ("PNP0A24")} + Name(_STA, 0xFFFFFF7) + Name(_S4D, 0x04) + + Method(M000) + { + Store(0x204, IOUT) + + Return (IOUT) + } + + Method(M004, 4) + { + Store(Arg0, Index(BOUT, 0)) + Store(Arg1, Index(BOUT, 1)) + Store(Arg2, Index(BOUT, 2)) + Store(Arg3, Index(BOUT, 3)) + + Return (BOUT) + } + + Device(d5l0) { + Name(_HID, "PNP0A05") + Name(_UID, 1000000000) + Name(_CID, EISAID("PNP0A25")) + Method(_ADR) {Return (0xF00000005)} + Name(_STA, 0xFFFFFB) + + Method(M000) + { + Store(0x205, IOUT) + + Return (IOUT) + } + + Method(M005, 5) + { + Store(Arg0, Index(BOUT, 0)) + Store(Arg1, Index(BOUT, 1)) + Store(Arg2, Index(BOUT, 2)) + Store(Arg3, Index(BOUT, 3)) + Store(Arg4, Index(BOUT, 4)) + + Return (BOUT) + } + + Device(d6l0) { + Name(_HID, EISAID("PNP0A06")) + Name(_UID, "d6l0_UID") + Name(_ADR, 0xF00000006) + Method(_STA) {Return (0xFFFFD)} + Name(_S1D, 0x04) + Name(_S2D, 0x03) + Name(_S3D, 0x02) + Name(_S4D, 0x01) + + Method(M000) + { + Store(0x206, IOUT) + + Return (IOUT) + } + + Method(M006, 6) + { + Store(Arg0, Index(BOUT, 0)) + Store(Arg1, Index(BOUT, 1)) + Store(Arg2, Index(BOUT, 2)) + Store(Arg3, Index(BOUT, 3)) + Store(Arg4, Index(BOUT, 4)) + Store(Arg5, Index(BOUT, 5)) + + Return (BOUT) + } + + Device(d7l0) { + Name(_HID, "ACPI0A07") + Method(_CID) {Return (Package(){ + "PNP0A27", + EISAID("PNP0A04"), + "PCI\\VEN_ffff&DEV_dddd&SUBSYS_cccccccc&REV_01"})} + Name(_ADR, 0xF00000007) + Name(_STA, 0xFFFF) + Name(_S1D, 0x01) + Name(_S3D, 0x02) + + Method(M000) + { + Store(0x207, IOUT) + + Return (IOUT) + } + + Method(M007, 7) + { + Store(Arg0, Index(BOUT, 0)) + Store(Arg1, Index(BOUT, 1)) + Store(Arg2, Index(BOUT, 2)) + Store(Arg3, Index(BOUT, 3)) + Store(Arg4, Index(BOUT, 4)) + Store(Arg5, Index(BOUT, 5)) + Store(Arg6, Index(BOUT, 6)) + + Return (BOUT) + } + Device(d8l0) { + Name(_UID, "d8l0_UID") + Name(_CID, "PNP0A28") + Name(_ADR, 0xF00000008) + Name(_STA, 0xFFFE) + Name(_S2D, 0xf3) + Name(_S3D, 0xe2) + Method(_S4D) {Return (0xd1)} + + Method(M000) + { + Store(0x208, IOUT) + + Return (IOUT) + } + + Device(d9l0) { + Name(_HID, EISAID("PNP0A09")) + Name(_UID, "d9l0_UID") + Name(_CID, Package(){ + EISAID("PNP0A29"), + "PCI\\CC_1234", + "PCI\\CC_546372", + "PCI\\VEN_ffff&DEV_dddd&SUBSYS_cccccccc&REV_01", + "PCI\\VEN_eeee&DEV_cccc&SUBSYS_bbbbbbbb", + "PCI\\VEN_dddd&DEV_bbbb&REV_23", + "PCI\\VEN_cccc&DEV_aaaa"}) + Name(_ADR, 0xF00000009) + Name(_STA, 0x0) + + Method(M000) + { + Store(0x209, IOUT) + + Return (IOUT) + } + + } + } + } + } + } + } + } + } + } + Device(d1l2) { + } + Scope (d1l0) { + Name(n0l0, 0x0100) + Name(n0l1, 0x0101) + Name(n0l2, 0x0102) + Name(n0l3, 0x0103) + Name(l4, 0x0104) + } + Scope (d1l1) { + Name(n0l0, 0x0110) + Name(n1l1, 0x0111) + Name(n0l2, 0x0112) + Name(n1l3, 0x0113) + Name(l4, 0x0114) + Scope (d2l0) { + Name(n0l0, 0x0120) + Name(n1l1, 0x0121) + Name(n0l2, 0x0122) + Name(n1l3, 0x0123) + Name(l4, 0x0124) + Scope (d3l0) { + Name(n0l0, 0x0130) + Name(n1l1, 0x0131) + Name(n0l2, 0x0132) + Name(n1l3, 0x0133) + Name(l4, 0x0134) + Scope (d4l) { + Name(n0l0, 0x0140) + Name(n1l1, 0x0141) + Name(n0l2, 0x0142) + Name(n1l3, 0x0143) + Name(l4, 0x0144) + Scope (d5l0) { + Name(n0l0, 0x0150) + Name(n1l1, 0x0151) + Name(n0l2, 0x0152) + Name(n1l3, 0x0153) + Name(l4, 0x0154) + Scope (d6l0) { + Name(n0l0, 0x0160) + Name(n1l1, 0x0161) + Name(n0l2, 0x0162) + Name(n1l3, 0x0163) + Name(l4, 0x0164) + Scope (d7l0) { + Name(n0l0, 0x0170) + Name(n1l1, 0x0171) + Name(n0l2, 0x0172) + Name(n1l3, 0x0173) + Name(l4, 0x0174) + Scope (d8l0) { + Name(n0l0, 0x0180) + Name(n1l1, 0x0181) + Name(n0l2, 0x0182) + Name(n1l3, 0x0183) + Name(l4, 0x0184) + Scope (d9l0) { + Name(n0l0, 0x0190) + Name(n1l1, 0x0191) + Name(n0l2, 0x0192) + Name(n1l3, 0x0193) + Name(l4, 0x0194) + + // Objects of different types on Nested Level 9 + + // Integer + Name(INT0, 0xfedcba9876543210) + + // String + Name(STR0, "source string") + + // Buffer + Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1}) + + // 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, + } + + // Device + Device(DEV0) {Name(s000, "DEV0")} + + // Event + Event(EVE0) + + // Method + Method(MMM0) {Return ("ff0X")} + + // Mutex + Mutex(MTX0, 0) + + // 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) + + Device(dal0) { + + // Multiple Objects of different types on Nested Level 10 + + // Integer + Name(INT0, 0xfedcba9876543210) + 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) + + // String + Name(STR0, "source string0") + Name(STR1, "source string1") + Name(STR2, "source string2") + Name(STR3, "source string3") + Name(STR4, "source string4") + Name(STR5, "source string5") + Name(STR6, "source string6") + Name(STR7, "source string7") + Name(STR8, "source string8") + + // Buffer + Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1}) + Name(BUF1, Buffer(8){8,7,6,5,4,3,2,1}) + Name(BUF2, Buffer(7){7,6,5,4,3,2,1}) + Name(BUF3, Buffer(6){6,5,4,3,2,1}) + Name(BUF4, Buffer(5){5,4,3,2,1}) + Name(BUF5, Buffer(4){4,3,2,1}) + Name(BUF6, Buffer(3){3,2,1}) + Name(BUF7, Buffer(2){2,1}) + + // Package + Name(PAC0, Package(3) { + 0xfedcba987654321f, + "test package0", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC1, Package(3) { + 0xfedcba987654321f, + "test package1", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC2, Package(3) { + 0xfedcba987654321f, + "test package2", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + + // Field Unit + Field(OPR0, ByteAcc, NoLock, Preserve) { + FLU0, 69, + FLU1, 68, + FLU2, 67, + FLU3, 66, + FLU4, 65, + FLU5, 64, + } + + // Device + Device(DEV0) {Name(s000, "DEV0")} + Device(DEV1) {Name(s000, "DEV1")} + Device(DEV2) {Name(s000, "DEV2")} + Device(DEV3) {Name(s000, "DEV3")} + + // Event + Event(EVE0) + Event(EVE1) + Event(EVE2) + + // Method + Method(MMM0) {Return (0)} + Method(MMM1) {Return (1)} + Method(MMM2) {Return (2)} + + // Mutex + Mutex(MTX0, 0) + Mutex(MTX1, 1) + Mutex(MTX2, 2) + Mutex(MTX3, 3) + Mutex(MTX4, 4) + + // Operation Region + OperationRegion(OPR0, SystemMemory, 0, 50) + OperationRegion(OPR1, SystemMemory, 200, 30) + + // Power Resource + PowerResource(PWR0, 0, 0) {Name(s000, "PWR0")} + PowerResource(PWR1, 0, 0) {Name(s000, "PWR1")} + PowerResource(PWR2, 0, 0) {Name(s000, "PWR2")} + + // Processor + Processor(CPU0, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU0")} + Processor(CPU1, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU1")} + Processor(CPU2, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU2")} + + // Thermal Zone + ThermalZone(TZN0) {Name(s000, "TZN0")} + ThermalZone(TZN1) {Name(s000, "TZN1")} + ThermalZone(TZN2) {Name(s000, "TZN2")} + + // Buffer Field + Createfield(\BUFZ, 0, 69, BFL0) + Createfield(\BUFZ, 7, 68, BFL1) + Createfield(\BUFZ, 11, 67, BFL2) + Createfield(\BUFZ, 13, 66, BFL3) + Createfield(\BUFZ, 24, 65, BFL4) + Createfield(\BUFZ, 29, 64, BFL5) + } + Include("nmsp0052.asl") + } + } + } + } + } + } + } + } + } + Scope (d1l2) { + Name(n0l0, 0x0210) + Name(n1l1, 0x0211) + Name(n0l2, 0x0212) + Name(n2l3, 0x0213) + Name(l4, 0x0214) + } + + Device(d1l3) { + // Objects of different types on Level 1 + + // Integer + Name(INT0, 0xfedcba9876543210) + + // String + Name(STR0, "source string") + + // Buffer + Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1}) + + // 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, + } + + // Device + Device(DEV0) {Name(s000, "DEV0")} + + // Event + Event(EVE0) + + // Method + Method(MMM0) {Return ("ff0X")} + + // Mutex + Mutex(MTX0, 0) + + // 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) + } + + /* + * ASSERTION 0006: + */ + + // Current Control State + Name(ICCS, 0) + + // Control Values + Name(I001, 1) + Name(I101, 1) + + Method(M001) + { + Store(0x1, ICCS) + M002() + Add(ICCS, 0x1, ICCS) + } + + Method(M002) + { + Add(ICCS, 0x10, ICCS) + M003() + Add(ICCS, 0x10, ICCS) + } + + Method(M003) + { + Add(ICCS, 0x100, ICCS) + Divide(ICCS, I001, , ICCS) + if (I001) { + Decrement(I001) + } + Add(ICCS, 0x100, ICCS) + } + + Method(M101) + { + Method(M002) + { + Method(M003) + { + Add(ICCS, 0x10000, ICCS) + Divide(ICCS, I101, , ICCS) + if (I101) { + Decrement(I101) + } + Add(ICCS, 0x10000, ICCS) + } + Add(ICCS, 0x1000, ICCS) + M003() + Add(ICCS, 0x1000, ICCS) + } + Store(0x1, ICCS) + M002() + Add(ICCS, 0x1, ICCS) + } + + Method(M120) + { + Store("M120 executed", Debug) + CopyObject("String120", \D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.INT0) + } + + Event(EBLK) + + Method(BLK0) + { + // Device + Device(DEVA) {Name(s000, "DEVA")} + + Store("Start BLK0", Debug) + + // Block on event + Wait(EBLK, 0xFFFF) + + Store("Finish BLK0", Debug) + } + + Method(BLK1) + { + Store("Start BLK1", Debug) +// Store(\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0, Debug) +/* + Scope (\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0) + { + // Device + Device(DEVA) {Name(s000, "DEVA")} + } +*/ + Device(\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEVA) + {Name(s000, "DEVA")} + + Store("Declare DEVA", Debug) + + // Block on event + Wait(EBLK, 0xFFFF) + + Store("Finish BLK0", Debug) + } + + Method(REL0) + { + // Release threads blocked on event + Signal (EBLK) + + Store("REL0: EBLK signaled", Debug) + } + + Method(MAIN) + { + Method(m000) + { + Name(i000, 0x574) + + Return (i000) + } + + Store(m000(), Debug) + } +} diff --git a/tests/aapits/asl/nmsp0010.asl b/tests/aapits/asl/nmsp0010.asl new file mode 100755 index 0000000..4e9a831 --- /dev/null +++ b/tests/aapits/asl/nmsp0010.asl @@ -0,0 +1,33 @@ +DefinitionBlock( + "nmsp0010.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Namespace test 0010 + */ + + Name(I000, 0) + Name(I001, 0) + + Method(M000, 1) + { + Method(M001) + { + Mutex(MTX1, 0x0100) + + Stall(1) + + Increment(I001) + } + + M001() + + Increment(I000) + } +} diff --git a/tests/aapits/asl/nmsp0011.asl b/tests/aapits/asl/nmsp0011.asl new file mode 100755 index 0000000..4880add --- /dev/null +++ b/tests/aapits/asl/nmsp0011.asl @@ -0,0 +1,47 @@ +DefinitionBlock( + "nmsp0011.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Namespace test 0011 + */ + + Name(I000, 0) + Name(I001, 0) + Name(I002, 0) + Name(I003, 0) + + Method(M000) + { + M001(RefOf(M002)) + + Store(M003(), Local0) + + Increment(I000) + } + + Method(M001, 1) + { + + CopyObject(DeRefOf(Arg0), M003) + + Increment(I001) + } + + Method(M002) + { + Increment(I002) + } + + Method(M003) + { + Increment(I003) + Return(0x3) + } +} diff --git a/tests/aapits/asl/nmsp0012.asl b/tests/aapits/asl/nmsp0012.asl new file mode 100755 index 0000000..bff40f5 --- /dev/null +++ b/tests/aapits/asl/nmsp0012.asl @@ -0,0 +1,32 @@ +DefinitionBlock( + "nmsp0012.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Namespace test 0012 + */ + + // Device + Device(DEV0) {Name(s000, "DEV0")} + + Name(I000, 0) + Name(I001, 0) + + Method(M000) + { + M001(DEV0) + Increment(I000) + } + + Method(M001, 1) + { + Add(Arg0, 1, Local0) + Increment(I001) + } +} diff --git a/tests/aapits/asl/nmsp0013.asl b/tests/aapits/asl/nmsp0013.asl new file mode 100755 index 0000000..89865a7 --- /dev/null +++ b/tests/aapits/asl/nmsp0013.asl @@ -0,0 +1,30 @@ +DefinitionBlock( + "nmsp0013.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Namespace test 0013 + */ + + // Base of Buffer Fields + Name(BUFZ, Buffer(20){ + 160,161,162,163,164,165,166,167,168,169, + 170,171,172,173,174,175,176,177,178,179}) + + Name(I000, 0) + Name(ILEN, 0) + + Method(M000) + { + // Buffer Field + Createfield(BUFZ, 0, ILEN, BFL0) + + Increment(I000) + } +} diff --git a/tests/aapits/asl/nmsp0014.asl b/tests/aapits/asl/nmsp0014.asl new file mode 100755 index 0000000..df48f23 --- /dev/null +++ b/tests/aapits/asl/nmsp0014.asl @@ -0,0 +1,28 @@ +DefinitionBlock( + "nmsp0014.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Namespace test 0014 + */ + + + Name(I000, 0) + Name(IFLG, 0) + + Method(M000) + { + if (IFLG) { + Store(1, Local0) + } + Store(Local0, Local1) + + Increment(I000) + } +} diff --git a/tests/aapits/asl/nmsp0015.asl b/tests/aapits/asl/nmsp0015.asl new file mode 100755 index 0000000..ba1b5f6 --- /dev/null +++ b/tests/aapits/asl/nmsp0015.asl @@ -0,0 +1,38 @@ +DefinitionBlock( + "nmsp0015.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Namespace test 0015 + */ + + + Name(I000, 0) + Name(I001, 0) + Name(I002, 0) + + Method(M000, 1) + { + Store(Arg0, Local0) + Increment(I000) + } + + Method(M001) + { + M002() + Increment(I001) + } + + Method(M002) + { + Increment(I002) + Store(Arg0, Local0) + Increment(I002) + } +} diff --git a/tests/aapits/asl/nmsp0016.asl b/tests/aapits/asl/nmsp0016.asl new file mode 100755 index 0000000..84a7a9f --- /dev/null +++ b/tests/aapits/asl/nmsp0016.asl @@ -0,0 +1,24 @@ +DefinitionBlock( + "nmsp0016.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Namespace test 0016 + */ + + + Name(I000, 0) + + Method(M000) + { + Store(10000000000000000, Local0) + ToBCD(Local0) + Increment(I000) + } +} diff --git a/tests/aapits/asl/nmsp0017.asl b/tests/aapits/asl/nmsp0017.asl new file mode 100755 index 0000000..99aa594 --- /dev/null +++ b/tests/aapits/asl/nmsp0017.asl @@ -0,0 +1,37 @@ +DefinitionBlock( + "nmsp0017.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Namespace test 0017 + */ + + Name(ILEN, 7) + + // Operation Region + OperationRegion(OPR0, SystemMemory, 0, ILEN) + + Field(OPR0, ByteAcc, NoLock, Preserve) { + FLU0, 56, + } + Field(OPR0, ByteAcc, NoLock, Preserve) { + FLU1, 64, + } + + Name(I000, 0) + + Method(M000) + { + Store(0xfedcba987654321, FLU0) + Increment(I000) + + Store(0x1fedcba987654321, FLU1) + Increment(I000) + } +} diff --git a/tests/aapits/asl/nmsp0018.asl b/tests/aapits/asl/nmsp0018.asl new file mode 100755 index 0000000..9917cf1 --- /dev/null +++ b/tests/aapits/asl/nmsp0018.asl @@ -0,0 +1,30 @@ +DefinitionBlock( + "nmsp0018.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Namespace test 0018 + */ + + + Name(BUF0, Buffer(513){}) + + Name(I000, 0) + Name(ILIM, 512) + + Method(M000) + { + Store(0x81, Index(BUF0, ILIM)) + Increment(ILIM) + Increment(I000) + + Store(0x82, Index(BUF0, ILIM)) + Increment(I000) + } +} diff --git a/tests/aapits/asl/nmsp0019.asl b/tests/aapits/asl/nmsp0019.asl new file mode 100755 index 0000000..ca63fc2 --- /dev/null +++ b/tests/aapits/asl/nmsp0019.asl @@ -0,0 +1,30 @@ +DefinitionBlock( + "nmsp0019.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Namespace test 0019 + */ + + + Name(PAC0, Package(257){}) + + Name(I000, 0) + Name(ILIM, 256) + + Method(M000) + { + Store(0xffffffff1, Index(PAC0, ILIM)) + Increment(ILIM) + Increment(I000) + + Store(0xffffffff2, Index(PAC0, ILIM)) + Increment(I000) + } +} diff --git a/tests/aapits/asl/nmsp0020.asl b/tests/aapits/asl/nmsp0020.asl new file mode 100755 index 0000000..1610562 --- /dev/null +++ b/tests/aapits/asl/nmsp0020.asl @@ -0,0 +1,45 @@ +DefinitionBlock( + "nmsp0020.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Namespace test 0020 + */ + + + Name(STR0, "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*") + + Name(I000, 0) + Name(ILIM, 199) + + Method(M000) + { + // 100 characters + Store("0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789", Local0) + + // 101 characters + Store("01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", Local1) + + Concatenate(Local0, Local0) + Increment(I000) + + Concatenate(Local0, Local1) + Increment(I000) + } + + Method(M001) + { + Store(0xffffffff1, Index(STR0, ILIM)) + Increment(ILIM) + Increment(I000) + + Store(0xffffffff2, Index(STR0, ILIM)) + Increment(I000) + } +} diff --git a/tests/aapits/asl/nmsp0021.asl b/tests/aapits/asl/nmsp0021.asl new file mode 100755 index 0000000..20f63da --- /dev/null +++ b/tests/aapits/asl/nmsp0021.asl @@ -0,0 +1,23 @@ +DefinitionBlock( + "nmsp0021.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Namespace test 0021 + */ + + + Name(I000, 0) + + Method(M000) + { + Divide(1, I000) + Increment(I000) + } +} diff --git a/tests/aapits/asl/nmsp0022.asl b/tests/aapits/asl/nmsp0022.asl new file mode 100755 index 0000000..799e2c7 --- /dev/null +++ b/tests/aapits/asl/nmsp0022.asl @@ -0,0 +1,27 @@ +DefinitionBlock( + "nmsp0022.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Namespace test 0022 + */ + + Device(DEV0) { + Name(IBAD, 0) + } + + Name(I000, 0) + + Method(M000) + { + Store(1, Local0) + Store(Local0, \DEV0.IBAD) + Increment(I000) + } +} diff --git a/tests/aapits/asl/nmsp0023.asl b/tests/aapits/asl/nmsp0023.asl new file mode 100755 index 0000000..7dd1c86 --- /dev/null +++ b/tests/aapits/asl/nmsp0023.asl @@ -0,0 +1,26 @@ +DefinitionBlock( + "nmsp0023.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Namespace test 0023 + */ + + Device(DEV0) { + Name(IBAD, 0) + } + + Name(I000, 0) + + Method(M000) + { + Store(Refof(\DEV0.IBAD), Local0) + Increment(I000) + } +} diff --git a/tests/aapits/asl/nmsp0025.asl b/tests/aapits/asl/nmsp0025.asl new file mode 100755 index 0000000..8481d96 --- /dev/null +++ b/tests/aapits/asl/nmsp0025.asl @@ -0,0 +1,23 @@ +DefinitionBlock( + "nmsp0025.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Namespace test 0025 + */ + + Name(I000, 0) + + Method(M000) + { + Store(1, Local0) + Store(Index(Local0, 0), Local1) + Increment(I000) + } +} diff --git a/tests/aapits/asl/nmsp0037.asl b/tests/aapits/asl/nmsp0037.asl new file mode 100755 index 0000000..eb4a311 --- /dev/null +++ b/tests/aapits/asl/nmsp0037.asl @@ -0,0 +1,24 @@ +DefinitionBlock( + "nmsp0037.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Namespace test 0037 + */ + + Name(I000, 0) + + External(M001, MethodObj) + + Method(M000) + { + M001() + Increment(I000) + } +} diff --git a/tests/aapits/asl/nmsp0038.asl b/tests/aapits/asl/nmsp0038.asl new file mode 100755 index 0000000..775b73f --- /dev/null +++ b/tests/aapits/asl/nmsp0038.asl @@ -0,0 +1,29 @@ +DefinitionBlock( + "nmsp0038.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Namespace test 0038 + */ + + Name(I000, 0) + + Method(M000) + { + Store(M001(M001(M001(M001(1, 2), M001(4, 8)), M001(M001(16, 32), M001(64, 128))), + M001(M001(M001(256, 512), M001(1024, 2048)), + M001(M001(4096, 8192), M001(16384, 32768)))), Debug) + Increment(I000) + } + + Method(M001, 2) + { + Return(Add(Arg0, Arg1)) + } +} diff --git a/tests/aapits/asl/nmsp0052.asl b/tests/aapits/asl/nmsp0052.asl new file mode 100755 index 0000000..4151fc2 --- /dev/null +++ b/tests/aapits/asl/nmsp0052.asl @@ -0,0 +1,1549 @@ +/* + * ASSERTION 0052: + */ + +Device(dal1) { + + // Multiple Objects of different types on Nested Level 10 + // Besides Integer + + // Integer + + // String + Name(STR0, "source string0") + Name(STR1, "source string1") + Name(STR2, "source string2") + Name(STR3, "source string3") + Name(STR4, "source string4") + Name(STR5, "source string5") + Name(STR6, "source string6") + Name(STR7, "source string7") + Name(STR8, "source string8") + + // Buffer + Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1}) + Name(BUF1, Buffer(8){8,7,6,5,4,3,2,1}) + Name(BUF2, Buffer(7){7,6,5,4,3,2,1}) + Name(BUF3, Buffer(6){6,5,4,3,2,1}) + Name(BUF4, Buffer(5){5,4,3,2,1}) + Name(BUF5, Buffer(4){4,3,2,1}) + Name(BUF6, Buffer(3){3,2,1}) + Name(BUF7, Buffer(2){2,1}) + + // Package + Name(PAC0, Package(3) { + 0xfedcba987654321f, + "test package0", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC1, Package(3) { + 0xfedcba987654321f, + "test package1", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC2, Package(3) { + 0xfedcba987654321f, + "test package2", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + + // Field Unit + Field(OPR0, ByteAcc, NoLock, Preserve) { + FLU0, 69, + FLU1, 68, + FLU2, 67, + FLU3, 66, + FLU4, 65, + FLU5, 64, + } + + // Device + Device(DEV0) {Name(s000, "DEV0")} + Device(DEV1) {Name(s000, "DEV1")} + Device(DEV2) {Name(s000, "DEV2")} + Device(DEV3) {Name(s000, "DEV3")} + + // Event + Event(EVE0) + Event(EVE1) + Event(EVE2) + + // Method + Method(MMM0) {Return (0)} + Method(MMM1) {Return (1)} + Method(MMM2) {Return (2)} + + // Mutex + Mutex(MTX0, 0) + Mutex(MTX1, 1) + Mutex(MTX2, 2) + Mutex(MTX3, 3) + Mutex(MTX4, 4) + + // Operation Region + OperationRegion(OPR0, SystemMemory, 0, 50) + OperationRegion(OPR1, SystemMemory, 200, 30) + + // Power Resource + PowerResource(PWR0, 0, 0) {Name(s000, "PWR0")} + PowerResource(PWR1, 0, 0) {Name(s000, "PWR1")} + PowerResource(PWR2, 0, 0) {Name(s000, "PWR2")} + + // Processor + Processor(CPU0, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU0")} + Processor(CPU1, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU1")} + Processor(CPU2, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU2")} + + // Thermal Zone + ThermalZone(TZN0) {Name(s000, "TZN0")} + ThermalZone(TZN1) {Name(s000, "TZN1")} + ThermalZone(TZN2) {Name(s000, "TZN2")} + + // Buffer Field + Createfield(\BUFZ, 0, 69, BFL0) + Createfield(\BUFZ, 7, 68, BFL1) + Createfield(\BUFZ, 11, 67, BFL2) + Createfield(\BUFZ, 13, 66, BFL3) + Createfield(\BUFZ, 24, 65, BFL4) + Createfield(\BUFZ, 29, 64, BFL5) +} + +Device(dal2) { + + // Multiple Objects of different types on Nested Level 10 + // Besides Strings + + // Integer + Name(INT0, 0xfedcba9876543210) + 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) + + // String + + // Buffer + Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1}) + Name(BUF1, Buffer(8){8,7,6,5,4,3,2,1}) + Name(BUF2, Buffer(7){7,6,5,4,3,2,1}) + Name(BUF3, Buffer(6){6,5,4,3,2,1}) + Name(BUF4, Buffer(5){5,4,3,2,1}) + Name(BUF5, Buffer(4){4,3,2,1}) + Name(BUF6, Buffer(3){3,2,1}) + Name(BUF7, Buffer(2){2,1}) + + // Package + Name(PAC0, Package(3) { + 0xfedcba987654321f, + "test package0", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC1, Package(3) { + 0xfedcba987654321f, + "test package1", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC2, Package(3) { + 0xfedcba987654321f, + "test package2", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + + // Field Unit + Field(OPR0, ByteAcc, NoLock, Preserve) { + FLU0, 69, + FLU1, 68, + FLU2, 67, + FLU3, 66, + FLU4, 65, + FLU5, 64, + } + + // Device + Device(DEV0) {Name(s000, "DEV0")} + Device(DEV1) {Name(s000, "DEV1")} + Device(DEV2) {Name(s000, "DEV2")} + Device(DEV3) {Name(s000, "DEV3")} + + // Event + Event(EVE0) + Event(EVE1) + Event(EVE2) + + // Method + Method(MMM0) {Return (0)} + Method(MMM1) {Return (1)} + Method(MMM2) {Return (2)} + + // Mutex + Mutex(MTX0, 0) + Mutex(MTX1, 1) + Mutex(MTX2, 2) + Mutex(MTX3, 3) + Mutex(MTX4, 4) + + // Operation Region + OperationRegion(OPR0, SystemMemory, 0, 50) + OperationRegion(OPR1, SystemMemory, 200, 30) + + // Power Resource + PowerResource(PWR0, 0, 0) {Name(s000, "PWR0")} + PowerResource(PWR1, 0, 0) {Name(s000, "PWR1")} + PowerResource(PWR2, 0, 0) {Name(s000, "PWR2")} + + // Processor + Processor(CPU0, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU0")} + Processor(CPU1, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU1")} + Processor(CPU2, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU2")} + + // Thermal Zone + ThermalZone(TZN0) {Name(s000, "TZN0")} + ThermalZone(TZN1) {Name(s000, "TZN1")} + ThermalZone(TZN2) {Name(s000, "TZN2")} + + // Buffer Field + Createfield(\BUFZ, 0, 69, BFL0) + Createfield(\BUFZ, 7, 68, BFL1) + Createfield(\BUFZ, 11, 67, BFL2) + Createfield(\BUFZ, 13, 66, BFL3) + Createfield(\BUFZ, 24, 65, BFL4) + Createfield(\BUFZ, 29, 64, BFL5) +} + +Device(dal3) { + + // Multiple Objects of different types on Nested Level 10 + // Besides Buffers + + // Integer + Name(INT0, 0xfedcba9876543210) + 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) + + // String + Name(STR0, "source string0") + Name(STR1, "source string1") + Name(STR2, "source string2") + Name(STR3, "source string3") + Name(STR4, "source string4") + Name(STR5, "source string5") + Name(STR6, "source string6") + Name(STR7, "source string7") + Name(STR8, "source string8") + + // Buffer + + // Package + Name(PAC0, Package(3) { + 0xfedcba987654321f, + "test package0", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC1, Package(3) { + 0xfedcba987654321f, + "test package1", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC2, Package(3) { + 0xfedcba987654321f, + "test package2", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + + // Field Unit + Field(OPR0, ByteAcc, NoLock, Preserve) { + FLU0, 69, + FLU1, 68, + FLU2, 67, + FLU3, 66, + FLU4, 65, + FLU5, 64, + } + + // Device + Device(DEV0) {Name(s000, "DEV0")} + Device(DEV1) {Name(s000, "DEV1")} + Device(DEV2) {Name(s000, "DEV2")} + Device(DEV3) {Name(s000, "DEV3")} + + // Event + Event(EVE0) + Event(EVE1) + Event(EVE2) + + // Method + Method(MMM0) {Return (0)} + Method(MMM1) {Return (1)} + Method(MMM2) {Return (2)} + + // Mutex + Mutex(MTX0, 0) + Mutex(MTX1, 1) + Mutex(MTX2, 2) + Mutex(MTX3, 3) + Mutex(MTX4, 4) + + // Operation Region + OperationRegion(OPR0, SystemMemory, 0, 50) + OperationRegion(OPR1, SystemMemory, 200, 30) + + // Power Resource + PowerResource(PWR0, 0, 0) {Name(s000, "PWR0")} + PowerResource(PWR1, 0, 0) {Name(s000, "PWR1")} + PowerResource(PWR2, 0, 0) {Name(s000, "PWR2")} + + // Processor + Processor(CPU0, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU0")} + Processor(CPU1, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU1")} + Processor(CPU2, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU2")} + + // Thermal Zone + ThermalZone(TZN0) {Name(s000, "TZN0")} + ThermalZone(TZN1) {Name(s000, "TZN1")} + ThermalZone(TZN2) {Name(s000, "TZN2")} + + // Buffer Field + Createfield(\BUFZ, 0, 69, BFL0) + Createfield(\BUFZ, 7, 68, BFL1) + Createfield(\BUFZ, 11, 67, BFL2) + Createfield(\BUFZ, 13, 66, BFL3) + Createfield(\BUFZ, 24, 65, BFL4) + Createfield(\BUFZ, 29, 64, BFL5) +} + +Device(dal4) { + + // Multiple Objects of different types on Nested Level 10 + // Besides Packages + + // Integer + Name(INT0, 0xfedcba9876543210) + 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) + + // String + Name(STR0, "source string0") + Name(STR1, "source string1") + Name(STR2, "source string2") + Name(STR3, "source string3") + Name(STR4, "source string4") + Name(STR5, "source string5") + Name(STR6, "source string6") + Name(STR7, "source string7") + Name(STR8, "source string8") + + // Buffer + Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1}) + Name(BUF1, Buffer(8){8,7,6,5,4,3,2,1}) + Name(BUF2, Buffer(7){7,6,5,4,3,2,1}) + Name(BUF3, Buffer(6){6,5,4,3,2,1}) + Name(BUF4, Buffer(5){5,4,3,2,1}) + Name(BUF5, Buffer(4){4,3,2,1}) + Name(BUF6, Buffer(3){3,2,1}) + Name(BUF7, Buffer(2){2,1}) + + // Package + + // Field Unit + Field(OPR0, ByteAcc, NoLock, Preserve) { + FLU0, 69, + FLU1, 68, + FLU2, 67, + FLU3, 66, + FLU4, 65, + FLU5, 64, + } + + // Device + Device(DEV0) {Name(s000, "DEV0")} + Device(DEV1) {Name(s000, "DEV1")} + Device(DEV2) {Name(s000, "DEV2")} + Device(DEV3) {Name(s000, "DEV3")} + + // Event + Event(EVE0) + Event(EVE1) + Event(EVE2) + + // Method + Method(MMM0) {Return (0)} + Method(MMM1) {Return (1)} + Method(MMM2) {Return (2)} + + // Mutex + Mutex(MTX0, 0) + Mutex(MTX1, 1) + Mutex(MTX2, 2) + Mutex(MTX3, 3) + Mutex(MTX4, 4) + + // Operation Region + OperationRegion(OPR0, SystemMemory, 0, 50) + OperationRegion(OPR1, SystemMemory, 200, 30) + + // Power Resource + PowerResource(PWR0, 0, 0) {Name(s000, "PWR0")} + PowerResource(PWR1, 0, 0) {Name(s000, "PWR1")} + PowerResource(PWR2, 0, 0) {Name(s000, "PWR2")} + + // Processor + Processor(CPU0, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU0")} + Processor(CPU1, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU1")} + Processor(CPU2, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU2")} + + // Thermal Zone + ThermalZone(TZN0) {Name(s000, "TZN0")} + ThermalZone(TZN1) {Name(s000, "TZN1")} + ThermalZone(TZN2) {Name(s000, "TZN2")} + + // Buffer Field + Createfield(\BUFZ, 0, 69, BFL0) + Createfield(\BUFZ, 7, 68, BFL1) + Createfield(\BUFZ, 11, 67, BFL2) + Createfield(\BUFZ, 13, 66, BFL3) + Createfield(\BUFZ, 24, 65, BFL4) + Createfield(\BUFZ, 29, 64, BFL5) +} + +Device(dal5) { + + // Multiple Objects of different types on Nested Level 10 + // Besides Field Units + + // Integer + Name(INT0, 0xfedcba9876543210) + 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) + + // String + Name(STR0, "source string0") + Name(STR1, "source string1") + Name(STR2, "source string2") + Name(STR3, "source string3") + Name(STR4, "source string4") + Name(STR5, "source string5") + Name(STR6, "source string6") + Name(STR7, "source string7") + Name(STR8, "source string8") + + // Buffer + Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1}) + Name(BUF1, Buffer(8){8,7,6,5,4,3,2,1}) + Name(BUF2, Buffer(7){7,6,5,4,3,2,1}) + Name(BUF3, Buffer(6){6,5,4,3,2,1}) + Name(BUF4, Buffer(5){5,4,3,2,1}) + Name(BUF5, Buffer(4){4,3,2,1}) + Name(BUF6, Buffer(3){3,2,1}) + Name(BUF7, Buffer(2){2,1}) + + // Package + Name(PAC0, Package(3) { + 0xfedcba987654321f, + "test package0", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC1, Package(3) { + 0xfedcba987654321f, + "test package1", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC2, Package(3) { + 0xfedcba987654321f, + "test package2", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + + // Field Unit + + // Device + Device(DEV0) {Name(s000, "DEV0")} + Device(DEV1) {Name(s000, "DEV1")} + Device(DEV2) {Name(s000, "DEV2")} + Device(DEV3) {Name(s000, "DEV3")} + + // Event + Event(EVE0) + Event(EVE1) + Event(EVE2) + + // Method + Method(MMM0) {Return (0)} + Method(MMM1) {Return (1)} + Method(MMM2) {Return (2)} + + // Mutex + Mutex(MTX0, 0) + Mutex(MTX1, 1) + Mutex(MTX2, 2) + Mutex(MTX3, 3) + Mutex(MTX4, 4) + + // Operation Region + OperationRegion(OPR0, SystemMemory, 0, 50) + OperationRegion(OPR1, SystemMemory, 200, 30) + + // Power Resource + PowerResource(PWR0, 0, 0) {Name(s000, "PWR0")} + PowerResource(PWR1, 0, 0) {Name(s000, "PWR1")} + PowerResource(PWR2, 0, 0) {Name(s000, "PWR2")} + + // Processor + Processor(CPU0, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU0")} + Processor(CPU1, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU1")} + Processor(CPU2, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU2")} + + // Thermal Zone + ThermalZone(TZN0) {Name(s000, "TZN0")} + ThermalZone(TZN1) {Name(s000, "TZN1")} + ThermalZone(TZN2) {Name(s000, "TZN2")} + + // Buffer Field + Createfield(\BUFZ, 0, 69, BFL0) + Createfield(\BUFZ, 7, 68, BFL1) + Createfield(\BUFZ, 11, 67, BFL2) + Createfield(\BUFZ, 13, 66, BFL3) + Createfield(\BUFZ, 24, 65, BFL4) + Createfield(\BUFZ, 29, 64, BFL5) +} + +Device(dal6) { + + // Multiple Objects of different types on Nested Level 10 + // Besides Devices + + // Integer + Name(INT0, 0xfedcba9876543210) + 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) + + // String + Name(STR0, "source string0") + Name(STR1, "source string1") + Name(STR2, "source string2") + Name(STR3, "source string3") + Name(STR4, "source string4") + Name(STR5, "source string5") + Name(STR6, "source string6") + Name(STR7, "source string7") + Name(STR8, "source string8") + + // Buffer + Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1}) + Name(BUF1, Buffer(8){8,7,6,5,4,3,2,1}) + Name(BUF2, Buffer(7){7,6,5,4,3,2,1}) + Name(BUF3, Buffer(6){6,5,4,3,2,1}) + Name(BUF4, Buffer(5){5,4,3,2,1}) + Name(BUF5, Buffer(4){4,3,2,1}) + Name(BUF6, Buffer(3){3,2,1}) + Name(BUF7, Buffer(2){2,1}) + + // Package + Name(PAC0, Package(3) { + 0xfedcba987654321f, + "test package0", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC1, Package(3) { + 0xfedcba987654321f, + "test package1", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC2, Package(3) { + 0xfedcba987654321f, + "test package2", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + + // Field Unit + Field(OPR0, ByteAcc, NoLock, Preserve) { + FLU0, 69, + FLU1, 68, + FLU2, 67, + FLU3, 66, + FLU4, 65, + FLU5, 64, + } + + // Device + + // Event + Event(EVE0) + Event(EVE1) + Event(EVE2) + + // Method + Method(MMM0) {Return (0)} + Method(MMM1) {Return (1)} + Method(MMM2) {Return (2)} + + // Mutex + Mutex(MTX0, 0) + Mutex(MTX1, 1) + Mutex(MTX2, 2) + Mutex(MTX3, 3) + Mutex(MTX4, 4) + + // Operation Region + OperationRegion(OPR0, SystemMemory, 0, 50) + OperationRegion(OPR1, SystemMemory, 200, 30) + + // Power Resource + PowerResource(PWR0, 0, 0) {Name(s000, "PWR0")} + PowerResource(PWR1, 0, 0) {Name(s000, "PWR1")} + PowerResource(PWR2, 0, 0) {Name(s000, "PWR2")} + + // Processor + Processor(CPU0, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU0")} + Processor(CPU1, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU1")} + Processor(CPU2, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU2")} + + // Thermal Zone + ThermalZone(TZN0) {Name(s000, "TZN0")} + ThermalZone(TZN1) {Name(s000, "TZN1")} + ThermalZone(TZN2) {Name(s000, "TZN2")} + + // Buffer Field + Createfield(\BUFZ, 0, 69, BFL0) + Createfield(\BUFZ, 7, 68, BFL1) + Createfield(\BUFZ, 11, 67, BFL2) + Createfield(\BUFZ, 13, 66, BFL3) + Createfield(\BUFZ, 24, 65, BFL4) + Createfield(\BUFZ, 29, 64, BFL5) +} + +Device(dal7) { + + // Multiple Objects of different types on Nested Level 10 + // Besides Events + + // Integer + Name(INT0, 0xfedcba9876543210) + 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) + + // String + Name(STR0, "source string0") + Name(STR1, "source string1") + Name(STR2, "source string2") + Name(STR3, "source string3") + Name(STR4, "source string4") + Name(STR5, "source string5") + Name(STR6, "source string6") + Name(STR7, "source string7") + Name(STR8, "source string8") + + // Buffer + Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1}) + Name(BUF1, Buffer(8){8,7,6,5,4,3,2,1}) + Name(BUF2, Buffer(7){7,6,5,4,3,2,1}) + Name(BUF3, Buffer(6){6,5,4,3,2,1}) + Name(BUF4, Buffer(5){5,4,3,2,1}) + Name(BUF5, Buffer(4){4,3,2,1}) + Name(BUF6, Buffer(3){3,2,1}) + Name(BUF7, Buffer(2){2,1}) + + // Package + Name(PAC0, Package(3) { + 0xfedcba987654321f, + "test package0", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC1, Package(3) { + 0xfedcba987654321f, + "test package1", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC2, Package(3) { + 0xfedcba987654321f, + "test package2", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + + // Field Unit + Field(OPR0, ByteAcc, NoLock, Preserve) { + FLU0, 69, + FLU1, 68, + FLU2, 67, + FLU3, 66, + FLU4, 65, + FLU5, 64, + } + + // Device + Device(DEV0) {Name(s000, "DEV0")} + Device(DEV1) {Name(s000, "DEV1")} + Device(DEV2) {Name(s000, "DEV2")} + Device(DEV3) {Name(s000, "DEV3")} + + // Event + + // Method + Method(MMM0) {Return (0)} + Method(MMM1) {Return (1)} + Method(MMM2) {Return (2)} + + // Mutex + Mutex(MTX0, 0) + Mutex(MTX1, 1) + Mutex(MTX2, 2) + Mutex(MTX3, 3) + Mutex(MTX4, 4) + + // Operation Region + OperationRegion(OPR0, SystemMemory, 0, 50) + OperationRegion(OPR1, SystemMemory, 200, 30) + + // Power Resource + PowerResource(PWR0, 0, 0) {Name(s000, "PWR0")} + PowerResource(PWR1, 0, 0) {Name(s000, "PWR1")} + PowerResource(PWR2, 0, 0) {Name(s000, "PWR2")} + + // Processor + Processor(CPU0, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU0")} + Processor(CPU1, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU1")} + Processor(CPU2, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU2")} + + // Thermal Zone + ThermalZone(TZN0) {Name(s000, "TZN0")} + ThermalZone(TZN1) {Name(s000, "TZN1")} + ThermalZone(TZN2) {Name(s000, "TZN2")} + + // Buffer Field + Createfield(\BUFZ, 0, 69, BFL0) + Createfield(\BUFZ, 7, 68, BFL1) + Createfield(\BUFZ, 11, 67, BFL2) + Createfield(\BUFZ, 13, 66, BFL3) + Createfield(\BUFZ, 24, 65, BFL4) + Createfield(\BUFZ, 29, 64, BFL5) +} + +Device(dal8) { + + // Multiple Objects of different types on Nested Level 10 + // Besides Methods + + // Integer + Name(INT0, 0xfedcba9876543210) + 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) + + // String + Name(STR0, "source string0") + Name(STR1, "source string1") + Name(STR2, "source string2") + Name(STR3, "source string3") + Name(STR4, "source string4") + Name(STR5, "source string5") + Name(STR6, "source string6") + Name(STR7, "source string7") + Name(STR8, "source string8") + + // Buffer + Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1}) + Name(BUF1, Buffer(8){8,7,6,5,4,3,2,1}) + Name(BUF2, Buffer(7){7,6,5,4,3,2,1}) + Name(BUF3, Buffer(6){6,5,4,3,2,1}) + Name(BUF4, Buffer(5){5,4,3,2,1}) + Name(BUF5, Buffer(4){4,3,2,1}) + Name(BUF6, Buffer(3){3,2,1}) + Name(BUF7, Buffer(2){2,1}) + + // Package + Name(PAC0, Package(3) { + 0xfedcba987654321f, + "test package0", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC1, Package(3) { + 0xfedcba987654321f, + "test package1", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC2, Package(3) { + 0xfedcba987654321f, + "test package2", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + + // Field Unit + Field(OPR0, ByteAcc, NoLock, Preserve) { + FLU0, 69, + FLU1, 68, + FLU2, 67, + FLU3, 66, + FLU4, 65, + FLU5, 64, + } + + // Device + Device(DEV0) {Name(s000, "DEV0")} + Device(DEV1) {Name(s000, "DEV1")} + Device(DEV2) {Name(s000, "DEV2")} + Device(DEV3) {Name(s000, "DEV3")} + + // Event + Event(EVE0) + Event(EVE1) + Event(EVE2) + + // Method + + // Mutex + Mutex(MTX0, 0) + Mutex(MTX1, 1) + Mutex(MTX2, 2) + Mutex(MTX3, 3) + Mutex(MTX4, 4) + + // Operation Region + OperationRegion(OPR0, SystemMemory, 0, 50) + OperationRegion(OPR1, SystemMemory, 200, 30) + + // Power Resource + PowerResource(PWR0, 0, 0) {Name(s000, "PWR0")} + PowerResource(PWR1, 0, 0) {Name(s000, "PWR1")} + PowerResource(PWR2, 0, 0) {Name(s000, "PWR2")} + + // Processor + Processor(CPU0, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU0")} + Processor(CPU1, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU1")} + Processor(CPU2, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU2")} + + // Thermal Zone + ThermalZone(TZN0) {Name(s000, "TZN0")} + ThermalZone(TZN1) {Name(s000, "TZN1")} + ThermalZone(TZN2) {Name(s000, "TZN2")} + + // Buffer Field + Createfield(\BUFZ, 0, 69, BFL0) + Createfield(\BUFZ, 7, 68, BFL1) + Createfield(\BUFZ, 11, 67, BFL2) + Createfield(\BUFZ, 13, 66, BFL3) + Createfield(\BUFZ, 24, 65, BFL4) + Createfield(\BUFZ, 29, 64, BFL5) +} + +Device(dal9) { + + // Multiple Objects of different types on Nested Level 10 + // Besides Mutexes + + // Integer + Name(INT0, 0xfedcba9876543210) + 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) + + // String + Name(STR0, "source string0") + Name(STR1, "source string1") + Name(STR2, "source string2") + Name(STR3, "source string3") + Name(STR4, "source string4") + Name(STR5, "source string5") + Name(STR6, "source string6") + Name(STR7, "source string7") + Name(STR8, "source string8") + + // Buffer + Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1}) + Name(BUF1, Buffer(8){8,7,6,5,4,3,2,1}) + Name(BUF2, Buffer(7){7,6,5,4,3,2,1}) + Name(BUF3, Buffer(6){6,5,4,3,2,1}) + Name(BUF4, Buffer(5){5,4,3,2,1}) + Name(BUF5, Buffer(4){4,3,2,1}) + Name(BUF6, Buffer(3){3,2,1}) + Name(BUF7, Buffer(2){2,1}) + + // Package + Name(PAC0, Package(3) { + 0xfedcba987654321f, + "test package0", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC1, Package(3) { + 0xfedcba987654321f, + "test package1", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC2, Package(3) { + 0xfedcba987654321f, + "test package2", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + + // Field Unit + Field(OPR0, ByteAcc, NoLock, Preserve) { + FLU0, 69, + FLU1, 68, + FLU2, 67, + FLU3, 66, + FLU4, 65, + FLU5, 64, + } + + // Device + Device(DEV0) {Name(s000, "DEV0")} + Device(DEV1) {Name(s000, "DEV1")} + Device(DEV2) {Name(s000, "DEV2")} + Device(DEV3) {Name(s000, "DEV3")} + + // Event + Event(EVE0) + Event(EVE1) + Event(EVE2) + + // Method + Method(MMM0) {Return (0)} + Method(MMM1) {Return (1)} + Method(MMM2) {Return (2)} + + // Mutex + + // Operation Region + OperationRegion(OPR0, SystemMemory, 0, 50) + OperationRegion(OPR1, SystemMemory, 200, 30) + + // Power Resource + PowerResource(PWR0, 0, 0) {Name(s000, "PWR0")} + PowerResource(PWR1, 0, 0) {Name(s000, "PWR1")} + PowerResource(PWR2, 0, 0) {Name(s000, "PWR2")} + + // Processor + Processor(CPU0, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU0")} + Processor(CPU1, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU1")} + Processor(CPU2, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU2")} + + // Thermal Zone + ThermalZone(TZN0) {Name(s000, "TZN0")} + ThermalZone(TZN1) {Name(s000, "TZN1")} + ThermalZone(TZN2) {Name(s000, "TZN2")} + + // Buffer Field + Createfield(\BUFZ, 0, 69, BFL0) + Createfield(\BUFZ, 7, 68, BFL1) + Createfield(\BUFZ, 11, 67, BFL2) + Createfield(\BUFZ, 13, 66, BFL3) + Createfield(\BUFZ, 24, 65, BFL4) + Createfield(\BUFZ, 29, 64, BFL5) +} + +Device(dala) { + + // Multiple Objects of different types on Nested Level 10 + // Besides Operation Regions + + // Integer + Name(INT0, 0xfedcba9876543210) + 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) + + // String + Name(STR0, "source string0") + Name(STR1, "source string1") + Name(STR2, "source string2") + Name(STR3, "source string3") + Name(STR4, "source string4") + Name(STR5, "source string5") + Name(STR6, "source string6") + Name(STR7, "source string7") + Name(STR8, "source string8") + + // Buffer + Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1}) + Name(BUF1, Buffer(8){8,7,6,5,4,3,2,1}) + Name(BUF2, Buffer(7){7,6,5,4,3,2,1}) + Name(BUF3, Buffer(6){6,5,4,3,2,1}) + Name(BUF4, Buffer(5){5,4,3,2,1}) + Name(BUF5, Buffer(4){4,3,2,1}) + Name(BUF6, Buffer(3){3,2,1}) + Name(BUF7, Buffer(2){2,1}) + + // Package + Name(PAC0, Package(3) { + 0xfedcba987654321f, + "test package0", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC1, Package(3) { + 0xfedcba987654321f, + "test package1", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC2, Package(3) { + 0xfedcba987654321f, + "test package2", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + + // Field Unit + Field(^DALB.OPR0, ByteAcc, NoLock, Preserve) { + FLU0, 69, + FLU1, 68, + FLU2, 67, + FLU3, 66, + FLU4, 65, + FLU5, 64, + } + + // Device + Device(DEV0) {Name(s000, "DEV0")} + Device(DEV1) {Name(s000, "DEV1")} + Device(DEV2) {Name(s000, "DEV2")} + Device(DEV3) {Name(s000, "DEV3")} + + // Event + Event(EVE0) + Event(EVE1) + Event(EVE2) + + // Method + Method(MMM0) {Return (0)} + Method(MMM1) {Return (1)} + Method(MMM2) {Return (2)} + + // Mutex + Mutex(MTX0, 0) + Mutex(MTX1, 1) + Mutex(MTX2, 2) + Mutex(MTX3, 3) + Mutex(MTX4, 4) + + // Operation Region + + // Power Resource + PowerResource(PWR0, 0, 0) {Name(s000, "PWR0")} + PowerResource(PWR1, 0, 0) {Name(s000, "PWR1")} + PowerResource(PWR2, 0, 0) {Name(s000, "PWR2")} + + // Processor + Processor(CPU0, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU0")} + Processor(CPU1, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU1")} + Processor(CPU2, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU2")} + + // Thermal Zone + ThermalZone(TZN0) {Name(s000, "TZN0")} + ThermalZone(TZN1) {Name(s000, "TZN1")} + ThermalZone(TZN2) {Name(s000, "TZN2")} + + // Buffer Field + Createfield(\BUFZ, 0, 69, BFL0) + Createfield(\BUFZ, 7, 68, BFL1) + Createfield(\BUFZ, 11, 67, BFL2) + Createfield(\BUFZ, 13, 66, BFL3) + Createfield(\BUFZ, 24, 65, BFL4) + Createfield(\BUFZ, 29, 64, BFL5) +} + +Device(dalb) { + + // Multiple Objects of different types on Nested Level 10 + // Besides Power Resource + + // Integer + Name(INT0, 0xfedcba9876543210) + 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) + + // String + Name(STR0, "source string0") + Name(STR1, "source string1") + Name(STR2, "source string2") + Name(STR3, "source string3") + Name(STR4, "source string4") + Name(STR5, "source string5") + Name(STR6, "source string6") + Name(STR7, "source string7") + Name(STR8, "source string8") + + // Buffer + Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1}) + Name(BUF1, Buffer(8){8,7,6,5,4,3,2,1}) + Name(BUF2, Buffer(7){7,6,5,4,3,2,1}) + Name(BUF3, Buffer(6){6,5,4,3,2,1}) + Name(BUF4, Buffer(5){5,4,3,2,1}) + Name(BUF5, Buffer(4){4,3,2,1}) + Name(BUF6, Buffer(3){3,2,1}) + Name(BUF7, Buffer(2){2,1}) + + // Package + Name(PAC0, Package(3) { + 0xfedcba987654321f, + "test package0", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC1, Package(3) { + 0xfedcba987654321f, + "test package1", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC2, Package(3) { + 0xfedcba987654321f, + "test package2", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + + // Field Unit + Field(OPR0, ByteAcc, NoLock, Preserve) { + FLU0, 69, + FLU1, 68, + FLU2, 67, + FLU3, 66, + FLU4, 65, + FLU5, 64, + } + + // Device + Device(DEV0) {Name(s000, "DEV0")} + Device(DEV1) {Name(s000, "DEV1")} + Device(DEV2) {Name(s000, "DEV2")} + Device(DEV3) {Name(s000, "DEV3")} + + // Event + Event(EVE0) + Event(EVE1) + Event(EVE2) + + // Method + Method(MMM0) {Return (0)} + Method(MMM1) {Return (1)} + Method(MMM2) {Return (2)} + + // Mutex + Mutex(MTX0, 0) + Mutex(MTX1, 1) + Mutex(MTX2, 2) + Mutex(MTX3, 3) + Mutex(MTX4, 4) + + // Operation Region + OperationRegion(OPR0, SystemMemory, 0, 50) + OperationRegion(OPR1, SystemMemory, 200, 30) + + // Power Resource + + // Processor + Processor(CPU0, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU0")} + Processor(CPU1, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU1")} + Processor(CPU2, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU2")} + + // Thermal Zone + ThermalZone(TZN0) {Name(s000, "TZN0")} + ThermalZone(TZN1) {Name(s000, "TZN1")} + ThermalZone(TZN2) {Name(s000, "TZN2")} + + // Buffer Field + Createfield(\BUFZ, 0, 69, BFL0) + Createfield(\BUFZ, 7, 68, BFL1) + Createfield(\BUFZ, 11, 67, BFL2) + Createfield(\BUFZ, 13, 66, BFL3) + Createfield(\BUFZ, 24, 65, BFL4) + Createfield(\BUFZ, 29, 64, BFL5) +} + +Device(dalc) { + + // Multiple Objects of different types on Nested Level 10 + // Besides Processor + + // Integer + Name(INT0, 0xfedcba9876543210) + 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) + + // String + Name(STR0, "source string0") + Name(STR1, "source string1") + Name(STR2, "source string2") + Name(STR3, "source string3") + Name(STR4, "source string4") + Name(STR5, "source string5") + Name(STR6, "source string6") + Name(STR7, "source string7") + Name(STR8, "source string8") + + // Buffer + Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1}) + Name(BUF1, Buffer(8){8,7,6,5,4,3,2,1}) + Name(BUF2, Buffer(7){7,6,5,4,3,2,1}) + Name(BUF3, Buffer(6){6,5,4,3,2,1}) + Name(BUF4, Buffer(5){5,4,3,2,1}) + Name(BUF5, Buffer(4){4,3,2,1}) + Name(BUF6, Buffer(3){3,2,1}) + Name(BUF7, Buffer(2){2,1}) + + // Package + Name(PAC0, Package(3) { + 0xfedcba987654321f, + "test package0", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC1, Package(3) { + 0xfedcba987654321f, + "test package1", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC2, Package(3) { + 0xfedcba987654321f, + "test package2", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + + // Field Unit + Field(OPR0, ByteAcc, NoLock, Preserve) { + FLU0, 69, + FLU1, 68, + FLU2, 67, + FLU3, 66, + FLU4, 65, + FLU5, 64, + } + + // Device + Device(DEV0) {Name(s000, "DEV0")} + Device(DEV1) {Name(s000, "DEV1")} + Device(DEV2) {Name(s000, "DEV2")} + Device(DEV3) {Name(s000, "DEV3")} + + // Event + Event(EVE0) + Event(EVE1) + Event(EVE2) + + // Method + Method(MMM0) {Return (0)} + Method(MMM1) {Return (1)} + Method(MMM2) {Return (2)} + + // Mutex + Mutex(MTX0, 0) + Mutex(MTX1, 1) + Mutex(MTX2, 2) + Mutex(MTX3, 3) + Mutex(MTX4, 4) + + // Operation Region + OperationRegion(OPR0, SystemMemory, 0, 50) + OperationRegion(OPR1, SystemMemory, 200, 30) + + // Power Resource + PowerResource(PWR0, 0, 0) {Name(s000, "PWR0")} + PowerResource(PWR1, 0, 0) {Name(s000, "PWR1")} + PowerResource(PWR2, 0, 0) {Name(s000, "PWR2")} + + // Processor + + // Thermal Zone + ThermalZone(TZN0) {Name(s000, "TZN0")} + ThermalZone(TZN1) {Name(s000, "TZN1")} + ThermalZone(TZN2) {Name(s000, "TZN2")} + + // Buffer Field + Createfield(\BUFZ, 0, 69, BFL0) + Createfield(\BUFZ, 7, 68, BFL1) + Createfield(\BUFZ, 11, 67, BFL2) + Createfield(\BUFZ, 13, 66, BFL3) + Createfield(\BUFZ, 24, 65, BFL4) + Createfield(\BUFZ, 29, 64, BFL5) +} + +Device(dald) { + + // Multiple Objects of different types on Nested Level 10 + // Besides Thermal Zone + + // Integer + Name(INT0, 0xfedcba9876543210) + 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) + + // String + Name(STR0, "source string0") + Name(STR1, "source string1") + Name(STR2, "source string2") + Name(STR3, "source string3") + Name(STR4, "source string4") + Name(STR5, "source string5") + Name(STR6, "source string6") + Name(STR7, "source string7") + Name(STR8, "source string8") + + // Buffer + Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1}) + Name(BUF1, Buffer(8){8,7,6,5,4,3,2,1}) + Name(BUF2, Buffer(7){7,6,5,4,3,2,1}) + Name(BUF3, Buffer(6){6,5,4,3,2,1}) + Name(BUF4, Buffer(5){5,4,3,2,1}) + Name(BUF5, Buffer(4){4,3,2,1}) + Name(BUF6, Buffer(3){3,2,1}) + Name(BUF7, Buffer(2){2,1}) + + // Package + Name(PAC0, Package(3) { + 0xfedcba987654321f, + "test package0", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC1, Package(3) { + 0xfedcba987654321f, + "test package1", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC2, Package(3) { + 0xfedcba987654321f, + "test package2", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + + // Field Unit + Field(OPR0, ByteAcc, NoLock, Preserve) { + FLU0, 69, + FLU1, 68, + FLU2, 67, + FLU3, 66, + FLU4, 65, + FLU5, 64, + } + + // Device + Device(DEV0) {Name(s000, "DEV0")} + Device(DEV1) {Name(s000, "DEV1")} + Device(DEV2) {Name(s000, "DEV2")} + Device(DEV3) {Name(s000, "DEV3")} + + // Event + Event(EVE0) + Event(EVE1) + Event(EVE2) + + // Method + Method(MMM0) {Return (0)} + Method(MMM1) {Return (1)} + Method(MMM2) {Return (2)} + + // Mutex + Mutex(MTX0, 0) + Mutex(MTX1, 1) + Mutex(MTX2, 2) + Mutex(MTX3, 3) + Mutex(MTX4, 4) + + // Operation Region + OperationRegion(OPR0, SystemMemory, 0, 50) + OperationRegion(OPR1, SystemMemory, 200, 30) + + // Power Resource + PowerResource(PWR0, 0, 0) {Name(s000, "PWR0")} + PowerResource(PWR1, 0, 0) {Name(s000, "PWR1")} + PowerResource(PWR2, 0, 0) {Name(s000, "PWR2")} + + // Processor + Processor(CPU0, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU0")} + Processor(CPU1, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU1")} + Processor(CPU2, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU2")} + + // Thermal Zone + + // Buffer Field + Createfield(\BUFZ, 0, 69, BFL0) + Createfield(\BUFZ, 7, 68, BFL1) + Createfield(\BUFZ, 11, 67, BFL2) + Createfield(\BUFZ, 13, 66, BFL3) + Createfield(\BUFZ, 24, 65, BFL4) + Createfield(\BUFZ, 29, 64, BFL5) +} + +Device(dale) { + + // Multiple Objects of different types on Nested Level 10 + // Besides Buffer Field + + // Integer + Name(INT0, 0xfedcba9876543210) + 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) + + // String + Name(STR0, "source string0") + Name(STR1, "source string1") + Name(STR2, "source string2") + Name(STR3, "source string3") + Name(STR4, "source string4") + Name(STR5, "source string5") + Name(STR6, "source string6") + Name(STR7, "source string7") + Name(STR8, "source string8") + + // Buffer + Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1}) + Name(BUF1, Buffer(8){8,7,6,5,4,3,2,1}) + Name(BUF2, Buffer(7){7,6,5,4,3,2,1}) + Name(BUF3, Buffer(6){6,5,4,3,2,1}) + Name(BUF4, Buffer(5){5,4,3,2,1}) + Name(BUF5, Buffer(4){4,3,2,1}) + Name(BUF6, Buffer(3){3,2,1}) + Name(BUF7, Buffer(2){2,1}) + + // Package + Name(PAC0, Package(3) { + 0xfedcba987654321f, + "test package0", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC1, Package(3) { + 0xfedcba987654321f, + "test package1", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC2, Package(3) { + 0xfedcba987654321f, + "test package2", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + + // Field Unit + Field(OPR0, ByteAcc, NoLock, Preserve) { + FLU0, 69, + FLU1, 68, + FLU2, 67, + FLU3, 66, + FLU4, 65, + FLU5, 64, + } + + // Device + Device(DEV0) {Name(s000, "DEV0")} + Device(DEV1) {Name(s000, "DEV1")} + Device(DEV2) {Name(s000, "DEV2")} + Device(DEV3) {Name(s000, "DEV3")} + + // Event + Event(EVE0) + Event(EVE1) + Event(EVE2) + + // Method + Method(MMM0) {Return (0)} + Method(MMM1) {Return (1)} + Method(MMM2) {Return (2)} + + // Mutex + Mutex(MTX0, 0) + Mutex(MTX1, 1) + Mutex(MTX2, 2) + Mutex(MTX3, 3) + Mutex(MTX4, 4) + + // Operation Region + OperationRegion(OPR0, SystemMemory, 0, 50) + OperationRegion(OPR1, SystemMemory, 200, 30) + + // Power Resource + PowerResource(PWR0, 0, 0) {Name(s000, "PWR0")} + PowerResource(PWR1, 0, 0) {Name(s000, "PWR1")} + PowerResource(PWR2, 0, 0) {Name(s000, "PWR2")} + + // Processor + Processor(CPU0, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU0")} + Processor(CPU1, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU1")} + Processor(CPU2, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU2")} + + // Thermal Zone + ThermalZone(TZN0) {Name(s000, "TZN0")} + ThermalZone(TZN1) {Name(s000, "TZN1")} + ThermalZone(TZN2) {Name(s000, "TZN2")} + + // Buffer Field +} + +Device(dalz) { + // No Objects of any types on Nested Level 10 +} diff --git a/tests/aapits/asl/nmsp0074.asl b/tests/aapits/asl/nmsp0074.asl new file mode 100755 index 0000000..be61215 --- /dev/null +++ b/tests/aapits/asl/nmsp0074.asl @@ -0,0 +1,132 @@ +DefinitionBlock( + "nmsp0074.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Namespace test 0074 + */ + + Name(n0l0, 0x0000) + Name(n0l1, 0x0001) + Name(n0l2, 0x0002) + Name(n0l3, 0x0003) + Name(l4, 0x0004) + + Device(d1l0) { + } + Device(d1l1) { + Device(d2l0) { + Device(d3l0) { + Device(d4l) { + Device(d5l0) { + Device(d6l0) { + Device(d7l0) { + Device(d8l0) { + Device(d9l0) { + } + } + } + } + } + } + } + } + } + Device(d1l2) { + } + Scope (d1l0) { + Name(n0l0, 0x0100) + Name(n0l1, 0x0101) + Name(n0l2, 0x0102) + Name(n0l3, 0x0103) + Name(l4, 0x0104) + } + Scope (d1l1) { + Name(n0l0, 0x0110) + Name(n1l1, 0x0111) + Name(n0l2, 0x0112) + Name(n1l3, 0x0113) + Name(l4, 0x0114) + Scope (d2l0) { + Name(n0l0, 0x0120) + Name(n1l1, 0x0121) + Name(n0l2, 0x0122) + Name(n1l3, 0x0123) + Name(l4, 0x0124) + Scope (d3l0) { + Name(n0l0, 0x0130) + Name(n1l1, 0x0131) + Name(n0l2, 0x0132) + Name(n1l3, 0x0133) + Name(l4, 0x0134) + Scope (d4l) { + Name(n0l0, 0x0140) + Name(n1l1, 0x0141) + Name(n0l2, 0x0142) + Name(n1l3, 0x0143) + Name(l4, 0x0144) + Scope (d5l0) { + Name(n0l0, 0x0150) + Name(n1l1, 0x0151) + Name(n0l2, 0x0152) + Name(n1l3, 0x0153) + Name(l4, 0x0154) + Scope (d6l0) { + Name(n0l0, 0x0160) + Name(n1l1, 0x0161) + Name(n0l2, 0x0162) + Name(n1l3, 0x0163) + Name(l4, 0x0164) + Scope (d7l0) { + Name(n0l0, 0x0170) + Name(n1l1, 0x0171) + Name(n0l2, 0x0172) + Name(n1l3, 0x0173) + Name(l4, 0x0174) + Scope (d8l0) { + Name(n0l0, 0x0180) + Name(n1l1, 0x0181) + Name(n0l2, 0x0182) + Name(n1l3, 0x0183) + Name(l4, 0x0184) + Scope (d9l0) { + Name(n0l0, 0x0190) + Name(n1l1, 0x0191) + Name(n0l2, 0x0192) + Name(n1l3, 0x0193) + Name(l4, 0x0194) + } + } + } + } + } + } + } + } + } + Scope (d1l2) { + Name(n0l0, 0x0210) + Name(n1l1, 0x0211) + Name(n0l2, 0x0212) + Name(n2l3, 0x0213) + Name(l4, 0x0214) + } + + Method(MAIN) + { + Method(m000) + { + Name(i000, 0x574) + + Return (i000) + } + + Store(m000(), Debug) + } +} diff --git a/tests/aapits/asl/nmsp0089.asl b/tests/aapits/asl/nmsp0089.asl new file mode 100755 index 0000000..754f192 --- /dev/null +++ b/tests/aapits/asl/nmsp0089.asl @@ -0,0 +1,33 @@ +DefinitionBlock( + "nmsp0089.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Namespace test 0089 + */ + + Name(p000, Package(1){}) + Name(p000, Package(1){}) + + Method(MAIN) + { + Method(m000) + { + Name(i000, 1) + + Return (i000) + } + + Store(p000, Debug) + Store(0, p000) + Store(p000, Debug) + + Store(m000(), Debug) + } +} diff --git a/tests/aapits/asl/nmsp0126.asl b/tests/aapits/asl/nmsp0126.asl new file mode 100755 index 0000000..2956225 --- /dev/null +++ b/tests/aapits/asl/nmsp0126.asl @@ -0,0 +1,85 @@ +DefinitionBlock( + "nmsp0126.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * Namespace test 0126 + * BZ 7689 AE_AML_BUFFER_LIMIT reprodusing + */ + + Scope (\_SB) + { + Device (C002) + { + Name (_HID, EisaId ("PNP0A08")) + Name (_CID, 0x030AD041) + Name (_ADR, 0x00) + } + Name (C241, 0x00) + Name (C242, Buffer (0x07) + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }) + } + + // From nx7400 SSDT1 + Scope (\_SB.C002) + { + Device (C341) + { + Name (_ADR, 0x001F0002) + Device (C0F3) + { + Name (_ADR, 0xFFFF) + Method (_SDD, 1, NotSerialized) + { + If (And (DerefOf (Index (Arg0, 0x0100)), 0x02)) + { + Store (0x01, C241) + } + + Name (C342, Buffer (0x07) + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00 + }) + CreateByteField (C342, 0x00, C343) + CreateByteField (C342, 0x01, C344) + CreateByteField (C342, 0x02, C345) + CreateByteField (C342, 0x03, C346) + CreateByteField (C342, 0x04, C347) + CreateByteField (C342, 0x05, C348) + CreateByteField (C342, 0x06, C349) + If (LEqual (SizeOf (Arg0), 0x0200)) + { + CreateWordField (Arg0, 0x9C, C34A) + If (And (C34A, 0x08)) + { + Store (0x10, C343) + Store (0x03, C344) + Store (0xEF, C349) + } + Else + { + Store (0x90, C343) + Store (0x03, C344) + Store (0xEF, C349) + } + } + + Store (C342, C242) + } + + Method (_GTF, 0, NotSerialized) + { + Return (C242) + } + } + } + } +} diff --git a/tests/aapits/asl/rt0000.asl b/tests/aapits/asl/rt0000.asl new file mode 100755 index 0000000..af67069 --- /dev/null +++ b/tests/aapits/asl/rt0000.asl @@ -0,0 +1,204 @@ +DefinitionBlock( + "rt0000.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * DSDT table of Resource managment interfaces test #0000 + */ + + Include("../asl/tblm_aux.asl") + + Device (DEV0) + { + Name (_PRS, ResourceTemplate () { + + IRQ (Level, ActiveLow, Shared) {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{|}~ !\"#$%&'()*", + "*+,-./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) + }) + + Method (_CRS) + { + Return (^_PRS) + } + + Name (ECRS, 1) + + Method (_SRS, 1) + { + Store (ECRS, Debug) + CopyObject (Arg0, ECRS) + Store (Arg0, Debug) + Store (ECRS, Debug) + } + Device (LNKA) + { + Name (N000, "LNKA") + } + Device (LNKB) + { + Name (N000, "LNKB") + } + Device (LNKC) + { + Name (N000, "LNKC") + } + Device (LNKD) + { + Name (N000, "LNKD") + } +/* + * Extracted from Acpi/source_asl/intel/hawk.asl + */ + // _PRT - PCI Routing Table + // + // PCI interrupts are inherently non + // -hierarchical. PCI interrupt pins are + // wired to interrupt inputs of the + // interrupt controllers. _PRT provides a + // mapping from PCI interrupt pins to the + // interrupt inputs of the interrupt + // controllers. _PRT is required under all + // PCI root bridges. _PRT evaluates to a + // package containing an array of + // packages, each of which describes the + // mapping of a PCI interrupt pin. Note: + // The function number in the _PRT + // packages must be FFFF, that is, any + // function number. The format of each + // package is: + // + // Entry Type Description + // ---------------------------------------- + // + // 0 Integer Address of the device + // 1 Integer PCI pin number of the + // device (0=INTA#, + // 1=INTB#, 2=INTC#, + // 3=INTD#) + // 2 Name Name of the device which + // the pin is connected or + // 0 if the global pool + // 3 Integer Index of the interrupt in + // the specified device + // + Name(_PRT,Package(0x05){ + Package(0x04){ + 0x001FFFFF, + 0x00, + \DEV0.LNKA, + 0x00 + }, + Package(0x04){ + 0x001FFFFF, + 0x01, + \DEV0.LNKB, + 0x00 + }, + Package(0x04){ + 0x001FFFFF, + 0x02, + \DEV0.LNKC, + 0x00 + }, + Package(0x04){ + 0x001FFFFF, + 0x03, + \DEV0.LNKD, + 0x00 + }, + Package(0x04){ + 0x0001FFFF, + 0x00, + \DEV0.LNKA, + 0x00 + } + }) + } + + Method (m000) + { + Store("\\DEV0._CRS Resource Template:", Debug) + Store(\DEV0._CRS, Debug) + } +} diff --git a/tests/aapits/asl/rt0035.asl b/tests/aapits/asl/rt0035.asl new file mode 100755 index 0000000..cc348d0 --- /dev/null +++ b/tests/aapits/asl/rt0035.asl @@ -0,0 +1,309 @@ +DefinitionBlock( + "rt0035.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * DSDT table of Resource managment interfaces test #0035 + */ + + Name (BMRK, 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}) + + Device (DEV0) + { + Name (_PRS, 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) + }) + + Name (ECRS, 1) + + Method (_SRS, 1) + { + CopyObject (Arg0, ECRS) + if (LNotEqual(ECRS, BMRK)) { + Store (ECRS, Debug) + Store (BMRK, Debug) + Store ("ECRS-BMRK mismatch", Debug) + Store(SizeOf(ECRS), Local2) + Store(SizeOf(BMRK), Local3) + if (LLess(Local3, Local2)) { + Store(Local3, Local2) + } + While(Local2) { + Decrement(Local2) + if (LNotEqual(DeRefOf(Index(ECRS, Local2)), + DeRefOf(Index(BMRK, Local2)))) { + Store(Local2, Debug) + Store(DeRefOf(Index(ECRS, Local2)), Debug) + Store(DeRefOf(Index(BMRK, Local2)), Debug) + } + } + } + } + } +} diff --git a/tests/aapits/asl/rt0036.asl b/tests/aapits/asl/rt0036.asl new file mode 100755 index 0000000..feb7f4d --- /dev/null +++ b/tests/aapits/asl/rt0036.asl @@ -0,0 +1,530 @@ +DefinitionBlock( + "rt0036.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * DSDT table of Resource managment interfaces test #0036 + */ + + Name (BMRK, Package () { + Buffer(){0x23, 0x01, 0x00, 0x00, 0x79, 0x00}, + Buffer(){0x22, 0x02, 0x00, 0x79, 0x00}, + Buffer(){0x2a, 0x04, 0x02, 0x79, 0x00}, + Buffer(){0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5, 0x79, 0x00}, + Buffer(){0x4b, 0xf1, 0xf0, 0xf2, 0x79, 0x00}, + Buffer(){0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7, 0x79, 0x00}, + Buffer(){0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6, 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(){0x86, 0x09, 0x00, 0x00, + 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4, 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(){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(){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(){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(){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(){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(){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(){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}, + Buffer(){0x82, 0x0c, 0x00, 0x7f, 0xf0, 0xf1, 0x00, + 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 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, 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, 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(){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(){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(){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(){0x79, 0x00}, + + 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}, + Buffer () {0x31, 0x00, 0x38, 0x31, 0x04, 0x31, 0x08, 0x38, 0x31, 0x01, + /* 0x31, 0x05, - actually are converted to StartDependentFnNoPri == */ + 0x30, + 0x31, 0x09, 0x38, 0x31, 0x02, 0x38, 0x31, 0x06, 0x38, 0x31, 0x0a, 0x38, 0x79, 0x00}, + + }) + + Device (DEV0) + { + Name (CPRS, 0) + + Method (_PRS) + { + Store (CPRS, Local0) + Increment (CPRS) + Return (Derefof(Index(PPRS, Local0))) + } + + Name (PPRS, Package () { + ResourceTemplate(){IRQ (Level, ActiveHigh, Exclusive) {0}}, + ResourceTemplate(){IRQNoFlags () {1}}, + ResourceTemplate(){DMA (Compatibility, NotBusMaster, Transfer16) {2}}, + ResourceTemplate(){IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5)}, + ResourceTemplate(){FixedIO (0xf0f1, 0xf2)}, + ResourceTemplate(){VendorShort () {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7}}, + ResourceTemplate(){Memory24 (ReadWrite, 0xf0f1, 0xf2f3, 0xf4f5, 0xf6f7)}, + ResourceTemplate(){Memory32 (ReadWrite, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff)}, + ResourceTemplate(){Memory32Fixed (ReadOnly, 0xf0f1f2f3, 0xf4f5f6f7)}, + ResourceTemplate(){VendorLong () {0x9f, + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, + 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, + 0x00, 0x01, 0x02, 0x03}}, + ResourceTemplate(){QWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange, + 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef, + 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, + 0xff, "PATHPATHPATH", QIOX, TypeTranslation, SparseTranslation)}, + ResourceTemplate(){DWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange, + 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, + 0xff, "PATHPATHPATH", DIOX, TypeTranslation, SparseTranslation)}, + ResourceTemplate(){WordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange, + 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff, + 0xff, "PATHPATHPATH", WIOX, TypeTranslation, SparseTranslation)}, + ResourceTemplate(){QWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly, + 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef, + 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, + 0xff, "PATHPATHPATH", QMEX, AddressRangeACPI, TypeTranslation)}, + ResourceTemplate(){DWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly, + 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, + 0xff, "PATHPATHPATH", DMEX, AddressRangeACPI, TypeTranslation)}, + ResourceTemplate(){WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode, + 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff, + 0xff, "PATHPATHPATH", WBNX)}, + ResourceTemplate(){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}}, + ResourceTemplate(){Register (FFixedHW, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9)}, + ResourceTemplate(){ExtendedIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange, + 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, + 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, + EIOX, TypeTranslation, SparseTranslation)}, + ResourceTemplate(){ExtendedMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly, + 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, + 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, + EMEX, AddressRangeACPI, TypeTranslation)}, + ResourceTemplate(){ExtendedSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a, + 0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, + 0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, + ESPX)}, + ResourceTemplate(){DWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a, + 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, + 0xff, "PATHPATHPATH", DSPX)}, + ResourceTemplate(){QWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a, + 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef, + 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, + 0xff, "PATHPATHPATH", QSPX)}, + ResourceTemplate(){WordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a, + 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff, + 0xff, "PATHPATHPATH", WSPX)}, + ResourceTemplate(){}, + + 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} + }, + ResourceTemplate () { + StartDependentFn (0, 0) {} + EndDependentFn () + StartDependentFn (0, 1) {} + StartDependentFn (0, 2) {} + EndDependentFn () + StartDependentFn (1, 0) {} + // Will be converted to StartDependentFnNoPri + StartDependentFn (1, 1) {} + StartDependentFn (1, 2) {} + EndDependentFn () + StartDependentFn (2, 0) {} + EndDependentFn () + StartDependentFn (2, 1) {} + EndDependentFn () + StartDependentFn (2, 2) {} + EndDependentFn () + }, + }) + + Name (CSRS, 0) + + Name (ECRS, 1) + + Method (_SRS, 1) + { + Store (CSRS, Local0) + Increment (CSRS) + Store (Derefof(Index(BMRK, Local0)), Local1) + + Store (Arg0, Debug) + + CopyObject (Arg0, ECRS) + if (LNotEqual(ECRS, Local1)) { + Store (ECRS, Debug) + Store (Local1, Debug) + Store (Concatenate(Mid(ToHexString(Local0), 14, 2), + "-th RT ECRS-BMRK mismatch"), Debug) + Store(SizeOf(ECRS), Local2) + Store(SizeOf(Local1), Local3) + if (LLess(Local3, Local2)) { + Store(Local3, Local2) + } + While(Local2) { + Decrement(Local2) + if (LNotEqual(DeRefOf(Index(ECRS, Local2)), + DeRefOf(Index(Local1, Local2)))) { + Store(Local2, Debug) + Store(DeRefOf(Index(ECRS, Local2)), Debug) + Store(DeRefOf(Index(Local1, Local2)), Debug) + } + } + } + } + } +} diff --git a/tests/aapits/asl/ssdt1.asl b/tests/aapits/asl/ssdt1.asl new file mode 100755 index 0000000..6f20569 --- /dev/null +++ b/tests/aapits/asl/ssdt1.asl @@ -0,0 +1,34 @@ +DefinitionBlock( + "ssdt1.aml", // Output filename + "SSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * SSDT table #1 + */ + + Name(i901, 0x9010) + Name(s901, "String SSDT1") + Name(p901, Package(1){"Package SSDT1"}) + + Method(m901) + { + Method(m000) + { + Name(i000, 0x9011) + + Return (i000) + } + + Store(p901, Debug) + Store("String replace Package SSDT1", p901) + Store(p901, Debug) + + Store(m000(), Debug) + } +} diff --git a/tests/aapits/asl/ssdt2.asl b/tests/aapits/asl/ssdt2.asl new file mode 100755 index 0000000..1880ee7 --- /dev/null +++ b/tests/aapits/asl/ssdt2.asl @@ -0,0 +1,34 @@ +DefinitionBlock( + "ssdt2.aml", // Output filename + "SSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * SSDT table #2 + */ + + Name(i902, 0x9020) + Name(s902, "String SSDT2") + Name(p902, Package(1){"Package SSDT2"}) + + Method(m902) + { + Method(m000) + { + Name(i000, 0x9021) + + Return (i000) + } + + Store(p902, Debug) + Store("String replace Package SSDT2", p902) + Store(p902, Debug) + + Store(m000(), Debug) + } +} diff --git a/tests/aapits/asl/ssdt_aux.asl b/tests/aapits/asl/ssdt_aux.asl new file mode 100755 index 0000000..ac98f36 --- /dev/null +++ b/tests/aapits/asl/ssdt_aux.asl @@ -0,0 +1,135 @@ +DefinitionBlock( + "ssdt_aux.aml", // Output filename + "SSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite + * auxiliary SSDT table to be loaded/unloaded + */ + + Device (AUX2) + { + Method(SS00) + { + Store("AUX2.SS00", Debug) + } + + // Multiple Objects of different types + + // Integer + Name(INT0, 0xfedcba9876543210) + 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) + + // String + Name(STR0, "source string0") + Name(STR1, "source string1") + Name(STR2, "source string2") + Name(STR3, "source string3") + Name(STR4, "source string4") + Name(STR5, "source string5") + Name(STR6, "source string6") + Name(STR7, "source string7") + Name(STR8, "source string8") + + // Buffer + Name(BUF0, Buffer(9){9,8,7,6,5,4,3,2,1}) + Name(BUF1, Buffer(8){8,7,6,5,4,3,2,1}) + Name(BUF2, Buffer(7){7,6,5,4,3,2,1}) + Name(BUF3, Buffer(6){6,5,4,3,2,1}) + Name(BUF4, Buffer(5){5,4,3,2,1}) + Name(BUF5, Buffer(4){4,3,2,1}) + Name(BUF6, Buffer(3){3,2,1}) + Name(BUF7, Buffer(2){2,1}) + + // Package + Name(PAC0, Package(3) { + 0xfedcba987654321f, + "test package0", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC1, Package(3) { + 0xfedcba987654321f, + "test package1", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + Name(PAC2, Package(3) { + 0xfedcba987654321f, + "test package2", + Buffer(9){19,18,17,16,15,14,13,12,11}, + }) + + // Field Unit + Field(OPR0, ByteAcc, NoLock, Preserve) { + FLU0, 69, + FLU1, 68, + FLU2, 67, + FLU3, 66, + FLU4, 65, + FLU5, 64, + } + + // Device + Device(DEV0) {Name(s000, "DEV0")} + Device(DEV1) {Name(s000, "DEV1")} + Device(DEV2) {Name(s000, "DEV2")} + Device(DEV3) {Name(s000, "DEV3")} + + // Event + Event(EVE0) + Event(EVE1) + Event(EVE2) + + // Method + Method(MMM0) {Return (0)} + Method(MMM1) {Return (1)} + Method(MMM2) {Return (2)} + + // Mutex + Mutex(MTX0, 0) + Mutex(MTX1, 1) + Mutex(MTX2, 2) + Mutex(MTX3, 3) + Mutex(MTX4, 4) + + // Operation Region + OperationRegion(OPR0, SystemMemory, 0, 50) + OperationRegion(OPR1, SystemMemory, 200, 30) + + // Power Resource + PowerResource(PWR0, 0, 0) {Name(s000, "PWR0")} + PowerResource(PWR1, 0, 0) {Name(s000, "PWR1")} + PowerResource(PWR2, 0, 0) {Name(s000, "PWR2")} + + // Processor + Processor(CPU0, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU0")} + Processor(CPU1, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU1")} + Processor(CPU2, 0x0, 0xFFFFFFFF, 0x0) {Name(s000, "CPU2")} + + // Thermal Zone + ThermalZone(TZN0) {Name(s000, "TZN0")} + ThermalZone(TZN1) {Name(s000, "TZN1")} + ThermalZone(TZN2) {Name(s000, "TZN2")} + + // Buffer Field + External(\BUFZ) + Createfield(\BUFZ, 0, 69, BFL0) + Createfield(\BUFZ, 7, 68, BFL1) + Createfield(\BUFZ, 11, 67, BFL2) + Createfield(\BUFZ, 13, 66, BFL3) + Createfield(\BUFZ, 24, 65, BFL4) + Createfield(\BUFZ, 29, 64, BFL5) + } +} diff --git a/tests/aapits/asl/tblm0037.asl b/tests/aapits/asl/tblm0037.asl new file mode 100755 index 0000000..072f694 --- /dev/null +++ b/tests/aapits/asl/tblm0037.asl @@ -0,0 +1,153 @@ +DefinitionBlock( + "tblm0037.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite. + * Support Table Management test 0037. + * Implements the following functional ASL Methods: + * INIT - preparing for emulation of a initialy loaded SSDT in an OpRegion, + * LD - loading the next modified SSDT by Load ASL operator, + */ + + Name(BUF0, Buffer() { + 0x53,0x53,0x44,0x54,0x30,0x00,0x00,0x00, /* 00000000 "SSDT0..." */ + 0x01,0xB8,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" */ + 0x24,0x04,0x03,0x20,0x14,0x0B,0x53,0x53, /* 00000020 "$.. ..SS" */ + 0x30,0x30,0x00,0x70,0x0A,0x04,0x60,0xA4, /* 00000028 "00.p..`." */ + }) + + Name (HI0M, 100) + Name (HI0P, Package(HI0M){}) + Name (HI0N, 0) + Name (INIF, 0x00) + + OperationRegion (IST0, SystemMemory, 0, 0x1FA) + + Field(IST0, ByteAcc, NoLock, Preserve) { + RFU0, 0xFD0, + } + + Field(IST0, ByteAcc, NoLock, Preserve) { + SIG, 32, + LENG, 32, + REV, 8, + SUM, 8, + OID, 48, + OTID, 64, + OREV, 32, + CID, 32, + CREV, 32, + Offset(38), + 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) + } + + Method(INIT) + { + 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) + } + + Method(LD) + { + Name(HI0, 0) + + if (LNot(LLess(Add(HI0N, 1), HI0M))) { + Store("LD: too many tables loaded", Debug) + Return (1) + } + Increment(HI0N) + + // Modify Revision field of SSDT + Store(Add(CREV, 1), CREV) + + // Modify SSNM Object Name + Divide(HI0N, 10, Local0, Local1) + ShiftLeft(Local1, 16, Local1) + ShiftLeft(Local0, 24, Local0) + Add(Local0, Local1, Local0) + Add(Local0, 0x30305353, Local0) + Store(Local0, SSNM) + Store(SSNM, Debug) + + // Recalculate and save CheckSum + Store(RFU0, Local0) + Store(Add(SUM, CHSM(Local0, SizeOf (Local0))), SUM) + +// Load(IST0, HI0) + Load(RFU0, HI0) + Store("LD: SSDT Loaded", Debug) +// Store(HI0, Index(HI0P, HI0N)) + + Return (0) + } + + Method(UNLD) + { + Name(HI0, 0) + + if (LEqual(HI0N, 0)) { + Store("UNLD: there are no SSDT loaded", Debug) + Return (1) + } + Decrement(HI0N) + + Store(DerefOf(Index(HI0P, HI0N)), HI0) + + UnLoad(HI0) + Store("UNLD: SSDT UnLoaded", Debug) + + Return (0) + } + + Method(MAIN) + { + INIT() + LD() + LD() +// UNLD() +// UNLD() + } +} diff --git a/tests/aapits/asl/tblm0047.asl b/tests/aapits/asl/tblm0047.asl new file mode 100755 index 0000000..34fe126 --- /dev/null +++ b/tests/aapits/asl/tblm0047.asl @@ -0,0 +1,155 @@ +DefinitionBlock( + "tblm0047.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite. + * Support Table Management test 0047. + * Implements the following functional ASL Methods: + * INIT - preparing for emulation of a SSDT in an OpRegion, + * LD - loading the SSDT by Load ASL operator, + * UNLD - unloading the SSDT by UnLoad ASL operator, + * _PPC - a Method for evaluation in the SSDT. + */ + + + Name (SMIF, 0x00) + Name (TRP0, 0x00) + Name (DTSE, 0x00) + + Name (PPCS, "PPCS") + + Method (TRAP, 1, Serialized) + { + Store (Arg0, SMIF) + Store (Zero, TRP0) + Return (SMIF) + } + + Scope (_PR) + { + Processor (CPU0, 0x00, 0x00001010, 0x06) {} + Processor (CPU1, 0x01, 0x00001010, 0x06) + { + Method (_INI, 0, NotSerialized) + { + If (DTSE) + { + TRAP (0x46) + } + } + } + } + + // SSDT + Name(BUF0, Buffer() { + 0x53, 0x53, 0x44, 0x54, 0xfa, 0x01, 0x00, 0x00, 0x01, 0xf8, 0x50, 0x6d, 0x52, 0x65, 0x66, 0x00, + 0x43, 0x70, 0x75, 0x30, 0x49, 0x73, 0x74, 0x00, 0x00, 0x30, 0x00, 0x00, 0x49, 0x4e, 0x54, 0x4c, + 0x24, 0x06, 0x05, 0x20, 0x10, 0x45, 0x1d, 0x5c, 0x2e, 0x5f, 0x50, 0x52, 0x5f, 0x43, 0x50, 0x55, + 0x30, 0x14, 0x0b, 0x5f, 0x50, 0x50, 0x43, 0x00, 0xa4, 0x50, 0x50, 0x43, 0x53, 0x14, 0x47, 0x07, + 0x5f, 0x50, 0x43, 0x54, 0x00, 0xa0, 0x41, 0x04, 0x90, 0x7b, 0x43, 0x46, 0x47, 0x44, 0x0a, 0x01, + 0x00, 0x7b, 0x50, 0x44, 0x43, 0x30, 0x0a, 0x01, 0x00, 0xa4, 0x12, 0x2c, 0x02, 0x11, 0x14, 0x0a, + 0x11, 0x82, 0x0c, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x79, 0x00, 0x11, 0x14, 0x0a, 0x11, 0x82, 0x0c, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0xa4, 0x12, 0x2c, 0x02, 0x11, 0x14, 0x0a, 0x11, 0x82, + 0x0c, 0x00, 0x01, 0x10, 0x00, 0x00, 0xb2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, + 0x11, 0x14, 0x0a, 0x11, 0x82, 0x0c, 0x00, 0x01, 0x08, 0x00, 0x00, 0xb3, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x79, 0x00, 0x14, 0x1a, 0x58, 0x50, 0x53, 0x53, 0x00, 0xa0, 0x0e, 0x7b, 0x50, + 0x44, 0x43, 0x30, 0x0a, 0x01, 0x00, 0xa4, 0x4e, 0x50, 0x53, 0x53, 0xa4, 0x53, 0x50, 0x53, 0x53, + 0x08, 0x53, 0x50, 0x53, 0x53, 0x12, 0x46, 0x06, 0x03, 0x12, 0x20, 0x06, 0x0c, 0x29, 0x07, 0x00, + 0x00, 0x0c, 0x78, 0x69, 0x00, 0x00, 0x0c, 0x6e, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, + 0x0c, 0x83, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x12, 0x20, 0x06, 0x0c, 0x35, 0x05, + 0x00, 0x00, 0x0c, 0x38, 0x4a, 0x00, 0x00, 0x0c, 0x6e, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, + 0x00, 0x0c, 0x83, 0x01, 0x00, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x12, 0x20, 0x06, 0x0c, 0xe8, + 0x03, 0x00, 0x00, 0x0c, 0xc8, 0x32, 0x00, 0x00, 0x0c, 0x6e, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, + 0x00, 0x00, 0x0c, 0x83, 0x02, 0x00, 0x00, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x08, 0x5f, 0x50, 0x53, + 0x53, 0x12, 0x46, 0x06, 0x03, 0x12, 0x20, 0x06, 0x0c, 0x29, 0x07, 0x00, 0x00, 0x0c, 0x78, 0x69, + 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x0c, 0x2c, 0x0b, 0x00, + 0x00, 0x0c, 0x2c, 0x0b, 0x00, 0x00, 0x12, 0x20, 0x06, 0x0c, 0x35, 0x05, 0x00, 0x00, 0x0c, 0x38, + 0x4a, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x0c, 0x20, 0x08, + 0x00, 0x00, 0x0c, 0x20, 0x08, 0x00, 0x00, 0x12, 0x20, 0x06, 0x0c, 0xe8, 0x03, 0x00, 0x00, 0x0c, + 0xc8, 0x32, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x0c, 0x17, + 0x06, 0x00, 0x00, 0x0c, 0x17, 0x06, 0x00, 0x00, 0x14, 0x41, 0x05, 0x5f, 0x50, 0x53, 0x44, 0x00, + 0xa0, 0x38, 0x7b, 0x43, 0x46, 0x47, 0x44, 0x0c, 0x00, 0x00, 0x00, 0x01, 0x00, 0xa0, 0x1a, 0x7b, + 0x50, 0x44, 0x43, 0x30, 0x0a, 0x20, 0x00, 0xa4, 0x12, 0x0f, 0x01, 0x12, 0x0c, 0x05, 0x0a, 0x05, + 0x0a, 0x00, 0x0a, 0x00, 0x0a, 0xfd, 0x0a, 0x02, 0xa4, 0x12, 0x0f, 0x01, 0x12, 0x0c, 0x05, 0x0a, + 0x05, 0x0a, 0x00, 0x0a, 0x00, 0x0a, 0xfe, 0x0a, 0x02, 0xa4, 0x12, 0x0f, 0x01, 0x12, 0x0c, 0x05, + 0x0a, 0x05, 0x0a, 0x00, 0x0a, 0x00, 0x0a, 0xfc, 0x0a, 0x02, + }) + + External (\_PR_.CPU0._PPC, MethodObj) + + Name (HI0, 0x00) + Name (HI0F, 0x00) + Name (INIF, 0x00) + + OperationRegion (IST0, SystemMemory, 0, 0x1FA) + Field(IST0, ByteAcc, NoLock, Preserve) { + RFU0, 0xFD0, + } + + Method(INIT) + { + 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) + } + + Method(LD) + { + if (HI0F) { + Store("LD: SSDT has been loaded previously", Debug) + Return (1) + } + +// Load(IST0, HI0) + Load(RFU0, HI0) + Store(1, HI0F) + Store("LD: SSDT Loaded", Debug) + Return (0) + } + + Method(UNLD) + { + if (LNotEqual(HI0F, 1)) { + Store("UNLD: SSDT has not been loaded ", Debug) + Return (1) + } + + UnLoad(HI0) + Store("UNLD: SSDT UnLoaded", Debug) + Store(0, HI0) + Store(0, HI0F) + + Return (0) + } + + Method(MAIN) + { + INIT() + INIT() + + LD() + LD() + + Store("1: Try _PPC", Debug) + Store(\_PR_.CPU0._PPC(), Debug) + + UNLD() + UNLD() + + Store("2: Try _PPC", Debug) + Store(\_PR_.CPU0._PPC(), Debug) + } +} diff --git a/tests/aapits/asl/tblm0058.asl b/tests/aapits/asl/tblm0058.asl new file mode 100755 index 0000000..f09bea1 --- /dev/null +++ b/tests/aapits/asl/tblm0058.asl @@ -0,0 +1,84 @@ +DefinitionBlock( + "tblm0058.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + /* + * ACPICA API Test Suite. + * Support Table Management test 0058, reproducing bug 34 + * Implements the following functional ASL Methods: + * INIT - preparing for emulation of a initialy loaded SSDT in an OpRegion, + * LD - loading the SSDT by Load ASL operator, + */ + + // SSDT1 + Name(BUF0, Buffer() { + 0x53,0x53,0x44,0x54,0x30,0x00,0x00,0x00, /* 00000000 "SSDT0..." */ + 0x01,0xB8,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" */ + 0x24,0x04,0x03,0x20,0x14,0x0B,0x5F,0x54, /* 00000020 "$.. .._T" */ + 0x39,0x38,0x00,0x70,0x0A,0x04,0x60,0xA4, /* 00000028 "98.p..`." */ + }) + + Name (HI0, 0x00) + Name (HI0F, 0x00) + Name (INIF, 0x00) + + OperationRegion (IST0, SystemMemory, 0, 0x1FA) + Field(IST0, ByteAcc, NoLock, Preserve) { + RFU0, 0xFD0, + } + + Method(INIT) + { + 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) + } + + Method(LD) + { + if (HI0F) { + Store("LD: SSDT has been loaded previously", Debug) + Return (1) + } + +// Load(IST0, HI0) + Load(RFU0, HI0) + Store(1, HI0F) + Store("LD: SSDT Loaded", Debug) + Return (0) + } + + Method(UNLD) + { + if (LNotEqual(HI0F, 1)) { + Store("UNLD: SSDT has not been loaded ", Debug) + Return (1) + } + + UnLoad(HI0) + Store("UNLD: SSDT UnLoaded", Debug) + Store(0, HI0) + Store(0, HI0F) + + Return (0) + } + + Method(MAIN) + { + INIT() + LD() + } +} diff --git a/tests/aapits/asl/tblm_aux.asl b/tests/aapits/asl/tblm_aux.asl new file mode 100755 index 0000000..e14e4d3 --- /dev/null +++ b/tests/aapits/asl/tblm_aux.asl @@ -0,0 +1,276 @@ +/* + * ACPICA API Test Suite. + * Support for testing of invalid handle processing. + * Implements the following functional ASL Methods: + * INIT - preparing for emulation of a initialy loaded SSDT in an OpRegion, + * LD - loading the auxiliary SSDT by Load ASL operator, then \SS00 handler + * can be obtained, + * UNLD - unloading the auxiliary SSDT by Load ASL operator, the handler + * should become invalid + */ + +// Do not use Device Object that can intercept common checks +//Device (AUX0) +Processor(AUX0, 0xA, 0x0, 0x0) +{ +/* + * + * Intel ACPI Component Architecture + * ASL Optimizing Compiler version 20060912 [Sep 14 2006] + * Copyright (C) 2000 - 2006 Intel Corporation + * Supports ACPI Specification Revision 3.0a + * + * Compilation of "ssdt_aux.asl" - Mon Sep 18 17:51:24 2006 + * + * C source code output + * + */ + +Name(BUF0, Buffer() { + 0x53,0x53,0x44,0x54,0x79,0x04,0x00,0x00, /* 00000000 "SSDTy..." */ + 0x02,0xE8,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" */ + 0x12,0x09,0x06,0x20,0x5B,0x82,0x43,0x45, /* 00000020 "... [.CE" */ + 0x41,0x55,0x58,0x32,0x14,0x14,0x53,0x53, /* 00000028 "AUX2..SS" */ + 0x30,0x30,0x00,0x70,0x0D,0x41,0x55,0x58, /* 00000030 "00.p.AUX" */ + 0x32,0x2E,0x53,0x53,0x30,0x30,0x00,0x5B, /* 00000038 "2.SS00.[" */ + 0x31,0x08,0x49,0x4E,0x54,0x30,0x0E,0x10, /* 00000040 "1.INT0.." */ + 0x32,0x54,0x76,0x98,0xBA,0xDC,0xFE,0x08, /* 00000048 "2Tv....." */ + 0x49,0x4E,0x54,0x31,0x0E,0x11,0x32,0x54, /* 00000050 "INT1..2T" */ + 0x76,0x98,0xBA,0xDC,0xFE,0x08,0x49,0x4E, /* 00000058 "v.....IN" */ + 0x54,0x32,0x0E,0x12,0x32,0x54,0x76,0x98, /* 00000060 "T2..2Tv." */ + 0xBA,0xDC,0xFE,0x08,0x49,0x4E,0x54,0x33, /* 00000068 "....INT3" */ + 0x0E,0x13,0x32,0x54,0x76,0x98,0xBA,0xDC, /* 00000070 "..2Tv..." */ + 0xFE,0x08,0x49,0x4E,0x54,0x34,0x0E,0x14, /* 00000078 "..INT4.." */ + 0x32,0x54,0x76,0x98,0xBA,0xDC,0xFE,0x08, /* 00000080 "2Tv....." */ + 0x49,0x4E,0x54,0x35,0x0E,0x15,0x32,0x54, /* 00000088 "INT5..2T" */ + 0x76,0x98,0xBA,0xDC,0xFE,0x08,0x49,0x4E, /* 00000090 "v.....IN" */ + 0x54,0x36,0x0E,0x16,0x32,0x54,0x76,0x98, /* 00000098 "T6..2Tv." */ + 0xBA,0xDC,0xFE,0x08,0x49,0x4E,0x54,0x37, /* 000000A0 "....INT7" */ + 0x0E,0x17,0x32,0x54,0x76,0x98,0xBA,0xDC, /* 000000A8 "..2Tv..." */ + 0xFE,0x08,0x49,0x4E,0x54,0x38,0x0E,0x18, /* 000000B0 "..INT8.." */ + 0x32,0x54,0x76,0x98,0xBA,0xDC,0xFE,0x08, /* 000000B8 "2Tv....." */ + 0x49,0x4E,0x54,0x39,0x0E,0x19,0x32,0x54, /* 000000C0 "INT9..2T" */ + 0x76,0x98,0xBA,0xDC,0xFE,0x08,0x53,0x54, /* 000000C8 "v.....ST" */ + 0x52,0x30,0x0D,0x73,0x6F,0x75,0x72,0x63, /* 000000D0 "R0.sourc" */ + 0x65,0x20,0x73,0x74,0x72,0x69,0x6E,0x67, /* 000000D8 "e string" */ + 0x30,0x00,0x08,0x53,0x54,0x52,0x31,0x0D, /* 000000E0 "0..STR1." */ + 0x73,0x6F,0x75,0x72,0x63,0x65,0x20,0x73, /* 000000E8 "source s" */ + 0x74,0x72,0x69,0x6E,0x67,0x31,0x00,0x08, /* 000000F0 "tring1.." */ + 0x53,0x54,0x52,0x32,0x0D,0x73,0x6F,0x75, /* 000000F8 "STR2.sou" */ + 0x72,0x63,0x65,0x20,0x73,0x74,0x72,0x69, /* 00000100 "rce stri" */ + 0x6E,0x67,0x32,0x00,0x08,0x53,0x54,0x52, /* 00000108 "ng2..STR" */ + 0x33,0x0D,0x73,0x6F,0x75,0x72,0x63,0x65, /* 00000110 "3.source" */ + 0x20,0x73,0x74,0x72,0x69,0x6E,0x67,0x33, /* 00000118 " string3" */ + 0x00,0x08,0x53,0x54,0x52,0x34,0x0D,0x73, /* 00000120 "..STR4.s" */ + 0x6F,0x75,0x72,0x63,0x65,0x20,0x73,0x74, /* 00000128 "ource st" */ + 0x72,0x69,0x6E,0x67,0x34,0x00,0x08,0x53, /* 00000130 "ring4..S" */ + 0x54,0x52,0x35,0x0D,0x73,0x6F,0x75,0x72, /* 00000138 "TR5.sour" */ + 0x63,0x65,0x20,0x73,0x74,0x72,0x69,0x6E, /* 00000140 "ce strin" */ + 0x67,0x35,0x00,0x08,0x53,0x54,0x52,0x36, /* 00000148 "g5..STR6" */ + 0x0D,0x73,0x6F,0x75,0x72,0x63,0x65,0x20, /* 00000150 ".source " */ + 0x73,0x74,0x72,0x69,0x6E,0x67,0x36,0x00, /* 00000158 "string6." */ + 0x08,0x53,0x54,0x52,0x37,0x0D,0x73,0x6F, /* 00000160 ".STR7.so" */ + 0x75,0x72,0x63,0x65,0x20,0x73,0x74,0x72, /* 00000168 "urce str" */ + 0x69,0x6E,0x67,0x37,0x00,0x08,0x53,0x54, /* 00000170 "ing7..ST" */ + 0x52,0x38,0x0D,0x73,0x6F,0x75,0x72,0x63, /* 00000178 "R8.sourc" */ + 0x65,0x20,0x73,0x74,0x72,0x69,0x6E,0x67, /* 00000180 "e string" */ + 0x38,0x00,0x08,0x42,0x55,0x46,0x30,0x11, /* 00000188 "8..BUF0." */ + 0x0C,0x0A,0x09,0x09,0x08,0x07,0x06,0x05, /* 00000190 "........" */ + 0x04,0x03,0x02,0x01,0x08,0x42,0x55,0x46, /* 00000198 ".....BUF" */ + 0x31,0x11,0x0B,0x0A,0x08,0x08,0x07,0x06, /* 000001A0 "1......." */ + 0x05,0x04,0x03,0x02,0x01,0x08,0x42,0x55, /* 000001A8 "......BU" */ + 0x46,0x32,0x11,0x0A,0x0A,0x07,0x07,0x06, /* 000001B0 "F2......" */ + 0x05,0x04,0x03,0x02,0x01,0x08,0x42,0x55, /* 000001B8 "......BU" */ + 0x46,0x33,0x11,0x09,0x0A,0x06,0x06,0x05, /* 000001C0 "F3......" */ + 0x04,0x03,0x02,0x01,0x08,0x42,0x55,0x46, /* 000001C8 ".....BUF" */ + 0x34,0x11,0x08,0x0A,0x05,0x05,0x04,0x03, /* 000001D0 "4......." */ + 0x02,0x01,0x08,0x42,0x55,0x46,0x35,0x11, /* 000001D8 "...BUF5." */ + 0x07,0x0A,0x04,0x04,0x03,0x02,0x01,0x08, /* 000001E0 "........" */ + 0x42,0x55,0x46,0x36,0x11,0x06,0x0A,0x03, /* 000001E8 "BUF6...." */ + 0x03,0x02,0x01,0x08,0x42,0x55,0x46,0x37, /* 000001F0 "....BUF7" */ + 0x11,0x05,0x0A,0x02,0x02,0x01,0x08,0x50, /* 000001F8 ".......P" */ + 0x41,0x43,0x30,0x12,0x27,0x03,0x0E,0x1F, /* 00000200 "AC0.'..." */ + 0x32,0x54,0x76,0x98,0xBA,0xDC,0xFE,0x0D, /* 00000208 "2Tv....." */ + 0x74,0x65,0x73,0x74,0x20,0x70,0x61,0x63, /* 00000210 "test pac" */ + 0x6B,0x61,0x67,0x65,0x30,0x00,0x11,0x0C, /* 00000218 "kage0..." */ + 0x0A,0x09,0x13,0x12,0x11,0x10,0x0F,0x0E, /* 00000220 "........" */ + 0x0D,0x0C,0x0B,0x08,0x50,0x41,0x43,0x31, /* 00000228 "....PAC1" */ + 0x12,0x27,0x03,0x0E,0x1F,0x32,0x54,0x76, /* 00000230 ".'...2Tv" */ + 0x98,0xBA,0xDC,0xFE,0x0D,0x74,0x65,0x73, /* 00000238 ".....tes" */ + 0x74,0x20,0x70,0x61,0x63,0x6B,0x61,0x67, /* 00000240 "t packag" */ + 0x65,0x31,0x00,0x11,0x0C,0x0A,0x09,0x13, /* 00000248 "e1......" */ + 0x12,0x11,0x10,0x0F,0x0E,0x0D,0x0C,0x0B, /* 00000250 "........" */ + 0x08,0x50,0x41,0x43,0x32,0x12,0x27,0x03, /* 00000258 ".PAC2.'." */ + 0x0E,0x1F,0x32,0x54,0x76,0x98,0xBA,0xDC, /* 00000260 "..2Tv..." */ + 0xFE,0x0D,0x74,0x65,0x73,0x74,0x20,0x70, /* 00000268 "..test p" */ + 0x61,0x63,0x6B,0x61,0x67,0x65,0x32,0x00, /* 00000270 "ackage2." */ + 0x11,0x0C,0x0A,0x09,0x13,0x12,0x11,0x10, /* 00000278 "........" */ + 0x0F,0x0E,0x0D,0x0C,0x0B,0x5B,0x81,0x2A, /* 00000280 ".....[.*" */ + 0x4F,0x50,0x52,0x30,0x01,0x46,0x4C,0x55, /* 00000288 "OPR0.FLU" */ + 0x30,0x45,0x04,0x46,0x4C,0x55,0x31,0x44, /* 00000290 "0E.FLU1D" */ + 0x04,0x46,0x4C,0x55,0x32,0x43,0x04,0x46, /* 00000298 ".FLU2C.F" */ + 0x4C,0x55,0x33,0x42,0x04,0x46,0x4C,0x55, /* 000002A0 "LU3B.FLU" */ + 0x34,0x41,0x04,0x46,0x4C,0x55,0x35,0x40, /* 000002A8 "4A.FLU5@" */ + 0x04,0x5B,0x82,0x10,0x44,0x45,0x56,0x30, /* 000002B0 ".[..DEV0" */ + 0x08,0x53,0x30,0x30,0x30,0x0D,0x44,0x45, /* 000002B8 ".S000.DE" */ + 0x56,0x30,0x00,0x5B,0x82,0x10,0x44,0x45, /* 000002C0 "V0.[..DE" */ + 0x56,0x31,0x08,0x53,0x30,0x30,0x30,0x0D, /* 000002C8 "V1.S000." */ + 0x44,0x45,0x56,0x31,0x00,0x5B,0x82,0x10, /* 000002D0 "DEV1.[.." */ + 0x44,0x45,0x56,0x32,0x08,0x53,0x30,0x30, /* 000002D8 "DEV2.S00" */ + 0x30,0x0D,0x44,0x45,0x56,0x32,0x00,0x5B, /* 000002E0 "0.DEV2.[" */ + 0x82,0x10,0x44,0x45,0x56,0x33,0x08,0x53, /* 000002E8 "..DEV3.S" */ + 0x30,0x30,0x30,0x0D,0x44,0x45,0x56,0x33, /* 000002F0 "000.DEV3" */ + 0x00,0x5B,0x02,0x45,0x56,0x45,0x30,0x5B, /* 000002F8 ".[.EVE0[" */ + 0x02,0x45,0x56,0x45,0x31,0x5B,0x02,0x45, /* 00000300 ".EVE1[.E" */ + 0x56,0x45,0x32,0x14,0x09,0x4D,0x4D,0x4D, /* 00000308 "VE2..MMM" */ + 0x30,0x00,0xA4,0x0A,0x00,0x14,0x09,0x4D, /* 00000310 "0......M" */ + 0x4D,0x4D,0x31,0x00,0xA4,0x0A,0x01,0x14, /* 00000318 "MM1....." */ + 0x09,0x4D,0x4D,0x4D,0x32,0x00,0xA4,0x0A, /* 00000320 ".MMM2..." */ + 0x02,0x5B,0x01,0x4D,0x54,0x58,0x30,0x00, /* 00000328 ".[.MTX0." */ + 0x5B,0x01,0x4D,0x54,0x58,0x31,0x01,0x5B, /* 00000330 "[.MTX1.[" */ + 0x01,0x4D,0x54,0x58,0x32,0x02,0x5B,0x01, /* 00000338 ".MTX2.[." */ + 0x4D,0x54,0x58,0x33,0x03,0x5B,0x01,0x4D, /* 00000340 "MTX3.[.M" */ + 0x54,0x58,0x34,0x04,0x5B,0x80,0x4F,0x50, /* 00000348 "TX4.[.OP" */ + 0x52,0x30,0x00,0x0A,0x00,0x0A,0x32,0x5B, /* 00000350 "R0....2[" */ + 0x80,0x4F,0x50,0x52,0x31,0x00,0x0A,0xC8, /* 00000358 ".OPR1..." */ + 0x0A,0x1E,0x5B,0x84,0x13,0x50,0x57,0x52, /* 00000360 "..[..PWR" */ + 0x30,0x00,0x00,0x00,0x08,0x53,0x30,0x30, /* 00000368 "0....S00" */ + 0x30,0x0D,0x50,0x57,0x52,0x30,0x00,0x5B, /* 00000370 "0.PWR0.[" */ + 0x84,0x13,0x50,0x57,0x52,0x31,0x00,0x00, /* 00000378 "..PWR1.." */ + 0x00,0x08,0x53,0x30,0x30,0x30,0x0D,0x50, /* 00000380 "..S000.P" */ + 0x57,0x52,0x31,0x00,0x5B,0x84,0x13,0x50, /* 00000388 "WR1.[..P" */ + 0x57,0x52,0x32,0x00,0x00,0x00,0x08,0x53, /* 00000390 "WR2....S" */ + 0x30,0x30,0x30,0x0D,0x50,0x57,0x52,0x32, /* 00000398 "000.PWR2" */ + 0x00,0x5B,0x83,0x16,0x43,0x50,0x55,0x30, /* 000003A0 ".[..CPU0" */ + 0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x08,0x53, /* 000003A8 ".......S" */ + 0x30,0x30,0x30,0x0D,0x43,0x50,0x55,0x30, /* 000003B0 "000.CPU0" */ + 0x00,0x5B,0x83,0x16,0x43,0x50,0x55,0x31, /* 000003B8 ".[..CPU1" */ + 0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x08,0x53, /* 000003C0 ".......S" */ + 0x30,0x30,0x30,0x0D,0x43,0x50,0x55,0x31, /* 000003C8 "000.CPU1" */ + 0x00,0x5B,0x83,0x16,0x43,0x50,0x55,0x32, /* 000003D0 ".[..CPU2" */ + 0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x08,0x53, /* 000003D8 ".......S" */ + 0x30,0x30,0x30,0x0D,0x43,0x50,0x55,0x32, /* 000003E0 "000.CPU2" */ + 0x00,0x5B,0x85,0x10,0x54,0x5A,0x4E,0x30, /* 000003E8 ".[..TZN0" */ + 0x08,0x53,0x30,0x30,0x30,0x0D,0x54,0x5A, /* 000003F0 ".S000.TZ" */ + 0x4E,0x30,0x00,0x5B,0x85,0x10,0x54,0x5A, /* 000003F8 "N0.[..TZ" */ + 0x4E,0x31,0x08,0x53,0x30,0x30,0x30,0x0D, /* 00000400 "N1.S000." */ + 0x54,0x5A,0x4E,0x31,0x00,0x5B,0x85,0x10, /* 00000408 "TZN1.[.." */ + 0x54,0x5A,0x4E,0x32,0x08,0x53,0x30,0x30, /* 00000410 "TZN2.S00" */ + 0x30,0x0D,0x54,0x5A,0x4E,0x32,0x00,0x5B, /* 00000418 "0.TZN2.[" */ + 0x13,0x5C,0x42,0x55,0x46,0x5A,0x0A,0x00, /* 00000420 ".\BUFZ.." */ + 0x0A,0x45,0x42,0x46,0x4C,0x30,0x5B,0x13, /* 00000428 ".EBFL0[." */ + 0x5C,0x42,0x55,0x46,0x5A,0x0A,0x07,0x0A, /* 00000430 "\BUFZ..." */ + 0x44,0x42,0x46,0x4C,0x31,0x5B,0x13,0x5C, /* 00000438 "DBFL1[.\" */ + 0x42,0x55,0x46,0x5A,0x0A,0x0B,0x0A,0x43, /* 00000440 "BUFZ...C" */ + 0x42,0x46,0x4C,0x32,0x5B,0x13,0x5C,0x42, /* 00000448 "BFL2[.\B" */ + 0x55,0x46,0x5A,0x0A,0x0D,0x0A,0x42,0x42, /* 00000450 "UFZ...BB" */ + 0x46,0x4C,0x33,0x5B,0x13,0x5C,0x42,0x55, /* 00000458 "FL3[.\BU" */ + 0x46,0x5A,0x0A,0x18,0x0A,0x41,0x42,0x46, /* 00000460 "FZ...ABF" */ + 0x4C,0x34,0x5B,0x13,0x5C,0x42,0x55,0x46, /* 00000468 "L4[.\BUF" */ + 0x5A,0x0A,0x1D,0x0A,0x40,0x42,0x46,0x4C, /* 00000470 "Z...@BFL" */ + 0x35, +}) + + Name (HI0F, 0x00) + Name (HI0, 0) + Name (HI0N, 0) + Name (INIF, 0x00) + + OperationRegion (IST0, SystemMemory, 0, 0x479) + + Field(IST0, ByteAcc, NoLock, Preserve) { + RFU0, 0x23C8, + } + + Field(IST0, ByteAcc, NoLock, Preserve) { + SIG, 32, + LENG, 32, + REV, 8, + SUM, 8, + OID, 48, + OTID, 64, + OREV, 32, + CID, 32, + CREV, 32, + Offset(38), + 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) + } + + Method(INIT) + { + 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) + } + + Method(LD) + { + if (HI0F) { + Store("LD: SSDT has already been loaded", Debug) + Return (1) + } + Increment(HI0N) + + // Recalculate and save CheckSum + Store(RFU0, Local0) + Store(Add(SUM, CHSM(Local0, SizeOf (Local0))), SUM) + +// Load(IST0, HI0) + Load(RFU0, HI0) + Store(1, HI0F) + Store("LD: SSDT loaded", Debug) + + Return (0) + } + + Method(UNLD) + { + if (LNot(HI0F)) { + Store("UNLD: there are no SSDT loaded", Debug) + Return (1) + } + + UnLoad(HI0) + Store(0, HI0F) + Store(0, HI0) + Store("UNLD: SSDT UnLoaded", Debug) + + Return (0) + } +} diff --git a/tests/aapits/at_ssdt2_1.c b/tests/aapits/at_ssdt2_1.c new file mode 100644 index 0000000..b16250b --- /dev/null +++ b/tests/aapits/at_ssdt2_1.c @@ -0,0 +1,104 @@ +static unsigned char Ssdt1Code[] = +{ +/* 0000 */ 0x53, 0x53, 0x44, 0x54, 0x4f, 0x06, 0x00, 0x00, 0x01, 0x72, 0x53, 0x61, 0x74, 0x61, 0x52, 0x65, /* SSDTO....rSataRe */ +/* 0010 */ 0x53, 0x61, 0x74, 0x61, 0x50, 0x72, 0x69, 0x00, 0x00, 0x10, 0x00, 0x00, 0x49, 0x4e, 0x54, 0x4c, /* SataPri.....INTL */ +/* 0020 */ 0x24, 0x06, 0x05, 0x20, 0x10, 0x4a, 0x62, 0x5c, 0x2f, 0x03, 0x5f, 0x53, 0x42, 0x5f, 0x50, 0x43, /* $.. .Jb\/._SB_PC */ +/* 0030 */ 0x49, 0x30, 0x53, 0x41, 0x54, 0x41, 0x5b, 0x82, 0x47, 0x61, 0x50, 0x52, 0x49, 0x44, 0x08, 0x5f, /* I0SATA[.GaPRID._ */ +/* 0040 */ 0x41, 0x44, 0x52, 0x0a, 0x00, 0x14, 0x49, 0x14, 0x5f, 0x47, 0x54, 0x4d, 0x00, 0x08, 0x50, 0x42, /* ADR...I._GTM..PB */ +/* 0050 */ 0x55, 0x46, 0x11, 0x17, 0x0a, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* UF.............. */ +/* 0060 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8a, 0x50, 0x42, 0x55, 0x46, 0x0a, /* ...........PBUF. */ +/* 0070 */ 0x00, 0x50, 0x49, 0x4f, 0x30, 0x8a, 0x50, 0x42, 0x55, 0x46, 0x0a, 0x04, 0x44, 0x4d, 0x41, 0x30, /* .PIO0.PBUF..DMA0 */ +/* 0080 */ 0x8a, 0x50, 0x42, 0x55, 0x46, 0x0a, 0x08, 0x50, 0x49, 0x4f, 0x31, 0x8a, 0x50, 0x42, 0x55, 0x46, /* .PBUF..PIO1.PBUF */ +/* 0090 */ 0x0a, 0x0c, 0x44, 0x4d, 0x41, 0x31, 0x8a, 0x50, 0x42, 0x55, 0x46, 0x0a, 0x10, 0x46, 0x4c, 0x41, /* ..DMA1.PBUF..FLA */ +/* 00a0 */ 0x47, 0x70, 0x47, 0x45, 0x54, 0x50, 0x50, 0x52, 0x49, 0x54, 0x50, 0x49, 0x4f, 0x30, 0x70, 0x47, /* GpGETPPRITPIO0pG */ +/* 00b0 */ 0x44, 0x4d, 0x41, 0x7b, 0x53, 0x59, 0x4e, 0x43, 0x0a, 0x01, 0x00, 0x7b, 0x49, 0x43, 0x52, 0x33, /* DMA{SYNC...{ICR3 */ +/* 00c0 */ 0x0a, 0x01, 0x00, 0x7b, 0x49, 0x43, 0x52, 0x30, 0x0a, 0x01, 0x00, 0x53, 0x44, 0x54, 0x30, 0x7b, /* ...{ICR0...SDT0{ */ +/* 00d0 */ 0x49, 0x43, 0x52, 0x31, 0x0a, 0x01, 0x00, 0x44, 0x4d, 0x41, 0x30, 0xa0, 0x14, 0x93, 0x44, 0x4d, /* ICR1...DMA0...DM */ +/* 00e0 */ 0x41, 0x30, 0x0c, 0xff, 0xff, 0xff, 0xff, 0x70, 0x50, 0x49, 0x4f, 0x30, 0x44, 0x4d, 0x41, 0x30, /* A0.....pPIO0DMA0 */ +/* 00f0 */ 0xa0, 0x2e, 0x7b, 0x50, 0x52, 0x49, 0x54, 0x0b, 0x00, 0x40, 0x00, 0xa0, 0x14, 0x93, 0x7b, 0x50, /* ..{PRIT..@....{P */ +/* 0100 */ 0x52, 0x49, 0x54, 0x0a, 0x90, 0x00, 0x0a, 0x80, 0x70, 0x0b, 0x84, 0x03, 0x50, 0x49, 0x4f, 0x31, /* RIT.....p...PIO1 */ +/* 0110 */ 0xa1, 0x0e, 0x70, 0x47, 0x45, 0x54, 0x54, 0x50, 0x53, 0x49, 0x54, 0x50, 0x49, 0x4f, 0x31, 0xa1, /* ..pGETTPSITPIO1. */ +/* 0120 */ 0x0b, 0x70, 0x0c, 0xff, 0xff, 0xff, 0xff, 0x50, 0x49, 0x4f, 0x31, 0x70, 0x47, 0x44, 0x4d, 0x41, /* .p.....PIO1pGDMA */ +/* 0130 */ 0x7b, 0x53, 0x59, 0x4e, 0x43, 0x0a, 0x02, 0x00, 0x7b, 0x49, 0x43, 0x52, 0x33, 0x0a, 0x02, 0x00, /* {SYNC...{ICR3... */ +/* 0140 */ 0x7b, 0x49, 0x43, 0x52, 0x30, 0x0a, 0x02, 0x00, 0x53, 0x44, 0x54, 0x31, 0x7b, 0x49, 0x43, 0x52, /* {ICR0...SDT1{ICR */ +/* 0150 */ 0x31, 0x0a, 0x02, 0x00, 0x44, 0x4d, 0x41, 0x31, 0xa0, 0x14, 0x93, 0x44, 0x4d, 0x41, 0x31, 0x0c, /* 1...DMA1...DMA1. */ +/* 0160 */ 0xff, 0xff, 0xff, 0xff, 0x70, 0x50, 0x49, 0x4f, 0x31, 0x44, 0x4d, 0x41, 0x31, 0x70, 0x47, 0x45, /* ....pPIO1DMA1pGE */ +/* 0170 */ 0x54, 0x46, 0x7b, 0x53, 0x59, 0x4e, 0x43, 0x0a, 0x01, 0x00, 0x7b, 0x53, 0x59, 0x4e, 0x43, 0x0a, /* TF{SYNC...{SYNC. */ +/* 0180 */ 0x02, 0x00, 0x50, 0x52, 0x49, 0x54, 0x46, 0x4c, 0x41, 0x47, 0xa4, 0x50, 0x42, 0x55, 0x46, 0x14, /* ..PRITFLAG.PBUF. */ +/* 0190 */ 0x44, 0x2a, 0x5f, 0x53, 0x54, 0x4d, 0x03, 0x8a, 0x68, 0x0a, 0x00, 0x50, 0x49, 0x4f, 0x30, 0x8a, /* D*_STM..h..PIO0. */ +/* 01a0 */ 0x68, 0x0a, 0x04, 0x44, 0x4d, 0x41, 0x30, 0x8a, 0x68, 0x0a, 0x08, 0x50, 0x49, 0x4f, 0x31, 0x8a, /* h..DMA0.h..PIO1. */ +/* 01b0 */ 0x68, 0x0a, 0x0c, 0x44, 0x4d, 0x41, 0x31, 0x8a, 0x68, 0x0a, 0x10, 0x46, 0x4c, 0x41, 0x47, 0xa0, /* h..DMA1.h..FLAG. */ +/* 01c0 */ 0x4c, 0x11, 0x93, 0x87, 0x69, 0x0b, 0x00, 0x02, 0x7b, 0x50, 0x52, 0x49, 0x54, 0x0b, 0xf0, 0x40, /* L...i...{PRIT..@ */ +/* 01d0 */ 0x50, 0x52, 0x49, 0x54, 0x7b, 0x53, 0x59, 0x4e, 0x43, 0x0a, 0x0e, 0x53, 0x59, 0x4e, 0x43, 0x70, /* PRIT{SYNC..SYNCp */ +/* 01e0 */ 0x0a, 0x00, 0x53, 0x44, 0x54, 0x30, 0x7b, 0x49, 0x43, 0x52, 0x30, 0x0a, 0x0e, 0x49, 0x43, 0x52, /* ..SDT0{ICR0..ICR */ +/* 01f0 */ 0x30, 0x7b, 0x49, 0x43, 0x52, 0x31, 0x0a, 0x0e, 0x49, 0x43, 0x52, 0x31, 0x7b, 0x49, 0x43, 0x52, /* 0{ICR1..ICR1{ICR */ +/* 0200 */ 0x33, 0x0a, 0x0e, 0x49, 0x43, 0x52, 0x33, 0x7b, 0x49, 0x43, 0x52, 0x35, 0x0a, 0x0e, 0x49, 0x43, /* 3..ICR3{ICR5..IC */ +/* 0210 */ 0x52, 0x35, 0x8b, 0x69, 0x0a, 0x62, 0x57, 0x34, 0x39, 0x30, 0x8b, 0x69, 0x0a, 0x6a, 0x57, 0x35, /* R5.i.bW490.i.jW5 */ +/* 0220 */ 0x33, 0x30, 0x8b, 0x69, 0x0a, 0x7e, 0x57, 0x36, 0x33, 0x30, 0x8b, 0x69, 0x0a, 0x80, 0x57, 0x36, /* 30.i.~W630.i..W6 */ +/* 0230 */ 0x34, 0x30, 0x8b, 0x69, 0x0a, 0xb0, 0x57, 0x38, 0x38, 0x30, 0x8b, 0x69, 0x0a, 0xba, 0x57, 0x39, /* 40.i..W880.i..W9 */ +/* 0240 */ 0x33, 0x30, 0x7d, 0x50, 0x52, 0x49, 0x54, 0x0b, 0x04, 0x80, 0x50, 0x52, 0x49, 0x54, 0xa0, 0x1e, /* 30}PRIT...PRIT.. */ +/* 0250 */ 0x90, 0x7b, 0x46, 0x4c, 0x41, 0x47, 0x0a, 0x02, 0x00, 0x7b, 0x57, 0x34, 0x39, 0x30, 0x0b, 0x00, /* .{FLAG...{W490.. */ +/* 0260 */ 0x08, 0x00, 0x7d, 0x50, 0x52, 0x49, 0x54, 0x0a, 0x02, 0x50, 0x52, 0x49, 0x54, 0x7d, 0x50, 0x52, /* ..}PRIT..PRIT}PR */ +/* 0270 */ 0x49, 0x54, 0x53, 0x45, 0x54, 0x50, 0x50, 0x49, 0x4f, 0x30, 0x57, 0x35, 0x33, 0x30, 0x57, 0x36, /* ITSETPPIO0W530W6 */ +/* 0280 */ 0x34, 0x30, 0x50, 0x52, 0x49, 0x54, 0xa0, 0x45, 0x05, 0x7b, 0x46, 0x4c, 0x41, 0x47, 0x0a, 0x01, /* 40PRIT.E.{FLAG.. */ +/* 0290 */ 0x00, 0x7d, 0x53, 0x59, 0x4e, 0x43, 0x0a, 0x01, 0x53, 0x59, 0x4e, 0x43, 0x70, 0x53, 0x44, 0x4d, /* .}SYNC..SYNCpSDM */ +/* 02a0 */ 0x41, 0x44, 0x4d, 0x41, 0x30, 0x53, 0x44, 0x54, 0x30, 0xa0, 0x13, 0x95, 0x44, 0x4d, 0x41, 0x30, /* ADMA0SDT0...DMA0 */ +/* 02b0 */ 0x0a, 0x1e, 0x7d, 0x49, 0x43, 0x52, 0x33, 0x0a, 0x01, 0x49, 0x43, 0x52, 0x33, 0xa0, 0x13, 0x95, /* ..}ICR3..ICR3... */ +/* 02c0 */ 0x44, 0x4d, 0x41, 0x30, 0x0a, 0x3c, 0x7d, 0x49, 0x43, 0x52, 0x30, 0x0a, 0x01, 0x49, 0x43, 0x52, /* DMA0.<}ICR0..ICR */ +/* 02d0 */ 0x30, 0x7d, 0x49, 0x43, 0x52, 0x31, 0x0a, 0x01, 0x49, 0x43, 0x52, 0x31, 0xa0, 0x47, 0x15, 0x93, /* 0}ICR1..ICR1.G.. */ +/* 02e0 */ 0x87, 0x6a, 0x0b, 0x00, 0x02, 0x7b, 0x50, 0x52, 0x49, 0x54, 0x0b, 0x0f, 0x3f, 0x50, 0x52, 0x49, /* .j...{PRIT..?PRI */ +/* 02f0 */ 0x54, 0x70, 0x0a, 0x00, 0x50, 0x53, 0x49, 0x54, 0x7b, 0x53, 0x59, 0x4e, 0x43, 0x0a, 0x0d, 0x53, /* Tp..PSIT{SYNC..S */ +/* 0300 */ 0x59, 0x4e, 0x43, 0x70, 0x0a, 0x00, 0x53, 0x44, 0x54, 0x31, 0x7b, 0x49, 0x43, 0x52, 0x30, 0x0a, /* YNCp..SDT1{ICR0. */ +/* 0310 */ 0x0d, 0x49, 0x43, 0x52, 0x30, 0x7b, 0x49, 0x43, 0x52, 0x31, 0x0a, 0x0d, 0x49, 0x43, 0x52, 0x31, /* .ICR0{ICR1..ICR1 */ +/* 0320 */ 0x7b, 0x49, 0x43, 0x52, 0x33, 0x0a, 0x0d, 0x49, 0x43, 0x52, 0x33, 0x7b, 0x49, 0x43, 0x52, 0x35, /* {ICR3..ICR3{ICR5 */ +/* 0330 */ 0x0a, 0x0d, 0x49, 0x43, 0x52, 0x35, 0x8b, 0x6a, 0x0a, 0x62, 0x57, 0x34, 0x39, 0x31, 0x8b, 0x6a, /* ..ICR5.j.bW491.j */ +/* 0340 */ 0x0a, 0x6a, 0x57, 0x35, 0x33, 0x31, 0x8b, 0x6a, 0x0a, 0x7e, 0x57, 0x36, 0x33, 0x31, 0x8b, 0x6a, /* .jW531.j.~W631.j */ +/* 0350 */ 0x0a, 0x80, 0x57, 0x36, 0x34, 0x31, 0x8b, 0x6a, 0x0a, 0xb0, 0x57, 0x38, 0x38, 0x31, 0x8b, 0x6a, /* ..W641.j..W881.j */ +/* 0360 */ 0x0a, 0xba, 0x57, 0x39, 0x33, 0x31, 0x7d, 0x50, 0x52, 0x49, 0x54, 0x0b, 0x40, 0x80, 0x50, 0x52, /* ..W931}PRIT.@.PR */ +/* 0370 */ 0x49, 0x54, 0xa0, 0x1e, 0x90, 0x7b, 0x46, 0x4c, 0x41, 0x47, 0x0a, 0x08, 0x00, 0x7b, 0x57, 0x34, /* IT...{FLAG...{W4 */ +/* 0380 */ 0x39, 0x31, 0x0b, 0x00, 0x08, 0x00, 0x7d, 0x50, 0x52, 0x49, 0x54, 0x0a, 0x20, 0x50, 0x52, 0x49, /* 91....}PRIT. PRI */ +/* 0390 */ 0x54, 0xa0, 0x4c, 0x04, 0x7b, 0x46, 0x4c, 0x41, 0x47, 0x0a, 0x10, 0x00, 0x7d, 0x50, 0x52, 0x49, /* T.L.{FLAG...}PRI */ +/* 03a0 */ 0x54, 0x0b, 0x00, 0x40, 0x50, 0x52, 0x49, 0x54, 0xa0, 0x13, 0x94, 0x50, 0x49, 0x4f, 0x31, 0x0a, /* T..@PRIT...PIO1. */ +/* 03b0 */ 0xf0, 0x7d, 0x50, 0x52, 0x49, 0x54, 0x0a, 0x80, 0x50, 0x52, 0x49, 0x54, 0xa1, 0x21, 0x7d, 0x50, /* .}PRIT..PRIT.!}P */ +/* 03c0 */ 0x52, 0x49, 0x54, 0x0a, 0x10, 0x50, 0x52, 0x49, 0x54, 0x70, 0x53, 0x45, 0x54, 0x54, 0x50, 0x49, /* RIT..PRITpSETTPI */ +/* 03d0 */ 0x4f, 0x31, 0x57, 0x35, 0x33, 0x31, 0x57, 0x36, 0x34, 0x31, 0x50, 0x53, 0x49, 0x54, 0xa0, 0x45, /* O1W531W641PSIT.E */ +/* 03e0 */ 0x05, 0x7b, 0x46, 0x4c, 0x41, 0x47, 0x0a, 0x04, 0x00, 0x7d, 0x53, 0x59, 0x4e, 0x43, 0x0a, 0x02, /* .{FLAG...}SYNC.. */ +/* 03f0 */ 0x53, 0x59, 0x4e, 0x43, 0x70, 0x53, 0x44, 0x4d, 0x41, 0x44, 0x4d, 0x41, 0x31, 0x53, 0x44, 0x54, /* SYNCpSDMADMA1SDT */ +/* 0400 */ 0x31, 0xa0, 0x13, 0x95, 0x44, 0x4d, 0x41, 0x31, 0x0a, 0x1e, 0x7d, 0x49, 0x43, 0x52, 0x33, 0x0a, /* 1...DMA1..}ICR3. */ +/* 0410 */ 0x02, 0x49, 0x43, 0x52, 0x33, 0xa0, 0x13, 0x95, 0x44, 0x4d, 0x41, 0x31, 0x0a, 0x3c, 0x7d, 0x49, /* .ICR3...DMA1.<}I */ +/* 0420 */ 0x43, 0x52, 0x30, 0x0a, 0x02, 0x49, 0x43, 0x52, 0x30, 0x7d, 0x49, 0x43, 0x52, 0x31, 0x0a, 0x02, /* CR0..ICR0}ICR1.. */ +/* 0430 */ 0x49, 0x43, 0x52, 0x31, 0x5b, 0x82, 0x4e, 0x10, 0x50, 0x5f, 0x44, 0x30, 0x08, 0x5f, 0x41, 0x44, /* ICR1[.N.P_D0._AD */ +/* 0440 */ 0x52, 0x0a, 0x00, 0x14, 0x40, 0x10, 0x5f, 0x47, 0x54, 0x46, 0x00, 0x08, 0x50, 0x49, 0x42, 0x30, /* R...@._GTF..PIB0 */ +/* 0450 */ 0x11, 0x11, 0x0a, 0x0e, 0x03, 0x00, 0x00, 0x00, 0x00, 0xa0, 0xef, 0x03, 0x00, 0x00, 0x00, 0x00, /* ................ */ +/* 0460 */ 0xa0, 0xef, 0x8c, 0x50, 0x49, 0x42, 0x30, 0x0a, 0x01, 0x50, 0x4d, 0x44, 0x30, 0x8c, 0x50, 0x49, /* ...PIB0..PMD0.PI */ +/* 0470 */ 0x42, 0x30, 0x0a, 0x08, 0x44, 0x4d, 0x44, 0x30, 0xa0, 0x40, 0x06, 0x7b, 0x50, 0x52, 0x49, 0x54, /* B0..DMD0.@.{PRIT */ +/* 0480 */ 0x0a, 0x02, 0x00, 0xa0, 0x13, 0x93, 0x7b, 0x50, 0x52, 0x49, 0x54, 0x0a, 0x09, 0x00, 0x0a, 0x08, /* ......{PRIT..... */ +/* 0490 */ 0x70, 0x0a, 0x08, 0x50, 0x4d, 0x44, 0x30, 0xa1, 0x41, 0x04, 0x70, 0x0a, 0x0a, 0x50, 0x4d, 0x44, /* p..PMD0.A.p..PMD */ +/* 04a0 */ 0x30, 0x7a, 0x7b, 0x50, 0x52, 0x49, 0x54, 0x0b, 0x00, 0x03, 0x00, 0x0a, 0x08, 0x60, 0x7a, 0x7b, /* 0z{PRIT......`z{ */ +/* 04b0 */ 0x50, 0x52, 0x49, 0x54, 0x0b, 0x00, 0x30, 0x00, 0x0a, 0x0c, 0x61, 0x72, 0x60, 0x61, 0x62, 0xa0, /* PRIT..0...ar`ab. */ +/* 04c0 */ 0x0c, 0x93, 0x0a, 0x03, 0x62, 0x70, 0x0a, 0x0b, 0x50, 0x4d, 0x44, 0x30, 0xa0, 0x0c, 0x93, 0x0a, /* ....bp..PMD0.... */ +/* 04d0 */ 0x05, 0x62, 0x70, 0x0a, 0x0c, 0x50, 0x4d, 0x44, 0x30, 0xa1, 0x08, 0x70, 0x0a, 0x01, 0x50, 0x4d, /* .bp..PMD0..p..PM */ +/* 04e0 */ 0x44, 0x30, 0xa0, 0x47, 0x04, 0x7b, 0x53, 0x59, 0x4e, 0x43, 0x0a, 0x01, 0x00, 0x70, 0x7d, 0x53, /* D0.G.{SYNC...p}S */ +/* 04f0 */ 0x44, 0x54, 0x30, 0x0a, 0x40, 0x00, 0x44, 0x4d, 0x44, 0x30, 0xa0, 0x2f, 0x7b, 0x49, 0x43, 0x52, /* DT0.@.DMD0./{ICR */ +/* 0500 */ 0x31, 0x0a, 0x01, 0x00, 0xa0, 0x14, 0x7b, 0x49, 0x43, 0x52, 0x30, 0x0a, 0x01, 0x00, 0x72, 0x44, /* 1.....{ICR0...rD */ +/* 0510 */ 0x4d, 0x44, 0x30, 0x0a, 0x02, 0x44, 0x4d, 0x44, 0x30, 0xa0, 0x10, 0x7b, 0x49, 0x43, 0x52, 0x33, /* MD0..DMD0..{ICR3 */ +/* 0520 */ 0x0a, 0x01, 0x00, 0x70, 0x0a, 0x45, 0x44, 0x4d, 0x44, 0x30, 0xa1, 0x14, 0x7d, 0x74, 0x7b, 0x50, /* ...p.EDMD0..}t{P */ +/* 0530 */ 0x4d, 0x44, 0x30, 0x0a, 0x07, 0x00, 0x0a, 0x02, 0x00, 0x0a, 0x20, 0x44, 0x4d, 0x44, 0x30, 0xa4, /* MD0....... DMD0. */ +/* 0540 */ 0x50, 0x49, 0x42, 0x30, 0x5b, 0x82, 0x49, 0x10, 0x50, 0x5f, 0x44, 0x31, 0x08, 0x5f, 0x41, 0x44, /* PIB0[.I.P_D1._AD */ +/* 0550 */ 0x52, 0x0a, 0x01, 0x14, 0x4b, 0x0f, 0x5f, 0x47, 0x54, 0x46, 0x00, 0x08, 0x50, 0x49, 0x42, 0x31, /* R...K._GTF..PIB1 */ +/* 0560 */ 0x11, 0x11, 0x0a, 0x0e, 0x03, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xef, 0x03, 0x00, 0x00, 0x00, 0x00, /* ................ */ +/* 0570 */ 0xb0, 0xef, 0x8c, 0x50, 0x49, 0x42, 0x31, 0x0a, 0x01, 0x50, 0x4d, 0x44, 0x31, 0x8c, 0x50, 0x49, /* ...PIB1..PMD1.PI */ +/* 0580 */ 0x42, 0x31, 0x0a, 0x08, 0x44, 0x4d, 0x44, 0x31, 0xa0, 0x4b, 0x05, 0x7b, 0x50, 0x52, 0x49, 0x54, /* B1..DMD1.K.{PRIT */ +/* 0590 */ 0x0a, 0x20, 0x00, 0xa0, 0x13, 0x93, 0x7b, 0x50, 0x52, 0x49, 0x54, 0x0a, 0x90, 0x00, 0x0a, 0x80, /* . ....{PRIT..... */ +/* 05a0 */ 0x70, 0x0a, 0x08, 0x50, 0x4d, 0x44, 0x31, 0xa1, 0x3c, 0x72, 0x7b, 0x50, 0x53, 0x49, 0x54, 0x0a, /* p..PMD1.[.IST0...SSD */ +/* 0260 */ 0x54, 0x0a, 0x01, 0x00, 0x83, 0x88, 0x53, 0x53, 0x44, 0x54, 0x0a, 0x02, 0x00, 0x5b, 0x20, 0x49, /* T.....SSDT...[ I */ +/* 0270 */ 0x53, 0x54, 0x30, 0x48, 0x49, 0x30, 0x5f, 0xa0, 0x45, 0x07, 0x7b, 0x43, 0x46, 0x47, 0x44, 0x0a, /* ST0HI0_.E.{CFGD. */ +/* 0280 */ 0xf0, 0x00, 0xa0, 0x1b, 0x90, 0x7b, 0x43, 0x46, 0x47, 0x44, 0x0c, 0x00, 0x00, 0x00, 0x01, 0x00, /* .....{CFGD...... */ +/* 0290 */ 0x7b, 0x50, 0x44, 0x43, 0x30, 0x0a, 0x10, 0x00, 0x54, 0x52, 0x41, 0x50, 0x0a, 0x3c, 0xa0, 0x4e, /* {PDC0...TRAP.<.N */ +/* 02a0 */ 0x04, 0x90, 0x90, 0x7b, 0x43, 0x46, 0x47, 0x44, 0x0c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x7b, 0x50, /* ...{CFGD......{P */ +/* 02b0 */ 0x44, 0x43, 0x30, 0x0a, 0x18, 0x00, 0x92, 0x7b, 0x53, 0x44, 0x54, 0x4c, 0x0a, 0x02, 0x00, 0x7d, /* DC0....{SDTL...} */ +/* 02c0 */ 0x53, 0x44, 0x54, 0x4c, 0x0a, 0x02, 0x53, 0x44, 0x54, 0x4c, 0x5b, 0x80, 0x43, 0x53, 0x54, 0x30, /* SDTL..SDTL[.CST0 */ +/* 02d0 */ 0x00, 0x83, 0x88, 0x53, 0x53, 0x44, 0x54, 0x0a, 0x07, 0x00, 0x83, 0x88, 0x53, 0x53, 0x44, 0x54, /* ...SSDT.....SSDT */ +/* 02e0 */ 0x0a, 0x08, 0x00, 0x5b, 0x20, 0x43, 0x53, 0x54, 0x30, 0x48, 0x43, 0x30, 0x5f, 0xa4, 0x6b, 0x10, /* ...[ CST0HC0_.k. */ +/* 02f0 */ 0x48, 0x21, 0x5c, 0x2e, 0x5f, 0x50, 0x52, 0x5f, 0x43, 0x50, 0x55, 0x31, 0x08, 0x48, 0x49, 0x31, /* H!\._PR_CPU1.HI1 */ +/* 0300 */ 0x5f, 0x0a, 0x00, 0x08, 0x48, 0x43, 0x31, 0x5f, 0x0a, 0x00, 0x14, 0x48, 0x06, 0x5f, 0x50, 0x44, /* _...HC1_...H._PD */ +/* 0310 */ 0x43, 0x01, 0x8a, 0x68, 0x0a, 0x00, 0x52, 0x45, 0x56, 0x53, 0x8a, 0x68, 0x0a, 0x04, 0x53, 0x49, /* C..h..REVS.h..SI */ +/* 0320 */ 0x5a, 0x45, 0x70, 0x87, 0x68, 0x60, 0x70, 0x74, 0x60, 0x0a, 0x08, 0x00, 0x61, 0x5b, 0x13, 0x68, /* ZEp.h`pt`...a[.h */ +/* 0330 */ 0x0a, 0x40, 0x77, 0x61, 0x0a, 0x08, 0x00, 0x54, 0x45, 0x4d, 0x50, 0x08, 0x53, 0x54, 0x53, 0x31, /* .@wa...TEMP.STS1 */ +/* 0340 */ 0x11, 0x07, 0x0a, 0x04, 0x00, 0x00, 0x00, 0x00, 0x73, 0x53, 0x54, 0x53, 0x31, 0x54, 0x45, 0x4d, /* ........sSTS1TEM */ +/* 0350 */ 0x50, 0x62, 0x5f, 0x4f, 0x53, 0x43, 0x11, 0x13, 0x0a, 0x10, 0x16, 0xa6, 0x77, 0x40, 0x0c, 0x29, /* Pb_OSC......w@.) */ +/* 0360 */ 0xbe, 0x47, 0x9e, 0xbd, 0xd8, 0x70, 0x58, 0x71, 0x39, 0x53, 0x52, 0x45, 0x56, 0x53, 0x53, 0x49, /* .G...pXq9SREVSSI */ +/* 0370 */ 0x5a, 0x45, 0x62, 0x14, 0x44, 0x19, 0x5f, 0x4f, 0x53, 0x43, 0x04, 0x8a, 0x6b, 0x0a, 0x00, 0x53, /* ZEb.D._OSC..k..S */ +/* 0380 */ 0x54, 0x53, 0x31, 0x8a, 0x6b, 0x0a, 0x04, 0x43, 0x41, 0x50, 0x31, 0x8a, 0x68, 0x0a, 0x00, 0x49, /* TS1.k..CAP1.h..I */ +/* 0390 */ 0x49, 0x44, 0x30, 0x8a, 0x68, 0x0a, 0x04, 0x49, 0x49, 0x44, 0x31, 0x8a, 0x68, 0x0a, 0x08, 0x49, /* ID0.h..IID1.h..I */ +/* 03a0 */ 0x49, 0x44, 0x32, 0x8a, 0x68, 0x0a, 0x0c, 0x49, 0x49, 0x44, 0x33, 0x08, 0x55, 0x49, 0x44, 0x31, /* ID2.h..IID3.UID1 */ +/* 03b0 */ 0x11, 0x13, 0x0a, 0x10, 0x16, 0xa6, 0x77, 0x40, 0x0c, 0x29, 0xbe, 0x47, 0x9e, 0xbd, 0xd8, 0x70, /* ......w@.).G...p */ +/* 03c0 */ 0x58, 0x71, 0x39, 0x53, 0x8a, 0x55, 0x49, 0x44, 0x31, 0x0a, 0x00, 0x45, 0x49, 0x44, 0x30, 0x8a, /* Xq9S.UID1..EID0. */ +/* 03d0 */ 0x55, 0x49, 0x44, 0x31, 0x0a, 0x04, 0x45, 0x49, 0x44, 0x31, 0x8a, 0x55, 0x49, 0x44, 0x31, 0x0a, /* UID1..EID1.UID1. */ +/* 03e0 */ 0x08, 0x45, 0x49, 0x44, 0x32, 0x8a, 0x55, 0x49, 0x44, 0x31, 0x0a, 0x0c, 0x45, 0x49, 0x44, 0x33, /* .EID2.UID1..EID3 */ +/* 03f0 */ 0xa0, 0x36, 0x92, 0x90, 0x90, 0x93, 0x49, 0x49, 0x44, 0x30, 0x45, 0x49, 0x44, 0x30, 0x93, 0x49, /* .6....IID0EID0.I */ +/* 0400 */ 0x49, 0x44, 0x31, 0x45, 0x49, 0x44, 0x31, 0x90, 0x93, 0x49, 0x49, 0x44, 0x32, 0x45, 0x49, 0x44, /* ID1EID1..IID2EID */ +/* 0410 */ 0x32, 0x93, 0x49, 0x49, 0x44, 0x33, 0x45, 0x49, 0x44, 0x33, 0x70, 0x0a, 0x06, 0x88, 0x53, 0x54, /* 2.IID3EID3p...ST */ +/* 0420 */ 0x53, 0x31, 0x0a, 0x00, 0x00, 0xa4, 0x6b, 0xa0, 0x13, 0x92, 0x93, 0x69, 0x0a, 0x01, 0x70, 0x0a, /* S1....k....i..p. */ +/* 0430 */ 0x0a, 0x88, 0x53, 0x54, 0x53, 0x31, 0x0a, 0x00, 0x00, 0xa4, 0x6b, 0x7d, 0x7b, 0x50, 0x44, 0x43, /* ..STS1....k}{PDC */ +/* 0440 */ 0x31, 0x0c, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x43, 0x41, 0x50, 0x31, 0x50, 0x44, 0x43, 0x31, 0xa0, /* 1......CAP1PDC1. */ +/* 0450 */ 0x4c, 0x05, 0x7b, 0x43, 0x46, 0x47, 0x44, 0x0a, 0x01, 0x00, 0xa0, 0x41, 0x05, 0x90, 0x90, 0x7b, /* L.{CFGD....A...{ */ +/* 0460 */ 0x43, 0x46, 0x47, 0x44, 0x0c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x93, 0x7b, 0x50, 0x44, 0x43, 0x31, /* CFGD.......{PDC1 */ +/* 0470 */ 0x0a, 0x09, 0x00, 0x0a, 0x09, 0x92, 0x7b, 0x53, 0x44, 0x54, 0x4c, 0x0a, 0x10, 0x00, 0x7d, 0x53, /* ......{SDTL...}S */ +/* 0480 */ 0x44, 0x54, 0x4c, 0x0a, 0x10, 0x53, 0x44, 0x54, 0x4c, 0x5b, 0x80, 0x49, 0x53, 0x54, 0x31, 0x00, /* DTL..SDTL[.IST1. */ +/* 0490 */ 0x83, 0x88, 0x53, 0x53, 0x44, 0x54, 0x0a, 0x04, 0x00, 0x83, 0x88, 0x53, 0x53, 0x44, 0x54, 0x0a, /* ..SSDT.....SSDT. */ +/* 04a0 */ 0x05, 0x00, 0x5b, 0x20, 0x49, 0x53, 0x54, 0x31, 0x48, 0x49, 0x31, 0x5f, 0xa0, 0x49, 0x05, 0x7b, /* ..[ IST1HI1_.I.{ */ +/* 04b0 */ 0x43, 0x46, 0x47, 0x44, 0x0a, 0xf0, 0x00, 0xa0, 0x4e, 0x04, 0x90, 0x90, 0x7b, 0x43, 0x46, 0x47, /* CFGD....N...{CFG */ +/* 04c0 */ 0x44, 0x0c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x7b, 0x50, 0x44, 0x43, 0x31, 0x0a, 0x18, 0x00, 0x92, /* D......{PDC1.... */ +/* 04d0 */ 0x7b, 0x53, 0x44, 0x54, 0x4c, 0x0a, 0x20, 0x00, 0x7d, 0x53, 0x44, 0x54, 0x4c, 0x0a, 0x20, 0x53, /* {SDTL. .}SDTL. S */ +/* 04e0 */ 0x44, 0x54, 0x4c, 0x5b, 0x80, 0x43, 0x53, 0x54, 0x31, 0x00, 0x83, 0x88, 0x53, 0x53, 0x44, 0x54, /* DTL[.CST1...SSDT */ +/* 04f0 */ 0x0a, 0x0a, 0x00, 0x83, 0x88, 0x53, 0x53, 0x44, 0x54, 0x0a, 0x0b, 0x00, 0x5b, 0x20, 0x43, 0x53, /* .....SSDT...[ CS */ +/* 0500 */ 0x54, 0x31, 0x48, 0x43, 0x31, 0x5f, 0xa4, 0x6b /* T1HC1_.k */ +}; \ No newline at end of file diff --git a/tests/aapits/atcommon.h b/tests/aapits/atcommon.h new file mode 100644 index 0000000..c852571 --- /dev/null +++ b/tests/aapits/atcommon.h @@ -0,0 +1,399 @@ +/****************************************************************************** + * + * Module Name: atcommon - common include for the AcpiCA API validation utility + * + *****************************************************************************/ + +#ifndef _ATCOMMON +#define _ATCOMMON + +#include "acpi.h" +#include "accommon.h" +#include "acparser.h" +#include "amlcode.h" +#include "acnamesp.h" +#include "acdebug.h" +#include "actables.h" +#include "acinterp.h" +#include "acapps.h" +#include "acpixf.h" + +#ifdef _MSC_VER /* disable some level-4 warnings */ +#pragma warning(disable:4100) /* warning C4100: unreferenced formal parameter */ +#endif + +#include +#include +#include +#include + +/* + * Temporary old definitions from actypes.h insertion. + */ + +/* + * ACPI Table Info. One per ACPI table _type_ + */ +typedef struct acpi_table_info +{ + UINT32 Count; + +} ACPI_TABLE_INFO; + +typedef ACPI_STATUS (AT_TEST)(void); + +typedef struct BuildTablesTask +{ + UINT32 NoTableScale; + UINT32 ErrScale; +} BLD_TABLES_TASK; + +#define BLD_NO_FADT 0x01 +#define BLD_NO_FACS 0x02 +#define BLD_NO_DSDT 0x04 +#define BLD_NO_SSDT1 0x08 +#define BLD_NO_SSDT2 0x10 +#define BLD_NO_OEM1 0x20 +#define BLD_NO_BADT 0x40 +#define BLD_NO_TEST 0x80 +#define BLD_NO_TABLES 0xFF + +#define BAD_SIGNATURE_RSDP 0x0001 +#define BAD_SIGNATURE_RSDT 0x0002 +#define BAD_SIGNATURE_FADT 0x0004 +#define BAD_SIGNATURE_FACS 0x0008 +#define BAD_SIGNATURE_DSDT 0x0010 +#define BAD_CHECKSUM_RSDP 0x0020 +#define BAD_CHECKSUM_RSDT 0x0040 +#define BAD_CHECKSUM_FADT 0x0080 +#define BAD_CHECKSUM_DSDT 0x0100 +#define BAD_LENGTH_HDR_RSDT 0x0200 +#define BAD_LENGTH_HDR_FADT 0x0400 +#define BAD_LENGTH_HDR_FACS 0x0800 +#define BAD_LENGTH_HDR_DSDT 0x1000 +#define BAD_LENGTH_DSC_FADT 0x2000 +#define BAD_LENGTH_DSC_FACS 0x4000 +#define NOT_PRESENT_FADT 0x8000 +#define NULL_ADDRESS_FACS 0x10000 +#define NULL_ADDRESS_DSDT 0x20000 +#define ZERO_SMICMD_FADT 0x40000 + +#define AT_RSDP_ERR (BAD_SIGNATURE_RSDP | BAD_CHECKSUM_RSDP) +#define AT_RSDT_ERR (BAD_SIGNATURE_RSDT | BAD_CHECKSUM_RSDT |\ + BAD_LENGTH_HDR_RSDT) +#define AT_FADT_ERR (BAD_SIGNATURE_FADT | BAD_CHECKSUM_FADT |\ + BAD_LENGTH_HDR_FADT | BAD_LENGTH_DSC_FADT |\ + NULL_ADDRESS_FACS | NULL_ADDRESS_DSDT) +#define AT_FACS_ERR (BAD_SIGNATURE_FACS | \ + BAD_LENGTH_HDR_FACS | BAD_LENGTH_DSC_FACS) +#define AT_DSDT_ERR (BAD_SIGNATURE_DSDT | \ + BAD_CHECKSUM_DSDT | BAD_LENGTH_HDR_DSDT) +#define AT_SSDT_ERR (0) +#define AT_PSDT_ERR (0) + +void __cdecl +AtSigHandler ( + int Sig); + +ACPI_STATUS +AtBuildLocalTables ( + ACPI_TABLE_HEADER *UserTable, + BLD_TABLES_TASK ErrTask); + +ACPI_STATUS +AtGetTableHeader ( + char *Type, + UINT32 Instance, + ACPI_TABLE_HEADER **Table, + BLD_TABLES_TASK BldTask); + +void +AtRegionCleanup (void); + +ACPI_STATUS +AeInstallHandlers (void); + +ACPI_STATUS +AtReadTableFromFile ( + char *Filename, + ACPI_TABLE_HEADER **Table); + +ACPI_STATUS +AtInitializeTables ( + BOOLEAN AllowResize); + +/* + * ACPICA API Test execution modes + */ +#define AT_EMULATION_MODE 0 +#define AT_KERNEL_MODE 1 + +#define AT_PATHNAME_MAX 256 + +/* + * Known API error condition skipping handling + * 1 - the check should be skipped to allow + * further testing actions enabling + */ + +/* + * If ACPI events is not initialized then + * the handlers can not be initialized too. + */ +#define AT_SKIP_NO_HANDLER_INIT 1 + +/* + * When AcpiGetFirmwareTable is used without AcpiLoadTables + * MMAP leak is detected. + */ +#define AT_SKIP_MMAP_CHECK 1 + +/* + * When AcpiLoadTables is used with invalid Tables + * MALLOC leak is detected. + */ +#define AT_SKIP_MALLOC_CHECK 1 + +/* + * When the FADT header contains invalid length field, + * AE_NO_ACPI_TABLES is returned instead of AE_BAD_HEADER. + */ +#define AT_SKIP_FADT_BAD_HEADER_CHECK 1 + +/* + * Attempt to load RSDP by AcpiLoadTable causes crash of ACPICA. + * Note: RSDP is ACPI_TABLE_ROOT (neither PRIMARY or SECONDARY) + */ +#define AT_SKIP_RSDP_LOAD_CHECK 1 + +/* + * When the type of a searched object is ACPI_TYPE_FIELD_UNIT function + * AcpiGetNextObject returns AE_NOT_FOUND due to dealing with the local + * field types. + */ +#define AT_SKIP_ACPI_TYPE_FIELD_UNIT_CHECK 1 + +/* + * ACPI_HANDLE RegionHandle parameter of the ACPI_ADR_SPACE_SETUP function + * is actually an ACPI_OPERAND_OBJECT pointer, but not NS ACPI_HANDLE. + */ +#define AT_SKIP_ADR_SPACE_SETUP_HANDLER_CHECK 1 + +/* + * BugId 0003: AcpiGbl_GlobalList and AcpiGbl_NsNodeList + * are not being freed on shutdown. + */ +#define AT_SKIP_LIST_FREE_CHECK 0 + +/* + * BugId 0005: After shutdown API tests detect one exceeded + * call to AcpiOsUnmapMemory OSL routine. + * See components\tables\tbrsdt.c(210) error. + */ +#define AT_SKIP_MAPPED_CHECK 0 + +/* + * A call to AcpiOsPrintf routine is used before SubSystem + * was successfully initialized. + */ +#define AT_SKIP_OS_PRINTF_CHECK 1 + +/* + * Failures of AcpiOsPredefinedOverride routine is ignored + * in AcpiNsRootInitialize, do not allow it to fail. + */ +#define AT_SKIP_OS_PRED_OVERRIDE_CTRL 1 + +/* + * Failures of AcpiOsSignalSemaphore routine caused the Core to hang. + */ +#define AT_SKIP_OS_SIGNAL_SEM_CTRL 1 + +/* + * To allow AtInitTest0010 go to end. + */ +#define AT_SKIP_FREE_STAT_CHECK 1 + +/* + * To allow passing the redundant check in the AcpiTbGetTablePtr + * providing the AtTableTest0039 checks something else. + */ +#define AT_LOAD_DSDT_WORKAROUND 1 + +/* + * AcpiNsInitOneDevice fails to pass an appropriate ObjHandle + * to the User Global Init Handler + */ +#define AT_SKIP_IH_OTYPE_CHECK 1 + +#define AT_SKIP_ALL_MALLOC_CHECK 0 + +/* + * AcpiGetHandle actually allows Pathname without leading slash + * to be considered as "absolute pathname" when the Parent parameter + * is NULL. + */ +#define AT_ABS_PATH_WOUT_SLASH 0 + +/* + * AcpiWalkNamespace actually passes to the CallBack the NestigLevel value + * which is relative to the StartObject, not "distance from the root". + */ +#define AT_NESTING_LEVEL_REL 1 + +/* + * ACPI_BITREG_WAKE_ENABLE bit-defined Register Id usage should result in + * AE_BAD_PARAMETER. Now it results in AE_OK. + */ +#define AT_BITREG_WAKE_ENABLE_CHECK 0 + +/* + * Now ACPICA preserves reserved bits of the Status Register + * by writing back read values, should write zeros, + */ +#define AT_SKIP_STATUS_REG_RESBIT_CHECK 1 + +/* + * Now ACPICA preserves reserved bits of the Enable Register + * by writing back read values, should write zeros. + */ +#define AT_SKIP_ENABLE_REG_RESBIT_CHECK 1 + +/* + * Now ACPICA returnes actual read values of write-only bits + * of the Control Register (they are there only) but should + * return zeros. + */ +#define AT_SKIP_WRITE_ONLY_BITS_CHECK 1 + +/* + * AcpiFindRootPointer(NULL) call leads to a crash. + */ +#define AT_SKIP_FIND_ROOT_PPOINTER_CHECK 1 + +/* + * Initialization sequence steps + */ +#define AAPITS_INITIALIZE_SS 0x01 +#define AAPITS_INSTALL_IH 0x02 +#define AAPITS_INITABLES 0x04 +#define AAPITS_REALLOCROOTTABLE 0x08 +#define AAPITS_LOADTABLES 0x10 +#define AAPITS_ENABLE_SS 0x20 +#define AAPITS_INITIALIZE_OBJS 0x40 +#define AAPITS_INSTALL_HS 0x80 +#define AAPITS_INI_PRELOAD (AAPITS_INITIALIZE_SS |\ + AAPITS_INITABLES | AAPITS_REALLOCROOTTABLE) +#define AAPITS_INI_LOAD (AAPITS_INI_PRELOAD |\ + AAPITS_LOADTABLES) +#define AAPITS_INI_DEF (AAPITS_INI_LOAD |\ + AAPITS_ENABLE_SS | AAPITS_INSTALL_HS |\ + AAPITS_INITIALIZE_OBJS) +#define AAPITS_INI_ALL (AAPITS_INI_DEF | AAPITS_INSTALL_IH) + +#define AAPITS_EN_FLAGS (ACPI_FULL_INITIALIZATION) +#define AAPITS_OI_FLAGS (0) + +ACPI_STATUS +AtSubsystemInit( + UINT32 StagesScale, + UINT32 EnFlags, + UINT32 OiFlags, + char *AMLcodeFileName); + +ACPI_STATUS +AtInitCommonTest( + UINT32 StagesScale, + UINT32 ErrStagesScale, + UINT32 ErrExpScale, + UINT32 EnFlags, + UINT32 OiFlags, + char *AMLcodeFileName); + +ACPI_STATUS +AtTerminateCtrlCheck( + ACPI_STATUS SuccessStatus, + UINT32 CtrlCheck); + +ACPI_STATUS +AtAMLcodeFileNameSet( + char *CodeName); + +ACPI_STATUS +AtCheckInteger( + ACPI_HANDLE ObjHandle, + ACPI_STRING Path, + ACPI_INTEGER Value); + +ACPI_STATUS +AtCheckBytes( + ACPI_STRING Name, + UINT8 *Pointer, + UINT8 *BenchmarkPointer, + UINT32 Length); + +ACPI_STATUS +AtCheckString( + ACPI_STRING Path, + UINT8 *Pointer); + +ACPI_STATUS +AtCheckBuffer( + ACPI_STRING Path, + UINT32 Length, + UINT8 *Pointer); + +ACPI_STATUS +AtCheckName( + ACPI_HANDLE ObjHandle, + ACPI_STRING CheckName); + +void +AtSetAmlControl( + UINT32 Index, + UINT8 Value); + +#ifdef AT_GLOBAL_DATA +const BLD_TABLES_TASK ZeroBldTask = {0, 0}; +#define AT_EXTERN +#else +extern const BLD_TABLES_TASK ZeroBldTask; +#define AT_EXTERN extern +#endif + +AT_EXTERN int AapiErrors; +AT_EXTERN int TestErrors; +AT_EXTERN int TestSkipped; +AT_EXTERN int TestPass; +AT_EXTERN char *AtAMLcodeFileDir; +AT_EXTERN char *AtAMLcodeFileName; +AT_EXTERN UINT32 AapiTestMode; +AT_EXTERN BLD_TABLES_TASK NullBldTask; + +/* + * Test result codes + */ +typedef enum +{ + AtRetPass, + AtRetSkip, + AtRetTestErr, + AtRetApiErr, + AtRetNotImpl, + AtRetBadParam, + AtRetSigTerm, +} AT_RET_CODE; + +#define AT_ALARM_PERIOD 180 /* 3 minutes */ + +/* + * Auxiliary Ssdt Load/Unload + */ +#define AT_LOAD 0 +#define AT_UNLOAD 1 + +ACPI_STATUS +AtAuxiliarySsdt( + UINT32 Action); + +#endif /* _ATCOMMON */ diff --git a/tests/aapits/atexec.c b/tests/aapits/atexec.c new file mode 100644 index 0000000..5ba832c --- /dev/null +++ b/tests/aapits/atexec.c @@ -0,0 +1,2008 @@ +/****************************************************************************** + * + * Module Name: atexec - Support routines for ACPICA API test suite + * based on AcpiExec aeexec.c + * + *****************************************************************************/ + +#include "acpi.h" +#include "accommon.h" +#include "acparser.h" +#include "amlcode.h" +#include "acnamesp.h" +#include "acdebug.h" +#include "actables.h" +#include "atcommon.h" + +#include +#include + +#define _COMPONENT ACPI_TOOLS + ACPI_MODULE_NAME ("atexec") + +/* +#define EXAMPLE1_SSDT +*/ +#ifdef EXAMPLE1_SSDT +#include "at_ssdt2_1.c" +#include "at_ssdt2_2.c" +#include "at_ssdt2_3.c" +#else +static unsigned char Ssdt1Code[] = +{ + 0x53,0x53,0x44,0x54,0x30,0x00,0x00,0x00, /* 00000000 "SSDT0..." */ + 0x01,0xB8,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" */ + 0x24,0x04,0x03,0x20,0x14,0x0B,0x5F,0x54, /* 00000020 "$.. .._T" */ + 0x39,0x38,0x00,0x70,0x0A,0x04,0x60,0xA4, /* 00000028 "98.p..`." */ +}; + +static unsigned char Ssdt2Code[] = +{ + 0x53,0x53,0x44,0x54,0x30,0x00,0x00,0x00, /* 00000000 "SSDT0..." */ + 0x01,0xB7,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" */ + 0x24,0x04,0x03,0x20,0x14,0x0B,0x5F,0x54, /* 00000020 "$.. .._T" */ + 0x39,0x39,0x00,0x70,0x0A,0x04,0x60,0xA4, /* 00000028 "99.p..`." */ +}; + +static unsigned char Ssdt3Code[] = +{ + 0x53,0x53,0x44,0x54,0x30,0x00,0x00,0x00, /* 00000000 "SSDT0..." */ + 0x01,0xAF,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" */ + 0x24,0x04,0x03,0x20,0x14,0x0B,0x5F,0x54, /* 00000020 "$.. .._T" */ + 0x39,0x41,0x00,0x70,0x0A,0x04,0x60,0xA4, /* 00000028 "9A.p..`." */ +}; +#endif + +static unsigned char Psdt1Code[] = +{ + 0x50,0x53,0x44,0x54,0x30,0x00,0x00,0x00, /* 00000000 "PSDT0..." */ + 0x01,0xB1,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" */ + 0x24,0x04,0x03,0x20,0x14,0x0B,0x5F,0x54, /* 00000020 "$.. .._T" */ + 0x39,0x42,0x00,0x70,0x0A,0x04,0x60,0xA4, /* 00000028 "9B.p..`." */ +}; + +static unsigned char Oem1Code[] = +{ + 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" */ + +}; + +#define FADT_DESCRIPTOR_REV2 ACPI_TABLE_FADT +#define RSDT_DESCRIPTOR_REV1 ACPI_TABLE_RSDT + + +/* + * We need a local FADT so that the hardware subcomponent will function, + * even though the underlying OSD HW access functions don't do + * anything. + */ +static ACPI_TABLE_RSDP LocalRSDP; +static ACPI_TABLE_FADT LocalFADT; +static ACPI_TABLE_FACS LocalFACS; +static ACPI_TABLE_HEADER LocalDSDT; +static ACPI_TABLE_HEADER LocalTEST; +static ACPI_TABLE_HEADER LocalBADTABLE; + +#define RSDT_TABLES 9 +/* Covers both 32-bit and 64-bit addresses */ +#define RSDT_SIZE (sizeof (ACPI_TABLE_XSDT) +\ + ((RSDT_TABLES -1) * sizeof (UINT64))) + +static UINT8 MemRSDT[RSDT_SIZE]; +static RSDT_DESCRIPTOR_REV1 *LocalRSDT = (RSDT_DESCRIPTOR_REV1 *)MemRSDT; + +static FADT_DESCRIPTOR_REV2 LocalFADT2; + +#define ACPI_MAX_INIT_TABLES (10) +static ACPI_TABLE_DESC Tables[ACPI_MAX_INIT_TABLES]; + +/* Like AeCtrlCHandler */ +void __cdecl +AtSigHandler ( + int Sig) +{ + if (Sig == SIGINT) + { + signal (SIGINT, SIG_IGN); + printf ("Caught a ctrl-c\n\n"); +#ifdef ACPI_DEBUGGER + if (AcpiGbl_MethodExecuting) + { + AcpiGbl_AbortMethod = TRUE; + signal (SIGINT, AtSigHandler); + return; + } +#endif + } + else + { + printf ("Caught Signal %d\n\n", Sig); + } + exit (AtRetSigTerm); +} + + +/******************************************************************************* + * + * FUNCTION: AtInitializeTables + * + * PARAMETERS: None + * + * RETURN: Status + * + * DESCRIPTION: Wrappper for AcpiInitializeTables() + * + ******************************************************************************/ +ACPI_STATUS +AtInitializeTables ( + BOOLEAN AllowResize) +{ + return (AcpiInitializeTables(Tables, ACPI_MAX_INIT_TABLES, AllowResize)); +} + + +/* Copy of AcpiTbInitGenericAddress */ +static void +AtTbInitGenericAddress ( + ACPI_GENERIC_ADDRESS *NewGasStruct, + UINT8 BitWidth, + ACPI_PHYSICAL_ADDRESS Address) +{ + + NewGasStruct->Address = Address; + NewGasStruct->SpaceId = ACPI_ADR_SPACE_SYSTEM_IO; + NewGasStruct->BitWidth = BitWidth; + NewGasStruct->BitOffset = 0; + NewGasStruct->AccessWidth = 0; +} + + +/******************************************************************************* + * + * FUNCTION: AtBuildLocalDSDT + * + * PARAMETERS: UserTable - Pointer to User's DSDT AML code or NULL + * BldTask - Build Task for errors intrusion + * Actual_DSDT - Where a pointer to the table is returned + * + * RETURN: None + * + * DESCRIPTION: Get an DSDT either from User supplied table or use + * the simle local one. Perform errors intrusion handling. + * + ******************************************************************************/ + +static void +AtBuildLocalDSDT ( + ACPI_TABLE_HEADER *UserTable, + BLD_TABLES_TASK BldTask, + ACPI_TABLE_HEADER **Actual_DSDT) +{ + /* + * Examine the incoming user table. At this point, it has been verified + * to be either a DSDT, SSDT, or a PSDT, but they must be handled differently + */ + if (UserTable && !ACPI_STRNCMP ((char *) UserTable->Signature, ACPI_SIG_DSDT, 4)) + { + /* User DSDT is installed directly into the FADT */ + + *Actual_DSDT = UserTable; + } + else + { + /* + * Build a local DSDT because either there is no incoming table + * or it is an SSDT or PSDT + */ + + ACPI_MEMSET (&LocalDSDT, 0, sizeof (ACPI_TABLE_HEADER)); + ACPI_STRNCPY (LocalDSDT.Signature, ACPI_SIG_DSDT, 4); + LocalDSDT.Revision = 1; + LocalDSDT.Length = sizeof (ACPI_TABLE_HEADER); + LocalDSDT.Checksum = (UINT8)(0 - AcpiTbChecksum + ((UINT8 *)&LocalDSDT, LocalDSDT.Length)); + *Actual_DSDT = &LocalDSDT; + } + + if (BldTask.ErrScale & BAD_SIGNATURE_DSDT) + { + ACPI_STRNCPY ((*Actual_DSDT)->Signature, "BADS", 4); + } + if (BldTask.ErrScale & BAD_CHECKSUM_DSDT) + { + (*Actual_DSDT)->Checksum = (UINT8)~(*Actual_DSDT)->Checksum; + } + if (BldTask.ErrScale & BAD_LENGTH_HDR_DSDT) + { + (*Actual_DSDT)->Length = sizeof (ACPI_TABLE_HEADER) - 1; + } +} + + +/******************************************************************************* + * + * FUNCTION: AtBuildLocalFACS1 + * + * PARAMETERS: LocalFACS - Pointer to the local FACS template + * BldTask - Build Task for errors intrusion + * + * RETURN: None + * + * DESCRIPTION: Build Revision 1 FACS image, perform errors intrusion handling. + * + ******************************************************************************/ + +static void +AtBuildLocalFACS1 ( + ACPI_TABLE_FACS *LocalFACS, + BLD_TABLES_TASK BldTask) +{ + ACPI_MEMSET (LocalFACS, 0, sizeof (ACPI_TABLE_FACS)); + + ACPI_STRNCPY (LocalFACS->Signature, ACPI_SIG_FACS, 4); + if (BldTask.ErrScale & BAD_SIGNATURE_FACS) + { + ACPI_STRNCPY (LocalFACS->Signature, "BADS", 4); + } + + LocalFACS->Length = sizeof (ACPI_TABLE_FACS); + if (BldTask.ErrScale & BAD_LENGTH_HDR_FACS) + { + LocalFACS->Length = sizeof (ACPI_TABLE_HEADER) - 1; + } + if (BldTask.ErrScale & BAD_LENGTH_DSC_FACS) + { + LocalFACS->Length = sizeof (ACPI_TABLE_FACS) - 1; + } + + LocalFACS->GlobalLock = 0x11AA0011; +// LocalFACS->GlobalLock = 0; + + LocalFACS->FirmwareWakingVector = 0xAFAEADAC; +} + + +/******************************************************************************* + * + * FUNCTION: AtBuildLocalFADT1 + * + * PARAMETERS: LocalFADT - Pointer to the local FADT template + * LocalFACS - Pointer to the local FACS template + * ActualDSDT - Where a pointer to the table is returned + * UserTable - Pointer to User's DSDT AML code or NULL + * BldTask - Build Task for errors intrusion + * + * RETURN: None + * + * DESCRIPTION: Build Revision 1 FADT image, perform errors intrusion handling. + * + ******************************************************************************/ + +static void +AtBuildLocalFADT1 ( + ACPI_TABLE_FADT *LocalFADT, + ACPI_TABLE_FACS *LocalFACS, + ACPI_TABLE_HEADER **ActualDSDT, + ACPI_TABLE_HEADER *UserTable, + BLD_TABLES_TASK BldTask) +{ + if (BldTask.NoTableScale & BLD_NO_FACS) + { + BldTask.ErrScale |= NULL_ADDRESS_FACS; + } + if (!(BldTask.ErrScale & NULL_ADDRESS_FACS)) + { + /* Build a FACS */ + AtBuildLocalFACS1(LocalFACS, BldTask); + } + + if (BldTask.NoTableScale & BLD_NO_DSDT) + { + BldTask.ErrScale |= NULL_ADDRESS_DSDT; + } + if (!(BldTask.ErrScale & NULL_ADDRESS_DSDT)) + { + /* Build a DSDT */ + AtBuildLocalDSDT(UserTable, BldTask, ActualDSDT); + } + + ACPI_MEMSET (LocalFADT, 0, sizeof (ACPI_TABLE_FADT)); + ACPI_STRNCPY (LocalFADT->Header.Signature, ACPI_SIG_FADT, 4); + + if (BldTask.ErrScale & BAD_SIGNATURE_FADT) + { + ACPI_STRNCPY (LocalFADT->Header.Signature, "BADS", 4); + } + + if (BldTask.ErrScale & NULL_ADDRESS_FACS) + { + LocalFADT->Facs = ACPI_PTR_TO_PHYSADDR(NULL); + } + else + { + LocalFADT->Facs = ACPI_PTR_TO_PHYSADDR (LocalFACS); + } + if (BldTask.ErrScale & NULL_ADDRESS_DSDT) + { + LocalFADT->Dsdt = ACPI_PTR_TO_PHYSADDR(NULL); + } + else + { + LocalFADT->Dsdt = ACPI_PTR_TO_PHYSADDR (*ActualDSDT); + } + + /* System port address of the SMI Command Port */ + if (BldTask.ErrScale & ZERO_SMICMD_FADT) + { + LocalFADT->SmiCommand = 0; + } + else + { + LocalFADT->SmiCommand = 0x10; + } + + LocalFADT->AcpiEnable = 0x01; + LocalFADT->AcpiDisable = 0x02; + LocalFADT->Header.Revision = 1; + LocalFADT->Header.Length = ACPI_FADT_OFFSET (ResetRegister); //sizeof (FADT_DESCRIPTOR); + LocalFADT->Gpe0BlockLength = 16; + LocalFADT->Gpe1BlockLength = 6; + LocalFADT->Gpe1Base = 96; + + LocalFADT->Pm1EventLength = 4; + LocalFADT->Pm1ControlLength = 2; + LocalFADT->Pm2ControlLength = 1; /* optional */ + LocalFADT->PmTimerLength = 4; + + LocalFADT->Gpe0Block = 0x00001234; + LocalFADT->Gpe1Block = 0x00005678; + + LocalFADT->Pm1aEventBlock = 0x00001aaa; + LocalFADT->Pm1bEventBlock = 0; + LocalFADT->PmTimerBlock = 0xA00; + LocalFADT->Pm1aControlBlock = 0xB00; + LocalFADT->Pm2ControlBlock = 0xD00; /* optional */ + + if (BldTask.ErrScale & BAD_LENGTH_HDR_FADT) + { + LocalFADT->Header.Length = sizeof (ACPI_TABLE_HEADER) - 1; + } + if (BldTask.ErrScale & BAD_LENGTH_DSC_FADT) + { + LocalFADT->Header.Length = ACPI_FADT_OFFSET (ResetRegister) - 1; + } + + /* Complete the FADT with the checksum */ + + LocalFADT->Header.Checksum = (UINT8)(0 - AcpiTbChecksum + ((UINT8 *)&LocalFADT->Header, LocalFADT->Header.Length)); + if (BldTask.ErrScale & BAD_CHECKSUM_FADT) + { + LocalFADT->Header.Checksum = (UINT8)~LocalFADT->Header.Checksum; + } +} + +/******************************************************************************* + * + * FUNCTION: AtBuildLocalFADT2 + * + * PARAMETERS: LocalFADT - Pointer to the local FADT template + * LocalFACS - Pointer to the local FACS template + * ActualDSDT - Where a pointer to the table is returned + * UserTable - Pointer to User's DSDT AML code or NULL + * BldTask - Build Task for errors intrusion + * + * RETURN: None + * + * DESCRIPTION: Build Revision 2 FADT image, perform errors intrusion handling. + * + ******************************************************************************/ + +static void +AtBuildLocalFADT2 ( + FADT_DESCRIPTOR_REV2 *LocalFADT, + ACPI_TABLE_FACS *LocalFACS, + ACPI_TABLE_HEADER **ActualDSDT, + ACPI_TABLE_HEADER *UserTable, + BLD_TABLES_TASK BldTask) +{ + if (BldTask.NoTableScale & BLD_NO_FACS) + { + BldTask.ErrScale |= NULL_ADDRESS_FACS; + } + if (!(BldTask.ErrScale & NULL_ADDRESS_FACS)) + { + /* Build a FACS */ + AtBuildLocalFACS1(LocalFACS, BldTask); + } + + if (BldTask.NoTableScale & BLD_NO_DSDT) + { + BldTask.ErrScale |= NULL_ADDRESS_DSDT; + } + if (!(BldTask.ErrScale & NULL_ADDRESS_DSDT)) + { + /* Build a DSDT */ + AtBuildLocalDSDT(UserTable, BldTask, ActualDSDT); + } + + ACPI_MEMSET (LocalFADT, 0, sizeof (ACPI_TABLE_FADT)); + ACPI_STRNCPY (LocalFADT->Header.Signature, ACPI_SIG_FADT, 4); + + if (BldTask.ErrScale & BAD_SIGNATURE_FADT) + { + ACPI_STRNCPY (LocalFADT->Header.Signature, "BADS", 4); + } + + if (BldTask.ErrScale & NULL_ADDRESS_FACS) + { + LocalFADT->XFacs = ACPI_PTR_TO_PHYSADDR(NULL); + } + else + { + LocalFADT->XFacs = ACPI_PTR_TO_PHYSADDR (LocalFACS); + } + if (BldTask.ErrScale & NULL_ADDRESS_DSDT) + { + LocalFADT->XDsdt = ACPI_PTR_TO_PHYSADDR(NULL); + } + else + { + LocalFADT->XDsdt = ACPI_PTR_TO_PHYSADDR (*ActualDSDT); + } + + /* System port address of the SMI Command Port */ + if (BldTask.ErrScale & ZERO_SMICMD_FADT) + { + LocalFADT->SmiCommand = 0; + } + else + { + LocalFADT->SmiCommand = 0x10; + } + + LocalFADT->AcpiEnable = 0x01; + LocalFADT->AcpiDisable = 0x02; + LocalFADT->Header.Revision = 3; + LocalFADT->Header.Length = sizeof (FADT_DESCRIPTOR_REV2); + LocalFADT->Gpe0BlockLength = 16; + LocalFADT->Gpe1BlockLength = 6; + LocalFADT->Gpe1Base = 96; + + LocalFADT->Pm1EventLength = 4; + LocalFADT->Pm1ControlLength = 4; + LocalFADT->Pm2ControlLength = 1; /* optional */ + LocalFADT->PmTimerLength = 8; + + /* + * Convert the addresses to V2.0 GAS structures + */ + + AtTbInitGenericAddress (&LocalFADT->XGpe0Block, 0, + (ACPI_PHYSICAL_ADDRESS) 0x12340000); + AtTbInitGenericAddress (&LocalFADT->XGpe1Block, 0, + (ACPI_PHYSICAL_ADDRESS) 0x56780000); + + AtTbInitGenericAddress (&LocalFADT->XPm1aEventBlock, LocalFADT->Pm1EventLength, + (ACPI_PHYSICAL_ADDRESS) 0x1aaa0000); + AtTbInitGenericAddress (&LocalFADT->XPm1bEventBlock, LocalFADT->Pm1EventLength, + (ACPI_PHYSICAL_ADDRESS) 0); + AtTbInitGenericAddress (&LocalFADT->XPm1aControlBlock, LocalFADT->Pm1ControlLength, + (ACPI_PHYSICAL_ADDRESS) 0xB0); + AtTbInitGenericAddress (&LocalFADT->XPm1bControlBlock, LocalFADT->Pm1ControlLength, + (ACPI_PHYSICAL_ADDRESS) 0); + AtTbInitGenericAddress (&LocalFADT->XPm2ControlBlock, LocalFADT->Pm2ControlLength, + (ACPI_PHYSICAL_ADDRESS) 0xD0); + AtTbInitGenericAddress (&LocalFADT->XPmTimerBlock, LocalFADT->PmTimerLength, + (ACPI_PHYSICAL_ADDRESS) 0xA0); + + if (BldTask.ErrScale & BAD_LENGTH_HDR_FADT) + { + LocalFADT->Header.Length = sizeof (ACPI_TABLE_HEADER) - 1; + } + if (BldTask.ErrScale & BAD_LENGTH_DSC_FADT) + { + LocalFADT->Header.Length = sizeof (FADT_DESCRIPTOR_REV2) - 1; + } + + /* Complete the FADT with the checksum */ + + LocalFADT->Header.Checksum = (UINT8)(0 - AcpiTbChecksum + ((UINT8 *)&LocalFADT->Header, LocalFADT->Header.Length)); + if (BldTask.ErrScale & BAD_CHECKSUM_FADT) + { + LocalFADT->Header.Checksum = (UINT8)~LocalFADT->Header.Checksum; + } +} + + +/******************************************************************************* + * + * FUNCTION: AtBuildLocalRSDT + * + * PARAMETERS: LocalRSDT - Pointer to the local FADT template + * UserTable - Pointer to User's DSDT AML code or NULL + * BldTask - Build Task for errors intrusion + * + * RETURN: None + * + * DESCRIPTION: Build Revision 1 RSDT image, perform errors intrusion handling. + * + ******************************************************************************/ + +static void +AtBuildLocalRSDT ( + RSDT_DESCRIPTOR_REV1 *LocalRSDT, + ACPI_TABLE_HEADER *UserTable, + BLD_TABLES_TASK BldTask) +{ + ACPI_TABLE_HEADER *Actual_DSDT = NULL; + int i = 0; + + if (BldTask.ErrScale & NOT_PRESENT_FADT) + { + BldTask.NoTableScale |= BLD_NO_FADT; + } + + ACPI_MEMSET (LocalRSDT, 0, RSDT_SIZE); + + ACPI_STRNCPY (LocalRSDT->Header.Signature, ACPI_SIG_RSDT, 4); + if (BldTask.ErrScale & BAD_SIGNATURE_RSDT) + { + ACPI_STRNCPY (LocalRSDT->Header.Signature, "BADS", 4); + } + + if (!(BldTask.NoTableScale & BLD_NO_FADT)) + { + /* Build a FADT so we can test the hardware/event init */ + AtBuildLocalFADT1(&LocalFADT, &LocalFACS, &Actual_DSDT, UserTable, BldTask); + + LocalRSDT->TableOffsetEntry[i++] = ACPI_PTR_TO_PHYSADDR (&LocalFADT); + } + + if (Actual_DSDT && + (!ACPI_STRNCMP ((char *) Actual_DSDT->Signature, ACPI_SIG_SSDT, 4) || + !ACPI_STRNCMP ((char *) Actual_DSDT->Signature, ACPI_SIG_PSDT, 4))) + { + LocalRSDT->TableOffsetEntry[i++] = ACPI_PTR_TO_PHYSADDR (UserTable); + } + + if (!(BldTask.NoTableScale & BLD_NO_BADT)) + { + /* + * Build a fake table with a bad signature so that + * we make sure that the CA core ignores it + */ + + ACPI_MEMSET (&LocalBADTABLE, 0, sizeof (ACPI_TABLE_HEADER)); + ACPI_STRNCPY (LocalBADTABLE.Signature, "BAD!", 4); + + LocalBADTABLE.Revision = 1; + LocalBADTABLE.Length = sizeof (ACPI_TABLE_HEADER); + + LocalRSDT->TableOffsetEntry[i++] = ACPI_PTR_TO_PHYSADDR (&LocalBADTABLE); + } + + /* Install two SSDTs to test multiple table support */ + + if (!(BldTask.NoTableScale & BLD_NO_SSDT1)) + { + LocalRSDT->TableOffsetEntry[i++] = ACPI_PTR_TO_PHYSADDR (&Ssdt1Code); + LocalRSDT->TableOffsetEntry[i++] = ACPI_PTR_TO_PHYSADDR (&Psdt1Code); + } + if (!(BldTask.NoTableScale & BLD_NO_SSDT2)) + { + LocalRSDT->TableOffsetEntry[i++] = ACPI_PTR_TO_PHYSADDR (&Ssdt2Code); + LocalRSDT->TableOffsetEntry[i++] = ACPI_PTR_TO_PHYSADDR (&Ssdt3Code); + } + + /* Install the OEM1 table to test LoadTable */ + + if (!(BldTask.NoTableScale & BLD_NO_OEM1)) + { + LocalRSDT->TableOffsetEntry[i++] = ACPI_PTR_TO_PHYSADDR (&Oem1Code); + } + + + /* Build a fake table so that we make sure that the CA core ignores it */ + + if (!(BldTask.NoTableScale & BLD_NO_TEST)) + { + ACPI_MEMSET (&LocalTEST, 0, sizeof (ACPI_TABLE_HEADER)); + ACPI_STRNCPY (LocalTEST.Signature, "TEST", 4); + + LocalTEST.Revision = 1; + LocalTEST.Length = sizeof (ACPI_TABLE_HEADER); + + LocalRSDT->TableOffsetEntry[i++] = ACPI_PTR_TO_PHYSADDR (&LocalTEST); + } + + LocalRSDT->Header.Length = sizeof (RSDT_DESCRIPTOR_REV1) + + (i - 1) * sizeof (UINT32); + + if (BldTask.ErrScale & BAD_LENGTH_HDR_RSDT) + { + LocalRSDT->Header.Length = sizeof (ACPI_TABLE_HEADER) - 1; + } + + /* Set checksums for RSDT */ + + LocalRSDT->Header.Checksum = (UINT8)(0 - AcpiTbChecksum + ((UINT8 *)&LocalRSDT->Header, LocalRSDT->Header.Length)); + if (BldTask.ErrScale & BAD_CHECKSUM_RSDT) + { + LocalRSDT->Header.Checksum = (UINT8)~LocalRSDT->Header.Checksum; + } +} + + +/******************************************************************************* + * + * FUNCTION: AtBuildLocalXSDT + * + * PARAMETERS: LocalXSDT - Pointer to the local XSDT template + * UserTable - Pointer to User's DSDT AML code or NULL + * BldTask - Build Task for errors intrusion + * + * RETURN: None + * + * DESCRIPTION: Build Revision 2 XSDT image, perform errors intrusion handling. + * + ******************************************************************************/ + +static ACPI_STATUS +AtBuildLocalXSDT ( + ACPI_TABLE_XSDT *LocalXSDT, + ACPI_TABLE_HEADER *UserTable, + BLD_TABLES_TASK BldTask) +{ + ACPI_TABLE_HEADER *Actual_DSDT = NULL; + int i = 0; + + if (BldTask.ErrScale & NOT_PRESENT_FADT) + { + BldTask.NoTableScale |= BLD_NO_FADT; + } + + ACPI_MEMSET (LocalXSDT, 0, RSDT_SIZE); + + ACPI_STRNCPY (LocalXSDT->Header.Signature, ACPI_SIG_XSDT, 4); + if (BldTask.ErrScale & BAD_SIGNATURE_RSDT) + { + ACPI_STRNCPY (LocalXSDT->Header.Signature, "BADS", 4); + } + + if (!(BldTask.NoTableScale & BLD_NO_BADT)) + { + /* + * Build a fake table with a bad signature so that + * we make sure that the CA core ignores it + */ + + ACPI_MEMSET (&LocalBADTABLE, 0, sizeof (ACPI_TABLE_HEADER)); + ACPI_STRNCPY (LocalBADTABLE.Signature, "BAD!", 4); + + LocalBADTABLE.Revision = 1; + LocalBADTABLE.Length = sizeof (ACPI_TABLE_HEADER); + + LocalXSDT->TableOffsetEntry[i++] = ACPI_PTR_TO_PHYSADDR (&LocalBADTABLE); + } + + if (!(BldTask.NoTableScale & BLD_NO_FADT)) + { + /* Build a FADT so we can test the hardware/event init */ + AtBuildLocalFADT2(&LocalFADT2, &LocalFACS, &Actual_DSDT, UserTable, BldTask); + LocalXSDT->TableOffsetEntry[i++] = ACPI_PTR_TO_PHYSADDR (&LocalFADT2); + } + + if (Actual_DSDT && + (!ACPI_STRNCMP ((char *) Actual_DSDT->Signature, ACPI_SIG_SSDT, 4) || + !ACPI_STRNCMP ((char *) Actual_DSDT->Signature, ACPI_SIG_PSDT, 4))) + { + LocalXSDT->TableOffsetEntry[i++] = ACPI_PTR_TO_PHYSADDR (UserTable); + } + + /* Install two SSDTs to test multiple table support */ + + if (!(BldTask.NoTableScale & BLD_NO_SSDT1)) + { + LocalXSDT->TableOffsetEntry[i++] = ACPI_PTR_TO_PHYSADDR (&Ssdt1Code); + LocalXSDT->TableOffsetEntry[i++] = ACPI_PTR_TO_PHYSADDR (&Psdt1Code); + } + if (!(BldTask.NoTableScale & BLD_NO_SSDT2)) + { + LocalXSDT->TableOffsetEntry[i++] = ACPI_PTR_TO_PHYSADDR (&Ssdt2Code); + LocalXSDT->TableOffsetEntry[i++] = ACPI_PTR_TO_PHYSADDR (&Ssdt3Code); + } + + /* Install the OEM1 table to test LoadTable */ + + if (!(BldTask.NoTableScale & BLD_NO_OEM1)) + { + LocalXSDT->TableOffsetEntry[i++] = ACPI_PTR_TO_PHYSADDR (&Oem1Code); + } + + + /* Build a fake table so that we make sure that the CA core ignores it */ + + if (!(BldTask.NoTableScale & BLD_NO_TEST)) + { + ACPI_MEMSET (&LocalTEST, 0, sizeof (ACPI_TABLE_HEADER)); + ACPI_STRNCPY (LocalTEST.Signature, "TEST", 4); + + LocalTEST.Revision = 1; + LocalTEST.Length = sizeof (ACPI_TABLE_HEADER); + + LocalXSDT->TableOffsetEntry[i++] = ACPI_PTR_TO_PHYSADDR (&LocalTEST); + } + + if (i > RSDT_TABLES) + { + TestErrors++; + printf ("Test Error in AtBuildLocalXSDT: instances" + " for RSDP (%d) should be < %d\n", + i, RSDT_TABLES); + return (AE_ERROR); + } + + LocalXSDT->Header.Length = ((ACPI_SIZE) i * sizeof (UINT64)) + + sizeof (ACPI_TABLE_HEADER); + + if (BldTask.ErrScale & BAD_LENGTH_HDR_RSDT) + { + LocalXSDT->Header.Length = sizeof (ACPI_TABLE_HEADER) - 1; + } + + /* Set checksums for RSDT */ + + LocalXSDT->Header.Checksum = (UINT8)(0 - AcpiTbChecksum + ((UINT8 *)&LocalXSDT->Header, LocalXSDT->Header.Length)); + if (BldTask.ErrScale & BAD_CHECKSUM_RSDT) + { + LocalXSDT->Header.Checksum = (UINT8)~LocalXSDT->Header.Checksum; + } + + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AtBuildLocalTables + * + * PARAMETERS: UserTable - Pointer to User's DSDT AML code or NULL + * BldTask - Build Task for errors intrusion + * + * RETURN: Status + * + * DESCRIPTION: Build the ACPI tables and file in RSDP structure. + * + *****************************************************************************/ + +ACPI_STATUS +AtBuildLocalTables ( + ACPI_TABLE_HEADER *UserTable, + BLD_TABLES_TASK BldTask) +{ + /* Build an RSDT and its members */ +#if ACPI_MACHINE_WIDTH == 64 + AtBuildLocalXSDT((ACPI_TABLE_XSDT *)LocalRSDT, UserTable, BldTask); +#else + AtBuildLocalRSDT(LocalRSDT, UserTable, BldTask); +#endif + + /* Build an RSDP */ + + ACPI_MEMSET (&LocalRSDP, 0, sizeof (ACPI_TABLE_RSDP)); + ACPI_STRNCPY (LocalRSDP.Signature, ACPI_SIG_RSDP, 8); + if (BldTask.ErrScale & BAD_SIGNATURE_RSDP) + { + ACPI_STRNCPY (LocalRSDP.Signature, "BAD SIGN", 8); + } +#if ACPI_MACHINE_WIDTH == 64 + LocalRSDP.Revision = 2; + LocalRSDP.XsdtPhysicalAddress = ACPI_PTR_TO_PHYSADDR (LocalRSDT); +#else + LocalRSDP.Revision = 1; + LocalRSDP.RsdtPhysicalAddress = ACPI_PTR_TO_PHYSADDR (LocalRSDT); +#endif + + /* Set checksums for RSDP */ + + LocalRSDP.Checksum = (UINT8) (0 - AcpiTbChecksum + ((UINT8 *) &LocalRSDP, ACPI_RSDP_CHECKSUM_LENGTH)); + if (BldTask.ErrScale & BAD_CHECKSUM_RSDP) + { + LocalRSDP.Checksum = (UINT8)~LocalRSDP.Checksum; + } +#if ACPI_MACHINE_WIDTH == 64 + LocalRSDP.ExtendedChecksum = (UINT8) (0 - AcpiTbChecksum + ((UINT8 *) &LocalRSDP, ACPI_RSDP_XCHECKSUM_LENGTH)); +#endif + + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AtGetTableHeader + * + * PARAMETERS: Type - Type of the requested table + * Instance - Can be not 1 if Type supports multiple tables + * Table - Where a pointer to the table is returned + * BldTask - Build Task for errors intrusion + * + * RETURN: Status + * + * DESCRIPTION: Build the ACPI tables and file in RSDP structure. + * + *****************************************************************************/ + +ACPI_STATUS +AtGetTableHeader ( + char *Type, + UINT32 Instance, + ACPI_TABLE_HEADER **Table, + BLD_TABLES_TASK BldTask) +{ + ACPI_STATUS Status = AE_OK; + ACPI_TABLE_HEADER *Actual_DSDT = NULL; + + if (!ACPI_COMPARE_NAME(Type, ACPI_SIG_SSDT) && (Instance != 1)) + { + TestErrors++; + printf ("Test Error in AtGetTableHeader: for Type %s" + " Instance should be 1, not %d\n", + Type, Instance); + *Table = NULL; + return (AE_ERROR); + } + + if (ACPI_COMPARE_NAME(Type, ACPI_SIG_RSDP)) + { + AtBuildLocalTables(NULL, BldTask); + *Table = (ACPI_TABLE_HEADER *)&LocalRSDP; + } else if (ACPI_COMPARE_NAME(Type, ACPI_SIG_DSDT)) + { + AtBuildLocalDSDT(NULL, BldTask, &Actual_DSDT); + *Table = Actual_DSDT; + } else if (ACPI_COMPARE_NAME(Type, ACPI_SIG_FACS)) + { + AtBuildLocalFACS1(&LocalFACS, BldTask); + *Table = (ACPI_TABLE_HEADER *)&LocalFACS; + } else if (ACPI_COMPARE_NAME(Type, ACPI_SIG_FADT)) + { + BldTask.NoTableScale &= ~(BLD_NO_FACS | BLD_NO_DSDT); + AtBuildLocalFADT1(&LocalFADT, &LocalFACS, &Actual_DSDT, NULL, BldTask); + *Table = (ACPI_TABLE_HEADER *)&LocalFADT; + } else if (ACPI_COMPARE_NAME(Type, ACPI_SIG_PSDT)) + { + *Table = (ACPI_TABLE_HEADER *)&Psdt1Code; + } else if (ACPI_COMPARE_NAME(Type, ACPI_SIG_SSDT)) + { + switch (Instance) + { + case 1: + *Table = (ACPI_TABLE_HEADER *)&Ssdt1Code; + break; + case 2: + *Table = (ACPI_TABLE_HEADER *)&Ssdt2Code; + break; + case 3: + *Table = (ACPI_TABLE_HEADER *)&Ssdt3Code; + break; + default: + TestErrors++; + printf ("Test Error in AtGetTableHeader: for SSDT" + " Instance should be in range 1-3, not %d\n", + Instance); + *Table = NULL; + Status = AE_ERROR; + break; + } + } else if (ACPI_COMPARE_NAME(Type, ACPI_SIG_XSDT)) + { +// BldTask.NoTableScale &= ~(BLD_NO_FACS | BLD_NO_DSDT | BLD_NO_FADT); + AtBuildLocalDSDT(NULL, BldTask, &Actual_DSDT); + Status = AtBuildLocalXSDT((ACPI_TABLE_XSDT *)LocalRSDT, + Actual_DSDT, BldTask); +/* + AtBuildLocalRSDT(LocalRSDT, NULL, BldTask); +*/ + if (ACPI_FAILURE(Status)) + { + *Table = NULL; + } + else + { + *Table = (ACPI_TABLE_HEADER *)LocalRSDT; + } + } else + { + TestErrors++; + printf ("Test Error in AtGetTableHeader: unexpected table Type '%s'\n", + Type); + *Table = NULL; + Status = AE_ERROR; + } + + return (Status); +} + + +/****************************************************************************** + * + * FUNCTION: AeLocalGetRootPointer + * + * PARAMETERS: + * + * RETURN: Status + * + * DESCRIPTION: Return a local RSDP, used to dynamically load tables via the + * standard ACPI mechanism. + * + *****************************************************************************/ +/* +ACPI_STATUS +AeLocalGetRootPointer ( + UINT32 Flags, + ACPI_POINTER *Address) +{ + if (Flags != ACPI_LOGICAL_ADDRESSING) + { + printf ("AtLocalGetRootPointer: Flags (0x%x) !=" + " ACPI_LOGICAL_ADDRESSING (0x%x)\n", + Flags, ACPI_LOGICAL_ADDRESSING); + return (AE_ERROR); + } + + Address->PointerType = ACPI_LOGICAL_POINTER; + Address->Pointer.Logical = &LocalRSDP; + return (AE_OK); +} +*/ +ACPI_PHYSICAL_ADDRESS +AeLocalGetRootPointer ( + void) +{ + + return ((ACPI_PHYSICAL_ADDRESS) &LocalRSDP); +} + + +typedef struct Region +{ + ACPI_PHYSICAL_ADDRESS Address; + UINT32 Length; + void *Buffer; + void *NextRegion; + +} REGION; + +typedef struct DebugRegions +{ + UINT32 NumberOfRegions; + REGION *RegionList; + +} DEBUG_REGIONS; + +#define GET_SEGMENT(ptr) ((UINT16)(_segment)(ptr)) +#define GET_OFFSET(ptr) ((UINT16)(UINT32) (ptr)) +#define GET_PHYSICAL_ADDRESS(ptr) (((((UINT32)GET_SEGMENT(ptr)) << 4)) + GET_OFFSET(ptr)) +#define PTR_OVL_BUILD_PTR(p,b,o) {p.ovl.base=b;p.ovl.offset=o;} + + +#define TEST_OUTPUT_LEVEL(lvl) if ((lvl) & OutputLevel) + +#define OSD_PRINT(lvl,fp) TEST_OUTPUT_LEVEL(lvl) {\ + AcpiOsPrintf PARAM_LIST(fp);} + +DEBUG_REGIONS AeRegions; + + +/****************************************************************************** + * + * FUNCTION: AeGetRegionBufferAddress + * + * PARAMETERS: RegionObject + * + * RETURN: Address + * + * DESCRIPTION: Returns the address of the Region's first byte + * in the respective emulation buffer. + * + *****************************************************************************/ + +ACPI_PHYSICAL_ADDRESS +AeGetRegionBufferAddress ( + ACPI_OPERAND_OBJECT *RegionObject) +{ + + ACPI_PHYSICAL_ADDRESS BaseAddress; + ACPI_PHYSICAL_ADDRESS RetAddress = (ACPI_PHYSICAL_ADDRESS) NULL; + ACPI_SIZE Length; + REGION *RegionElement; + + + ACPI_FUNCTION_NAME (AeGetRegionBufferAddress); + + + /* + * If the object is not a region, return NULL + */ + if ((RegionObject->Region.Type != ACPI_TYPE_REGION) || + (RegionObject->Region.SpaceId == ACPI_ADR_SPACE_SMBUS)) + { + return (RetAddress); + } + + /* + * Find the region's address space and length before searching + * the linked list. + */ + BaseAddress = RegionObject->Region.Address; + Length = (ACPI_SIZE) RegionObject->Region.Length; + + ACPI_DEBUG_PRINT ((ACPI_DB_OPREGION, "OpRegion Address request on %s\n", + AcpiUtGetRegionName (RegionObject->Region.SpaceId))); + + /* + * Search through the linked list for this region's buffer + */ + RegionElement = AeRegions.RegionList; + + if (AeRegions.NumberOfRegions) + { + while (RegionElement) + { + if (RegionElement->Address == BaseAddress && + RegionElement->Length == Length) + { + RetAddress = (ACPI_PHYSICAL_ADDRESS) RegionElement->Buffer; + break; + } + else + { + RegionElement = RegionElement->NextRegion; + } + } + } + + /* + * If the Region buffer does not exist, create it now + */ + if (!RetAddress) + { + /* + * Do the memory allocations first + */ +/* + RegionElement = AcpiOsAllocate (sizeof (REGION)); +*/ + RegionElement = malloc (sizeof (REGION)); + if (!RegionElement) + { + return (RetAddress); + } + +/* + RegionElement->Buffer = AcpiOsAllocate (Length); +*/ + RegionElement->Buffer = malloc (Length); + if (!RegionElement->Buffer) + { +/* + AcpiOsFree (RegionElement); +*/ + free (RegionElement); + return (RetAddress); + } + + ACPI_MEMSET (RegionElement->Buffer, 0, Length); + RegionElement->Address = BaseAddress; + RegionElement->Length = Length; + RegionElement->NextRegion = NULL; + + /* + * Increment the number of regions and put this one + * at the head of the list as it will probably get accessed + * more often anyway. + */ + AeRegions.NumberOfRegions += 1; + + if (AeRegions.RegionList) + { + RegionElement->NextRegion = AeRegions.RegionList; + } + + AeRegions.RegionList = RegionElement; + + RetAddress = (ACPI_PHYSICAL_ADDRESS) RegionElement->Buffer; + } + + return (RetAddress); +} + + +/****************************************************************************** + * + * FUNCTION: AeSmbusRegionHandler + * + * PARAMETERS: Standard region handler parameters + * + * RETURN: Status + * + * DESCRIPTION: Test handler - Handles some dummy regions via memory that can + * be manipulated in Ring 3. + * + *****************************************************************************/ + +ACPI_STATUS +AeSmbusRegionHandler ( + UINT32 Function, + ACPI_INTEGER *Value) +{ + ACPI_SIZE Length; + UINT32 i; + + + Length = 0; + + switch (Function & ACPI_IO_MASK) + { + case ACPI_READ: + switch (Function >> 16) + { + case AML_FIELD_ATTRIB_QUICK: + case AML_FIELD_ATTRIB_SEND_RCV: + case AML_FIELD_ATTRIB_BYTE: + Length = 1; + break; + + case AML_FIELD_ATTRIB_WORD: + case AML_FIELD_ATTRIB_WORD_CALL: + Length = 2; + break; + + case AML_FIELD_ATTRIB_BLOCK: + case AML_FIELD_ATTRIB_BLOCK_CALL: + Length = 32; + break; + + default: + break; + } + break; + + case ACPI_WRITE: + switch (Function >> 16) + { + case AML_FIELD_ATTRIB_QUICK: + case AML_FIELD_ATTRIB_SEND_RCV: + case AML_FIELD_ATTRIB_BYTE: + case AML_FIELD_ATTRIB_WORD: + case AML_FIELD_ATTRIB_BLOCK: + Length = 0; + break; + + case AML_FIELD_ATTRIB_WORD_CALL: + Length = 2; + break; + + case AML_FIELD_ATTRIB_BLOCK_CALL: + Length = 32; + break; + + default: + break; + } + break; + + default: + break; + } + + for (i = 0; i < Length; i++) + { + ((UINT8 *) Value)[i+2] = (UINT8) (0xA0 + i); + } + + ((UINT8 *) Value)[0] = 0x7A; + ((UINT8 *) Value)[1] = (UINT8) Length; + + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AeRegionHandler + * + * PARAMETERS: Standard region handler parameters + * + * RETURN: Status + * + * DESCRIPTION: Test handler - Handles some dummy regions via memory that can + * be manipulated in Ring 3. + * + *****************************************************************************/ + +ACPI_STATUS +AeRegionHandler ( + UINT32 Function, + ACPI_PHYSICAL_ADDRESS Address, + UINT32 BitWidth, + ACPI_INTEGER *Value, + void *HandlerContext, + void *RegionContext) +{ + ACPI_OPERAND_OBJECT *RegionObject = (ACPI_OPERAND_OBJECT*) RegionContext; + ACPI_PHYSICAL_ADDRESS BaseAddress; + ACPI_PHYSICAL_ADDRESS BufferAddress; + ACPI_SIZE Length; + void *BufferValue; + UINT32 ByteWidth; + + + ACPI_FUNCTION_NAME ("AeRegionHandler"); + + + /* + * If the object is not a region, simply return + */ + if (RegionObject->Region.Type != ACPI_TYPE_REGION) + { + return (AE_OK); + } + + /* + * Find the region's address space and length before searching + * the linked list. + */ + BaseAddress = RegionObject->Region.Address; + Length = (ACPI_SIZE) RegionObject->Region.Length; + + ACPI_DEBUG_PRINT ((ACPI_DB_OPREGION, "Operation Region request on %s at 0x%X\n", + AcpiUtGetRegionName (RegionObject->Region.SpaceId), + (UINT32) Address)); + + if (RegionObject->Region.SpaceId == ACPI_ADR_SPACE_SMBUS) + { + return (AeSmbusRegionHandler(Function, Value)); + } + + BufferAddress = AeGetRegionBufferAddress(RegionObject); + if (!BufferAddress) + { + return (AE_NO_MEMORY); + } + + /* + * Calculate the size of the memory copy + */ + ByteWidth = (BitWidth / 8); + + if (BitWidth % 8) + { + ByteWidth += 1; + } + + /* + * The buffer exists and is pointed to by RegionElement. + * We now need to verify the request is valid and perform the operation. + * + * NOTE: RegionElement->Header.Length is in bytes, therefore it we compare against + * ByteWidth (see above) + */ + if (((ACPI_INTEGER) Address + ByteWidth) > + ((ACPI_INTEGER)(BufferAddress) + Length)) + { + ACPI_WARNING ((AE_INFO, + "Request on [%4.4s] is beyond region limit Req-%X+%X, Base=%X, Len-%X\n", + (RegionObject->Region.Node)->Name.Ascii, (UINT32) Address, + ByteWidth, (UINT32) BufferAddress, Length)); + + return (AE_AML_REGION_LIMIT); + } + + /* + * Get BufferValue to point to the "address" in the buffer + */ + BufferValue = ((UINT8 *) BufferAddress + + ((ACPI_INTEGER) Address - (ACPI_INTEGER) BaseAddress)); + + /* + * Perform a read or write to the buffer space + */ + switch (Function) + { + case ACPI_READ: + /* + * Set the pointer Value to whatever is in the buffer + */ + ACPI_MEMCPY (Value, BufferValue, ByteWidth); + break; + + case ACPI_WRITE: + /* + * Write the contents of Value to the buffer + */ + ACPI_MEMCPY (BufferValue, Value, ByteWidth); + break; + + default: + return (AE_BAD_PARAMETER); + } + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AeRegionInit + * + * PARAMETERS: None + * + * RETURN: Status + * + * DESCRIPTION: Opregion init function. + * + *****************************************************************************/ + +ACPI_STATUS +AeRegionInit ( + ACPI_HANDLE RegionHandle, + UINT32 Function, + void *HandlerContext, + void **RegionContext) +{ + /* + * Real simple, set the RegionContext to the RegionHandle + */ + *RegionContext = RegionHandle; + + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AtRegionCleanup + * + * PARAMETERS: None + * + * RETURN: None + * + * DESCRIPTION: OpRegions cleanup function. + * + *****************************************************************************/ + +void +AtRegionCleanup (void) +{ + REGION *RegionElement; + + while (AeRegions.NumberOfRegions) + { + AeRegions.NumberOfRegions--; + RegionElement = AeRegions.RegionList; + AeRegions.RegionList = RegionElement->NextRegion; + free(RegionElement->Buffer); + free(RegionElement); + } + + return; +} + +/****************************************************************************** + * + * FUNCTION: AeInstallHandlers + * + * PARAMETERS: None + * + * RETURN: Status + * + * DESCRIPTION: Install handlers for the AAPITS likely AcpiExec utility. + * NOTE: Only AdrSpace handlers are installed. + * + *****************************************************************************/ + +ACPI_ADR_SPACE_TYPE SpaceId[] = {0, 1, 2, 3, 4, 0x80}; +#define AEXEC_NUM_REGIONS 6 + +ACPI_STATUS +AeInstallHandlers (void) +{ + ACPI_STATUS Status = AE_OK; + UINT32 i; + + ACPI_FUNCTION_NAME ("AeInstallHandlers"); + + AtRegionCleanup(); + + /* + */ + for (i = 0; i < AEXEC_NUM_REGIONS; i++) + { + if (i == 2) + { + continue; + } + + Status = AcpiRemoveAddressSpaceHandler (ACPI_ROOT_OBJECT, + SpaceId[i], AeRegionHandler); + + /* Install handler at the root object. + * TBD: all default handlers should be installed here! + */ + Status = AcpiInstallAddressSpaceHandler (ACPI_ROOT_OBJECT, + SpaceId[i], AeRegionHandler, AeRegionInit, NULL); + if (ACPI_FAILURE (Status)) + { + ACPI_ERROR ((AE_INFO, + "Could not install an OpRegion handler for %s space(%d), %s\n", + AcpiUtGetRegionName((UINT8) SpaceId[i]), SpaceId[i], + AcpiFormatException (Status))); + return (Status); + } + } + + /* + * Initialize the global Region Handler space + * MCW 3/23/00 + */ + AeRegions.NumberOfRegions = 0; + AeRegions.RegionList = NULL; + + return (Status); +} + + +/******************************************************************************* + * + * FUNCTION: AtReadTableFromFile + * + * PARAMETERS: Filename - File where table is located + * Table - Where a pointer to the table is returned + * + * RETURN: Status + * + * DESCRIPTION: Get an ACPI table from a file, AcpiDbReadTableFromFile and + * AcpiDbReadTable do the same but this routine manages without + * OSL functions usage and does not require any validation. + * + ******************************************************************************/ + +ACPI_STATUS +AtReadTableFromFile ( + char *Filename, + ACPI_TABLE_HEADER **Table) +{ + FILE *fp; + ACPI_TABLE_HEADER TableHeader; + UINT32 Actual; + UINT32 FileSize; + + printf ("Reading Acpi table from file %s\n", Filename); + + /* Open the file */ + + fp = fopen (Filename, "rb"); + if (!fp) + { + printf ("Could not open input file %s\n", Filename); + return (AE_ERROR); + } + + fseek (fp, 0, SEEK_END); + FileSize = ftell (fp); + fseek (fp, 0, SEEK_SET); + + /* Read the table header */ + + if (fread (&TableHeader, 1, sizeof (TableHeader), fp) != + sizeof (ACPI_TABLE_HEADER)) + { + printf ("Could not read the table header\n"); + return (AE_BAD_HEADER); + } + + if (TableHeader.Length < sizeof (ACPI_TABLE_HEADER)) + { + printf ("Error: TableHeader.Length (%d) < sizeof (ACPI_TABLE_HEADER) (%d)\n", + TableHeader.Length, (UINT32)sizeof (ACPI_TABLE_HEADER)); + return (AE_BAD_HEADER); + } + + /* Allocate a buffer for the table */ + + *Table = (void *) malloc ((size_t) TableHeader.Length); + if (!*Table) + { + printf ( + "Could not allocate memory for ACPI table %4.4s (size=0x%X)\n", + TableHeader.Signature, TableHeader.Length); + return (AE_NO_MEMORY); + } + + /* Get the entire table */ + + if (TableHeader.Length < FileSize) + { + FileSize = TableHeader.Length; + } + fseek (fp, 0, SEEK_SET); + Actual = fread (*Table, 1, (size_t) FileSize, fp); + if (Actual == FileSize) + { + return (AE_OK); + } + + printf ("Error - could not read the table file\n"); + free (*Table); + *Table = NULL; + + return (AE_ERROR); +} + + +static char PathName[AT_PATHNAME_MAX]; + +/******************************************************************************* + * + * FUNCTION: AtAMLcodeFileNameSet + * + * PARAMETERS: CodeName - Relative Name of AML code file + * + * RETURN: Status + * + * DESCRIPTION: Concatenate CodeName with the DirName specified by User. + * + ******************************************************************************/ + +ACPI_STATUS +AtAMLcodeFileNameSet( + char *CodeName) +{ + if (!AtAMLcodeFileDir) + { + TestErrors++; + printf ("Test Error: AML code FileDir Name path is not specified\n"); + return (AE_ERROR); + } + + if (strlen(AtAMLcodeFileDir) + strlen(CodeName) + 1 >= AT_PATHNAME_MAX) + { + TestErrors++; + printf ("Test Error: AML code FileName path (%s + %s) is too long\n", + AtAMLcodeFileDir, CodeName); + return (AE_ERROR); + } + + strcpy(PathName, AtAMLcodeFileDir); + strcat(PathName, "/"); + strcat(PathName, CodeName); + AtAMLcodeFileName = PathName; + + return (AE_OK); +} + + +/******************************************************************************* + * + * FUNCTION: AtCheckInteger + * + * PARAMETERS: ObjHandle - Checked Object ACPI handle or NULL + * ObjPath - Checked Object ACPI Path + * Value - Benchmark value + * + * RETURN: Status + * + * DESCRIPTION: Check specified Integer value in ACPI namespace + * + ******************************************************************************/ + +ACPI_STATUS +AtCheckInteger( + ACPI_HANDLE ObjHandle, + ACPI_STRING ObjPath, + ACPI_INTEGER Value) +{ + ACPI_STATUS Status; + ACPI_STRING Path; + ACPI_BUFFER Results; + ACPI_OBJECT Obj, *Object = &Obj; + ACPI_BUFFER OutName = {AT_PATHNAME_MAX, PathName}; + + /* Initialize the return buffer structure */ + Results.Length = sizeof (Obj); + Results.Pointer = Object; + memset(Results.Pointer, 0, Results.Length); + + if (ObjHandle) + { + Path = NULL; + } + else + { + Path = ObjPath; + } + + Status = AcpiEvaluateObject (ObjHandle, Path, NULL, &Results); + + if (ObjHandle) + { + Status = AcpiGetName (ObjHandle, ACPI_FULL_PATHNAME, &OutName); + + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiGetName(0x%p) returned %s\n", + ObjHandle, AcpiFormatException(Status)); + return (Status); + } + Path = (ACPI_STRING) OutName.Pointer; + } + + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiEvaluateObject(%s) returned %s\n", + Path, AcpiFormatException(Status)); + return (Status); + } + + Status = AE_OK; + if (Obj.Type != 1) + { + AapiErrors++; + printf ("API Error: Type of %s (%d) is not Integer (1)\n", + Path, Obj.Type); + Status = AE_ERROR; + } + else if (Obj.Integer.Value != Value) + { + AapiErrors++; +#ifdef _MSC_VER + printf ("API Error: Value of %s is 0x%I64x instead of expected 0x%I64x\n", + Path, Obj.Integer.Value, Value); +#else + printf ("API Error: Value of %s is 0x%llx instead of expected 0x%llx\n", + Path, Obj.Integer.Value, Value); +#endif + Status = AE_ERROR; + } + + return (Status); +} + + +/******************************************************************************* + * + * FUNCTION: AtCheckBytes + * + * PARAMETERS: Name - Checked Object name + * Pointer - Pointer to the Checked Object memory + * Benchmark - Pointer to the Benchmark memory + * Length - Length of memory ranges + * + * RETURN: Status + * + * DESCRIPTION: Check specified memory ranges if they are identical + * + ******************************************************************************/ + +ACPI_STATUS +AtCheckBytes( + ACPI_STRING Name, + UINT8 *Pointer, + UINT8 *Benchmark, + UINT32 Length) +{ + ACPI_STATUS Status = AE_OK; + UINT32 i; + + for (i = 0; i < Length; i++) + { + if (Pointer[i] != Benchmark[i]) + { + AapiErrors++; + printf ("API Error: Element %d of %s is 0x%x instead of expected 0x%x\n", + i, Name, Pointer[i], Benchmark[i]); + Status = AE_ERROR; + break; + } + } + return (Status); +} + + +/******************************************************************************* + * + * FUNCTION: AtCheckString + * + * PARAMETERS: Path - Checked Object ACPI Path + * Pointer - Pointer to the Benchmark String + * + * RETURN: Status + * + * DESCRIPTION: Check specified String value in ACPI namespace + * + ******************************************************************************/ + +ACPI_STATUS +AtCheckString( + ACPI_STRING Path, + UINT8 *Pointer) +{ + ACPI_STATUS Status; + UINT32 Length = strlen((char *)Pointer); + ACPI_BUFFER Results; + ACPI_OBJECT *Object; + + /* Initialize the return buffer structure */ + Results.Length = ACPI_ROUND_UP_TO_NATIVE_WORD(sizeof (ACPI_OBJECT) + Length + 1); + Object = (ACPI_OBJECT *)malloc((size_t)Results.Length); + if (!Object) + { + TestErrors++; + printf ("Test Error: cannot allocate buffer of %d bytes\n", + Results.Length); + return (AE_NO_MEMORY); + } + Results.Pointer = Object; + memset(Results.Pointer, 0, Results.Length); + + Status = AcpiEvaluateObject (NULL, Path, NULL, &Results); + + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiEvaluateObject(%s) returned %s\n", + Path, AcpiFormatException(Status)); + goto Cleanup; + } + + Status = AE_OK; + if (Object->Type != 2) + { + AapiErrors++; + printf ("API Error: Type of %s (%d) is not String (2)\n", + Path, Object->Type); + Status = AE_ERROR; + } + else if (Object->Buffer.Length != Length) + { + AapiErrors++; + printf ("API Error: Length of %s is %d instead of expected %d\n", + Path, Object->Buffer.Length, Length); + Status = AE_ERROR; + } + else + { + Status = AtCheckBytes(Path, Object->Buffer.Pointer, Pointer, Length); + } + +Cleanup: + free(Object); + + return (AE_OK); +} + + +/******************************************************************************* + * + * FUNCTION: AtCheckBuffer + * + * PARAMETERS: Path - Checked Object ACPI Path + * Length - Length of the Benchmark buffer + * Pointer - Pointer to the Benchmark buffer + * + * RETURN: Status + * + * DESCRIPTION: Check specified Buffer value in ACPI namespace + * + ******************************************************************************/ + +ACPI_STATUS +AtCheckBuffer( + ACPI_STRING Path, + UINT32 Length, + UINT8 *Pointer) +{ + ACPI_STATUS Status; + ACPI_BUFFER Results = {0, NULL}; + ACPI_OBJECT *Object; + + Status = AcpiEvaluateObject (NULL, Path, NULL, &Results); + + if (Status != AE_BUFFER_OVERFLOW) + { + AapiErrors++; + printf ("API Error: AcpiEvaluateObject(%s) returned %s\n", + Path, AcpiFormatException(Status)); + return (Status); + } + + if (Results.Length != ACPI_ROUND_UP_TO_NATIVE_WORD(sizeof (ACPI_OBJECT) + Length)) + { + printf ("AtCheckBuffer: unexpected length %d of Buffer vs" + " calculated %d bytes\n", + Results.Length, ACPI_ROUND_UP_TO_NATIVE_WORD(sizeof (ACPI_OBJECT) + Length)); + } + + /* Initialize the return buffer structure */ + Object = (ACPI_OBJECT *)malloc((size_t)Results.Length); + if (!Object) + { + TestErrors++; + printf ("Test Error: cannot allocate buffer of %d bytes\n", + Results.Length); + return (AE_NO_MEMORY); + } + Results.Pointer = Object; + memset(Results.Pointer, 0, Results.Length); + + Status = AcpiEvaluateObject (NULL, Path, NULL, &Results); + + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiEvaluateObject(%s) returned %s\n", + Path, AcpiFormatException(Status)); + goto Cleanup; + } + + Status = AE_OK; + if (Object->Type != 3) + { + AapiErrors++; + printf ("API Error: Type of %s (%d) is not Buffer (3)\n", + Path, Object->Type); + Status = AE_ERROR; + } + else if (Object->Buffer.Length != Length) + { + AapiErrors++; + printf ("API Error: Length of %s is %d instead of expected %d\n", + Path, Object->Buffer.Length, Length); + Status = AE_ERROR; + if (Object->Buffer.Length < Length) + { + Length = Object->Buffer.Length; + } + (void)AtCheckBytes(Path, Object->Buffer.Pointer, Pointer, Length); + } + else + { + Status = AtCheckBytes(Path, Object->Buffer.Pointer, Pointer, Length); + } + +Cleanup: + free(Object); + + return (Status); +} + + +/******************************************************************************* + * + * FUNCTION: AtCheckName + * + * PARAMETERS: ObjHandle - Checked Object ACPI handle or NULL + * CheckName - Pointer to the expected name + * + * RETURN: Status + * + * DESCRIPTION: Check NS Object specified by the ObjHandle to have the name + * + ******************************************************************************/ + +ACPI_STATUS +AtCheckName( + ACPI_HANDLE ObjHandle, + ACPI_STRING CheckName) +{ + ACPI_STATUS Status; + ACPI_BUFFER OutName = {ACPI_ALLOCATE_BUFFER}; + + Status = AcpiGetName (ObjHandle, ACPI_FULL_PATHNAME, &OutName); + + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiGetName(0x%p) returned %s\n", + ObjHandle, AcpiFormatException(Status)); + return (Status); + } + + if (strcmp(CheckName, (char *)OutName.Pointer)) + { + AapiErrors++; + Status = AE_ERROR; + printf ("AtCheckName: AcpiGetName() returned Name %s," + " expected %s\n", + CheckName, (char *)OutName.Pointer); + } + + AcpiOsFree(OutName.Pointer); + + return (Status); +} + + +ACPI_STATUS +AeIndexFieldHandler ( + ACPI_OBJECT_INDEX_FIELD *IndexField, + UINT32 ReadWrite) +{ + return (AE_OK); +} + +ACPI_STATUS +AeBankFieldHandler ( + ACPI_OPERAND_OBJECT *ObjDesc) +{ + return (AE_OK); +} + + +/* + * Auxiliary Ssdt Load/Unload + */ +ACPI_STATUS +AtAuxiliarySsdt( + UINT32 Action) +{ + ACPI_STATUS Status = AE_OK; + + if (Action == AT_LOAD) + { + Status = AcpiEvaluateObject (NULL, "\\AUX0.INIT", + NULL, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiEvaluateObject(AUX0.INIT) returned %s\n", + AcpiFormatException(Status)); + } + else + { + Status = AcpiEvaluateObject (NULL, "\\AUX0.LD__", + NULL, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiEvaluateObject(AUX0.LD) returned %s\n", + AcpiFormatException(Status)); + } + } + } + else /* AT_UNLOAD */ + { + Status = AcpiEvaluateObject (NULL, "\\AUX0.UNLD", + NULL, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiEvaluateObject(AUX0.UNLD) returned %s\n", + AcpiFormatException(Status)); + } + } + return (Status); +} diff --git a/tests/aapits/atfixedevent.c b/tests/aapits/atfixedevent.c new file mode 100644 index 0000000..671f7a2 --- /dev/null +++ b/tests/aapits/atfixedevent.c @@ -0,0 +1,687 @@ +/****************************************************************************** + * + * Module Name: atfixedevents - ACPICA Fixed Event Management API tests + * + *****************************************************************************/ + +#include "atcommon.h" +#include "atfixedevent.h" +#include "atosxfctrl.h" + +#define _COMPONENT ACPI_TOOLS + ACPI_MODULE_NAME ("atfixedevent") + +ACPI_STATUS +AtFixedEventsCommon( + UINT32 ApiCall, + UINT32 CheckAction, + ACPI_STATUS ExpectedStatus) +{ + ACPI_STATUS Status; + UINT32 Event, Flags = 0; + UINT32 i; + char *ApiCallName; + ACPI_EVENT_STATUS EventStatus, *EventStatusPointer = &EventStatus; + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 0; i < ACPI_NUM_FIXED_EVENTS; i++) + { + switch (i) + { + case 0: + Event = ACPI_EVENT_PMTIMER; + break; + case 1: + Event = ACPI_EVENT_GLOBAL; + break; + case 2: + Event = ACPI_EVENT_POWER_BUTTON; + break; + case 3: + Event = ACPI_EVENT_SLEEP_BUTTON; + break; + case 4: + Event = ACPI_EVENT_RTC; + break; + default: + TestErrors++; + printf ("Test Error: the number of Fixed Events (%d) too big (should be 5)\n", + ACPI_NUM_FIXED_EVENTS); + return (AE_ERROR); + } + if (CheckAction == 1) + { + Event += ACPI_NUM_FIXED_EVENTS; + } + else if (CheckAction == 2) + { + EventStatusPointer = NULL; + } + + switch (ApiCall) + { + case 0: + ApiCallName = "AcpiEnableEvent"; + Status = AcpiEnableEvent(Event, Flags); + break; + case 1: + ApiCallName = "AcpiDisableEvent"; + Status = AcpiDisableEvent(Event, Flags); + break; + case 2: + ApiCallName = "AcpiClearEvent"; + Status = AcpiClearEvent(Event); + break; + case 3: + ApiCallName = "AcpiGetEventStatus"; + Status = AcpiGetEventStatus(Event, EventStatusPointer); + break; + default: + TestErrors++; + printf ("Test Error: the ApiCall number (%d) should be in range 0-3\n", + ApiCall); + return (AE_ERROR); + } + + if (Status != ExpectedStatus) + { + AapiErrors++; + printf ("Api Error: %s(%d) returned %s, expected %s\n", + ApiCallName, Event, AcpiFormatException(Status), + AcpiFormatException(ExpectedStatus)); + if (Status != AE_OK) + { + return (Status); + } + else + { + return (AE_ERROR); + } + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0000: + */ +ACPI_STATUS +AtFixEvTest0000(void) +{ + return (AtFixedEventsCommon(0 /* Enable */, 0, AE_OK)); +} + +/* + * ASSERTION 0001: + */ +ACPI_STATUS +AtFixEvTest0001(void) +{ + return (AtFixedEventsCommon(0 /* Enable */, 1, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0002: + */ +ACPI_STATUS +AtFixEvTest0002(void) +{ + return (AtFixedEventsCommon(1 /* Disable */, 0, AE_OK)); +} + +/* + * ASSERTION 0003: + */ +ACPI_STATUS +AtFixEvTest0003(void) +{ + return (AtFixedEventsCommon(1 /* Disable */, 1, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0004: + */ +ACPI_STATUS +AtFixEvTest0004(void) +{ + return (AtFixedEventsCommon(2 /* Clear */, 0, AE_OK)); +} + +/* + * ASSERTION 0005: + */ +ACPI_STATUS +AtFixEvTest0005(void) +{ + return (AtFixedEventsCommon(2 /* Clear */, 1, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0006: + */ +ACPI_STATUS +AtFixEvTest0006(void) +{ + return (AtFixedEventsCommon(3 /* Status */, 0, AE_OK)); +} + +/* + * ASSERTION 0007: + */ +ACPI_STATUS +AtFixEvTest0007(void) +{ + return (AtFixedEventsCommon(3 /* Status */, 1, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0008: + */ +ACPI_STATUS +AtFixEvTest0008(void) +{ + return (AtFixedEventsCommon(3 /* Status */, 2, AE_BAD_PARAMETER)); +} + +static UINT32 FixedEventHandlerCounter; +static UINT32 FixedEventHandlerContext[ACPI_NUM_FIXED_EVENTS]; + +UINT32 +AtFixedEventHandler0 ( + void *Context) +{ + UINT32 HandlerId = 0; + + printf ("AtFixedEventHandler%d: Context %p\n", HandlerId, Context); + ++FixedEventHandlerCounter; + + if ((UINT32 *)Context - FixedEventHandlerContext > ACPI_NUM_FIXED_EVENTS) { + AapiErrors++; + printf ("AtFixedEventHandler: Context (0x%p) is out of" + " FixedEventHandlerContext (0x%p: %d)\n", + Context, FixedEventHandlerContext, ACPI_NUM_FIXED_EVENTS); + } + + return (0); +} + +UINT32 +AtFixedEventHandler1 ( + void *Context) +{ + UINT32 HandlerId = 1; + + printf ("AtFixedEventHandler%d: Context %p\n", HandlerId, Context); + ++FixedEventHandlerCounter; + + if ((UINT32 *)Context - FixedEventHandlerContext > ACPI_NUM_FIXED_EVENTS) { + AapiErrors++; + printf ("AtFixedEventHandler: Context (0x%p) is out of" + " FixedEventHandlerContext (0x%p: %d)\n", + Context, FixedEventHandlerContext, ACPI_NUM_FIXED_EVENTS); + } + + return (0); +} + +UINT32 +AtFixedEventHandler2 ( + void *Context) +{ + UINT32 HandlerId = 2; + + printf ("AtFixedEventHandler%d: Context %p\n", HandlerId, Context); + ++FixedEventHandlerCounter; + + if ((UINT32 *)Context - FixedEventHandlerContext > ACPI_NUM_FIXED_EVENTS) { + AapiErrors++; + printf ("AtFixedEventHandler: Context (0x%p) is out of" + " FixedEventHandlerContext (0x%p: %d)\n", + Context, FixedEventHandlerContext, ACPI_NUM_FIXED_EVENTS); + } + + return (0); +} + +static ACPI_EVENT_HANDLER FixedEventHandlers[ACPI_NUM_FIXED_EVENTS] = { + AtFixedEventHandler0, AtFixedEventHandler0, + AtFixedEventHandler1, AtFixedEventHandler1, + AtFixedEventHandler2}; + +ACPI_STATUS +AtInstallFixedEventHandlerCommon( + UINT32 CheckAction, + ACPI_STATUS ExpectedStatus) +{ + ACPI_STATUS Status; + UINT32 Event = ACPI_NUM_FIXED_EVENTS; + ACPI_EVENT_HANDLER EventHandler; + ACPI_OSXF OsxfNumAct; + UINT32 i; + + Status = AtSubsystemInit( + AAPITS_INI_DEF & ~AAPITS_INSTALL_HS, + AAPITS_EN_FLAGS | ACPI_NO_HANDLER_INIT, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (CheckAction == 4) + { + if (ExpectedStatus != AE_ALREADY_EXISTS) + { + TestErrors++; + printf ("Test Error: ExpectedStatus %s != AE_ALREADY_EXISTS\n", + AcpiFormatException(ExpectedStatus)); + return (AE_ERROR); + } + ExpectedStatus = AE_OK; + } + + FixedEventHandlerCounter = 0; + for (i = 0; i < ACPI_NUM_FIXED_EVENTS; i++) + { + switch (i) + { + case 0: + Event = ACPI_EVENT_PMTIMER; + break; + case 1: + Event = ACPI_EVENT_GLOBAL; + break; + case 2: + Event = ACPI_EVENT_POWER_BUTTON; + break; + case 3: + Event = ACPI_EVENT_SLEEP_BUTTON; + break; + case 4: + Event = ACPI_EVENT_RTC; + break; + default: + TestErrors++; + printf ("Test Error: the number of Fixed Events (%d) too big (should be 5)\n", + ACPI_NUM_FIXED_EVENTS); + return (AE_ERROR); + } + EventHandler = FixedEventHandlers[i]; + + if (CheckAction == 1) + { + Event += ACPI_NUM_FIXED_EVENTS; + } + else if (CheckAction == 2) + { + EventHandler = NULL; + } + else if (CheckAction == 3) + { + /* + * initiate the situation when fixed event + * enable register can not be written + */ + Status = OsxfCtrlSet(OSXF_NUM(AcpiOsWritePort), 1, + AtActD_OneTime, AtActRet_ERROR); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: OsxfCtrlSet returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + } + + FixedEventHandlerContext[i] = 0; + + Status = AcpiInstallFixedEventHandler(Event, + EventHandler, &FixedEventHandlerContext[i]); + + if (CheckAction == 3 && + !(OsxfNumAct = OsxfCtrlGetActOsxf(OSXF_NUM(AcpiOsWritePort), 1))) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + return (AE_ERROR); + } + TestPass++; + + if (Status != ExpectedStatus) + { + AapiErrors++; + printf ("Api Error: AcpiInstallFixedEventHandler(%d, 0x%p)" + " returned %s, expected %s\n", + Event, EventHandler, AcpiFormatException(Status), + AcpiFormatException(ExpectedStatus)); + if (Status != AE_OK) + { + return (Status); + } + else + { + return (AE_ERROR); + } + } + } + + if (CheckAction == 4) + { + for (i = 0; i < ACPI_NUM_FIXED_EVENTS; i++) + { + switch (i) + { + case 0: + Event = ACPI_EVENT_PMTIMER; + break; + case 1: + Event = ACPI_EVENT_GLOBAL; + break; + case 2: + Event = ACPI_EVENT_POWER_BUTTON; + break; + case 3: + Event = ACPI_EVENT_SLEEP_BUTTON; + break; + case 4: + Event = ACPI_EVENT_RTC; + break; + } + EventHandler = FixedEventHandlers[(i + 1) % ACPI_NUM_FIXED_EVENTS]; + + Status = AcpiInstallFixedEventHandler(Event, + EventHandler, &FixedEventHandlerContext[i]); + if (Status != AE_ALREADY_EXISTS) + { + AapiErrors++; + printf ("Error: AcpiInstallFixedEventHandler(%d, 0x%p) returned %s," + " expected %s\n", + Event, EventHandler, AcpiFormatException(Status), + AcpiFormatException(AE_ALREADY_EXISTS)); + return (AE_ERROR); + } + } + } + + if (FixedEventHandlerCounter != 0) + { + AapiErrors++; + printf ("Api Error: FixedEvent Handler invoked %d times\n", + FixedEventHandlerCounter); + return (AE_ERROR); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0009: + * + */ +ACPI_STATUS +AtFixEvTest0009(void) +{ + return (AtInstallFixedEventHandlerCommon(0, AE_OK)); +} + +/* + * ASSERTION 0010: + * + */ +ACPI_STATUS +AtFixEvTest0010(void) +{ + return (AtInstallFixedEventHandlerCommon(1, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0011: + * + */ +ACPI_STATUS +AtFixEvTest0011(void) +{ + return (AtInstallFixedEventHandlerCommon(2, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0012: + * + */ +ACPI_STATUS +AtFixEvTest0012(void) +{ + return (AtInstallFixedEventHandlerCommon(3, AE_ERROR)); +} + +/* + * ASSERTION 0013: + * + */ +ACPI_STATUS +AtFixEvTest0013(void) +{ + return (AtInstallFixedEventHandlerCommon(4, AE_ALREADY_EXISTS)); +} + +ACPI_STATUS +AtRemoveFixedEventHandlerCommon( + UINT32 CheckAction, + ACPI_STATUS ExpectedStatus) +{ + ACPI_STATUS Status; + UINT32 Event = ACPI_NUM_FIXED_EVENTS; + ACPI_EVENT_HANDLER EventHandler; + ACPI_OSXF OsxfNumAct; + UINT32 i; + + Status = AtSubsystemInit( + AAPITS_INI_DEF & ~AAPITS_INSTALL_HS, + AAPITS_EN_FLAGS | ACPI_NO_HANDLER_INIT, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + FixedEventHandlerCounter = 0; + for (i = 0; i < ACPI_NUM_FIXED_EVENTS; i++) + { + if (CheckAction == 5) + { + continue; + } + switch (i) + { + case 0: + Event = ACPI_EVENT_PMTIMER; + break; + case 1: + Event = ACPI_EVENT_GLOBAL; + break; + case 2: + Event = ACPI_EVENT_POWER_BUTTON; + break; + case 3: + Event = ACPI_EVENT_SLEEP_BUTTON; + break; + case 4: + Event = ACPI_EVENT_RTC; + break; + default: + TestErrors++; + printf ("Test Error: the number of Fixed Events (%d) too big (should be 5)\n", + ACPI_NUM_FIXED_EVENTS); + return (AE_ERROR); + } + EventHandler = FixedEventHandlers[i]; + + FixedEventHandlerContext[i] = 0; + + Status = AcpiInstallFixedEventHandler(Event, + EventHandler, &FixedEventHandlerContext[i]); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiInstallFixedEventHandler(%d) returned %s\n", + Event, AcpiFormatException(Status)); + return (Status); + } + } + + for (i = 0; i < ACPI_NUM_FIXED_EVENTS; i++) + { + switch (i) + { + case 0: + Event = ACPI_EVENT_PMTIMER; + break; + case 1: + Event = ACPI_EVENT_GLOBAL; + break; + case 2: + Event = ACPI_EVENT_POWER_BUTTON; + break; + case 3: + Event = ACPI_EVENT_SLEEP_BUTTON; + break; + case 4: + Event = ACPI_EVENT_RTC; + break; + } + EventHandler = FixedEventHandlers[i]; + + if (CheckAction == 1) + { + Event += ACPI_NUM_FIXED_EVENTS; + } + else if (CheckAction == 2) + { + EventHandler = NULL; + } + else if (CheckAction == 3) + { + /* + * initiate the situation when fixed event + * enable register can not be written + */ + Status = OsxfCtrlSet(OSXF_NUM(AcpiOsWritePort), 1, + AtActD_OneTime, AtActRet_ERROR); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: OsxfCtrlSet returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + } + else if (CheckAction == 4) + { + EventHandler = FixedEventHandlers[(i + 2) % ACPI_NUM_FIXED_EVENTS]; + } + + Status = AcpiRemoveFixedEventHandler(Event, EventHandler); + + if (CheckAction == 3 && + !(OsxfNumAct = OsxfCtrlGetActOsxf(OSXF_NUM(AcpiOsWritePort), 1))) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + return (AE_ERROR); + } + TestPass++; + + if (Status != ExpectedStatus) + { + AapiErrors++; + printf ("Api Error: AcpiRemoveFixedEventHandler(%d, 0x%p)" + " returned %s, expected %s\n", + Event, EventHandler, AcpiFormatException(Status), + AcpiFormatException(ExpectedStatus)); + if (Status != AE_OK) + { + return (Status); + } + else + { + return (AE_ERROR); + } + } + } + + if (FixedEventHandlerCounter != 0) + { + AapiErrors++; + printf ("Api Error: FixedEvent Handler invoked %d times\n", + FixedEventHandlerCounter); + return (AE_ERROR); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0014: + * + */ +ACPI_STATUS +AtFixEvTest0014(void) +{ + return (AtRemoveFixedEventHandlerCommon(0, AE_OK)); +} + +/* + * ASSERTION 0015: + * + */ +ACPI_STATUS +AtFixEvTest0015(void) +{ + return (AtRemoveFixedEventHandlerCommon(1, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0016: + * + */ +ACPI_STATUS +AtFixEvTest0016(void) +{ + return (AtRemoveFixedEventHandlerCommon(2, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0017: + * + */ +ACPI_STATUS +AtFixEvTest0017(void) +{ + return (AtRemoveFixedEventHandlerCommon(3, AE_ERROR)); +} + +/* + * ASSERTION 0018: + * + */ +ACPI_STATUS +AtFixEvTest0018(void) +{ + return (AtRemoveFixedEventHandlerCommon(4, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0019: + * + */ +ACPI_STATUS +AtFixEvTest0019(void) +{ + return (AtRemoveFixedEventHandlerCommon(5, AE_NOT_EXIST)); +} diff --git a/tests/aapits/atfixedevent.h b/tests/aapits/atfixedevent.h new file mode 100644 index 0000000..53d3363 --- /dev/null +++ b/tests/aapits/atfixedevent.h @@ -0,0 +1,33 @@ +/****************************************************************************** + * + * Module Name: atfixedevent - predefinitions of tests of the test case + * + *****************************************************************************/ + +#ifndef _ATFIXEDEVENT +#define _ATFIXEDEVENT + +AT_TEST AtFixEvTest0000; +AT_TEST AtFixEvTest0001; +AT_TEST AtFixEvTest0002; +AT_TEST AtFixEvTest0003; +AT_TEST AtFixEvTest0004; +AT_TEST AtFixEvTest0005; +AT_TEST AtFixEvTest0006; +AT_TEST AtFixEvTest0007; +AT_TEST AtFixEvTest0008; +AT_TEST AtFixEvTest0009; +AT_TEST AtFixEvTest0010; +AT_TEST AtFixEvTest0011; +AT_TEST AtFixEvTest0012; +AT_TEST AtFixEvTest0013; +AT_TEST AtFixEvTest0014; +AT_TEST AtFixEvTest0015; +AT_TEST AtFixEvTest0016; +AT_TEST AtFixEvTest0017; +AT_TEST AtFixEvTest0018; +AT_TEST AtFixEvTest0019; + +#define AT_FEVM_TEST_NUM 20 + +#endif /* _ATFIXEDEVENT */ diff --git a/tests/aapits/atgpe.c b/tests/aapits/atgpe.c new file mode 100644 index 0000000..f2a2a6f --- /dev/null +++ b/tests/aapits/atgpe.c @@ -0,0 +1,1370 @@ +/****************************************************************************** + * + * Module Name: atgpe - ACPICA General Purpose Event Management API tests + * + *****************************************************************************/ + + +#include "atcommon.h" +#include "atgpe.h" +#include "atosxfctrl.h" + +#define _COMPONENT ACPI_TOOLS + ACPI_MODULE_NAME ("atgpe") + +static ACPI_GENERIC_ADDRESS GpeBlockAddress = { + /* Address space where struct or register exists */ + ACPI_ADR_SPACE_SYSTEM_MEMORY, + 0x20, /* Size in bits of given register */ + 0x00, /* Bit offset within the register */ + 0x01, /* Minimum Access size (ACPI 3.0) */ + 0x80, /* 64-bit address of struct or register) */ +}; + +static UINT32 RegisterCount = 0x08; +static UINT32 InterruptNumber = 0x40; + +ACPI_STATUS +AtInstallGpeBlockCommon( + UINT32 CheckAction, + ACPI_STATUS ExpectedStatus) +{ + ACPI_STATUS Status; + ACPI_STRING Pathname = "\\DGPE"; + ACPI_HANDLE GpeDevice; + ACPI_GENERIC_ADDRESS *GpeBlockAddressPointer = &GpeBlockAddress; + UINT32 RegisterCountLocal = RegisterCount; + UINT32 InterruptNumber = 0xD; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("gpev0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (CheckAction == 1) + { + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_LOAD))) + { + return (Status); + } + Pathname = "\\AUX2.DEV0"; + } + + if (CheckAction == 2) + { + Pathname = "\\NGPE"; + } + + Status = AcpiGetHandle (NULL, Pathname, &GpeDevice); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + if (CheckAction == 1) + { + /* Make Device handle invalid by unloading SSDT table*/ + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_UNLOAD))) + { + return (Status); + } + } + else if (CheckAction == 3) + { + GpeBlockAddressPointer = NULL; + } + else if (CheckAction == 4) + { + RegisterCountLocal = 0; + } + + Status = AcpiInstallGpeBlock (GpeDevice, GpeBlockAddressPointer, + RegisterCountLocal, InterruptNumber); + if (Status != ExpectedStatus) + { + AapiErrors++; + printf ("Api Error: AcpiInstallGpeBlock(%s) returned %s, expected %s\n", + Pathname, AcpiFormatException(Status), + AcpiFormatException(ExpectedStatus)); + if (Status != AE_OK) + { + return (Status); + } + else + { + return (AE_ERROR); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0000: + */ +ACPI_STATUS +AtGpeTest0000(void) +{ + return (AtInstallGpeBlockCommon(0, AE_OK)); +} + +/* + * ASSERTION 0001: + */ +ACPI_STATUS +AtGpeTest0001(void) +{ + return (AtInstallGpeBlockCommon(1, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0002: + */ +ACPI_STATUS +AtGpeTest0002(void) +{ + return (AtInstallGpeBlockCommon(2, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0003: + */ +ACPI_STATUS +AtGpeTest0003(void) +{ + return (AtInstallGpeBlockCommon(3, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0004: + */ +ACPI_STATUS +AtGpeTest0004(void) +{ + return (AtInstallGpeBlockCommon(4, AE_BAD_PARAMETER)); +} + +ACPI_STATUS +AtInstallGpeBlockExceptionTest( + ACPI_OSXF OsxfNum, + AT_ACTD_FLAG ActFlag, + UINT32 ActCode, + UINT32 TFst, + ACPI_STATUS Benchmark) +{ + ACPI_STATUS Status; + ACPI_OSXF OsxfNumAct; + UINT32 Continue_Cond = 1; + UINT32 TMax = 10000; + UINT32 i; + ACPI_STRING Pathname = "\\DGPE"; + ACPI_HANDLE GpeDevice; + + for (i = TFst; (i < TMax) && Continue_Cond; i++) + { + printf ("AtWalkNamespaceExceptionTest: i = %d\n", i); + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &GpeDevice); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + Status = OsxfCtrlSet(OsxfNum, i, ActFlag, ActCode); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: OsxfCtrlSet returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiInstallGpeBlock (GpeDevice, &GpeBlockAddress, + RegisterCount, InterruptNumber); + + if (!(OsxfNumAct = OsxfCtrlGetActOsxf(OsxfNum, 1))) + { + if (i == TFst) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + } + TestPass++; + Continue_Cond = 0; + } + else + { + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiInstallGpeBlock returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + + Status = AtTerminateCtrlCheck(AE_OK, ALL_STAT); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + if (i >= TMax) + { + TestErrors++; + printf ("Test error: there are test cases remained\n"); + return (AE_ERROR); + } + + return (AE_OK); +} + +/* + * ASSERTION 0005: + */ +ACPI_STATUS +AtGpeTest0005(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("gpev0000.aml"))) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + + Status = AtInstallGpeBlockExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + + Status = AtInstallGpeBlockExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + +ACPI_STATUS +AtRemoveGpeBlockCommon( + UINT32 CheckAction, + ACPI_STATUS ExpectedStatus) +{ + ACPI_STATUS Status; + ACPI_STRING Pathname = "\\DGPE"; + ACPI_HANDLE GpeDevice; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("gpev0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (CheckAction == 1) + { + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_LOAD))) + { + return (Status); + } + Pathname = "\\AUX2.DEV0"; + } + + Status = AcpiGetHandle (NULL, Pathname, &GpeDevice); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiInstallGpeBlock (GpeDevice, &GpeBlockAddress, + RegisterCount, InterruptNumber); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiInstallGpeBlock(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + if (CheckAction == 1) + { + /* Make Device handle invalid by unloading SSDT table*/ + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_UNLOAD))) + { + return (Status); + } + } + else if (CheckAction == 2) + { + Pathname = "\\NGPE"; + } + + Status = AcpiRemoveGpeBlock (GpeDevice); + if (Status != ExpectedStatus) + { + AapiErrors++; + printf ("Api Error: AcpiInstallGpeBlock(%s) returned %s, expected %s\n", + Pathname, AcpiFormatException(Status), + AcpiFormatException(ExpectedStatus)); + if (Status != AE_OK) + { + return (Status); + } + else + { + return (AE_ERROR); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0006: + */ +ACPI_STATUS +AtGpeTest0006(void) +{ + return (AtRemoveGpeBlockCommon(0, AE_OK)); +} + +/* + * ASSERTION 0007: + */ +ACPI_STATUS +AtGpeTest0007(void) +{ + return (AtRemoveGpeBlockCommon(1, AE_BAD_PARAMETER)); +} + +ACPI_STATUS +AtGpeCommon( + ACPI_STRING Pathname, + UINT32 GpeNumber[], + UINT8 GpeType[], + UINT32 GpeCount, + UINT32 ApiCall, + UINT32 CheckAction, + ACPI_STATUS ExpectedStatus) +{ + ACPI_STATUS Status; + ACPI_HANDLE GpeDevice = NULL; + UINT32 Gpe; + UINT32 i; + char *ApiCallName; + ACPI_EVENT_STATUS GpeStatus, *GpeStatusPointer = &GpeStatus; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("gpev0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (CheckAction == 1) + { + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_LOAD))) + { + return (Status); + } + Pathname = "\\AUX2.DEV0"; + } + + if (Pathname) + { + Status = AcpiGetHandle (NULL, Pathname, &GpeDevice); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + if (CheckAction != 2) + { + Status = AcpiInstallGpeBlock (GpeDevice, &GpeBlockAddress, + RegisterCount, InterruptNumber); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiInstallGpeBlock(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + } + } + +#if 0 +/* OBSOLETE interface, AcpiSetGpeType */ + + if (CheckAction != 2 && ApiCall != 0) + { + for (i = 0; i < GpeCount; i++) + { + Gpe = GpeNumber[i]; + Type = GpeType[i]; + + Status = AcpiSetGpeType(GpeDevice, Gpe, Type); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiSetGpeType(0x%x, 0x%x) returned %s\n", + Gpe, (UINT32)Type, AcpiFormatException(Status)); + return (Status); + } + } + } +#endif + + + if (CheckAction == 1) + { + /* Make Device handle invalid by unloading SSDT table*/ + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_UNLOAD))) + { + return (Status); + } + } + + for (i = 0; i < GpeCount; i++) + { + Gpe = GpeNumber[i]; + + if (CheckAction == 3) + { + Gpe += 256; + } + else if (CheckAction == 5) + { + GpeStatusPointer = NULL; + } + + switch (ApiCall) + { + case 0: + ApiCallName = "AcpiSetGpeType"; +#if 0 +/* OBSOLETE INTERFACE */ + Status = AcpiSetGpeType(GpeDevice, Gpe, Type); +#endif + Status = AE_OK; + break; + case 1: + ApiCallName = "AcpiEnableGpe"; + Status = AcpiEnableGpe(GpeDevice, Gpe); + break; + case 2: + ApiCallName = "AcpiClearGpe"; + Status = AcpiClearGpe(GpeDevice, Gpe); + break; + case 3: + ApiCallName = "AcpiGetGpeStatus"; + Status = AcpiGetGpeStatus(GpeDevice, Gpe, GpeStatusPointer); + break; + case 4: + ApiCallName = "AcpiDisableGpe"; + Status = AcpiDisableGpe(GpeDevice, Gpe); + break; + default: + TestErrors++; + printf ("Test Error: the ApiCall number (%d) should be in range 0-4\n", + ApiCall); + return (AE_ERROR); + } + + if (Status != ExpectedStatus) + { + AapiErrors++; + printf ("Api Error: %s(%d) returned %s, expected %s\n", + ApiCallName, Gpe, AcpiFormatException(Status), + AcpiFormatException(ExpectedStatus)); + if (Status != AE_OK) + { + return (Status); + } + else + { + return (AE_ERROR); + } + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +static UINT32 GpeNumber[] = {0, 7, 8, 15, 16, 31, 63}; + +#if 0 +/* OBSOLETE */ +static UINT8 GpeType[] = { + ACPI_GPE_TYPE_WAKE, + ACPI_GPE_TYPE_RUNTIME, + ACPI_GPE_TYPE_WAKE_RUN, + ACPI_GPE_TYPE_WAKE, + ACPI_GPE_TYPE_RUNTIME, + ACPI_GPE_TYPE_WAKE_RUN, + ACPI_GPE_TYPE_WAKE}; +#endif + +static UINT8 GpeEolType[] = { + ACPI_GPE_LEVEL_TRIGGERED, + ACPI_GPE_EDGE_TRIGGERED, + ACPI_GPE_LEVEL_TRIGGERED, + ACPI_GPE_EDGE_TRIGGERED, + ACPI_GPE_LEVEL_TRIGGERED, + ACPI_GPE_EDGE_TRIGGERED, + ACPI_GPE_LEVEL_TRIGGERED}; + +/* + * ASSERTION 0008: + */ +ACPI_STATUS +AtGpeTest0008(void) +{ + return (AtGpeCommon(NULL, GpeNumber, NULL, + sizeof (GpeNumber) / sizeof (UINT32), + 0 /* SetGpeType */, 0, AE_OK)); +} + +/* + * ASSERTION 0009: + */ +ACPI_STATUS +AtGpeTest0009(void) +{ + return (AtGpeCommon("\\DGPE", GpeNumber, NULL, + sizeof (GpeNumber) / sizeof (UINT32), + 0 /* SetGpeType */, 0, AE_OK)); +} + +/* + * ASSERTION 0010: + */ +ACPI_STATUS +AtGpeTest0010(void) +{ + return (AtGpeCommon("\\DGPE", GpeNumber, NULL, + sizeof (GpeNumber) / sizeof (UINT32), + 0 /* SetGpeType */, 1, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0011: + */ +ACPI_STATUS +AtGpeTest0011(void) +{ + return (AtGpeCommon("\\DGPE", GpeNumber, NULL, + sizeof (GpeNumber) / sizeof (UINT32), + 0 /* SetGpeType */, 2, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0012: + */ +ACPI_STATUS +AtGpeTest0012(void) +{ + return (AtGpeCommon("\\DGPE", GpeNumber, NULL, + sizeof (GpeNumber) / sizeof (UINT32), + 0 /* SetGpeType */, 3, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0013: + */ +ACPI_STATUS +AtGpeTest0013(void) +{ + return (AtGpeCommon("\\DGPE", GpeNumber, NULL, + sizeof (GpeNumber) / sizeof (UINT32), + 0 /* SetGpeType */, 4, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0014: + */ +ACPI_STATUS +AtGpeTest0014(void) +{ + return (AtGpeCommon(NULL, GpeNumber, NULL, + sizeof (GpeNumber) / sizeof (UINT32), + 1 /* EnableGpe */, 0, AE_OK)); +} + +/* + * ASSERTION 0015: + */ +ACPI_STATUS +AtGpeTest0015(void) +{ + return (AtGpeCommon("\\DGPE", GpeNumber, NULL, + sizeof (GpeNumber) / sizeof (UINT32), + 1 /* EnableGpe */, 0, AE_OK)); +} + +/* + * ASSERTION 0016: + */ +ACPI_STATUS +AtGpeTest0016(void) +{ + return (AtGpeCommon("\\DGPE", GpeNumber, NULL, + sizeof (GpeNumber) / sizeof (UINT32), + 1 /* EnableGpe */, 1, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0017: + */ +ACPI_STATUS +AtGpeTest0017(void) +{ + return (AtGpeCommon("\\DGPE", GpeNumber, NULL, + sizeof (GpeNumber) / sizeof (UINT32), + 1 /* EnableGpe */, 2, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0018: + */ +ACPI_STATUS +AtGpeTest0018(void) +{ + return (AtGpeCommon("\\DGPE", GpeNumber, NULL, + sizeof (GpeNumber) / sizeof (UINT32), + 1 /* EnableGpe */, 3, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0019: + */ +ACPI_STATUS +AtGpeTest0019(void) +{ + return (AtGpeCommon(NULL, GpeNumber, NULL, + sizeof (GpeNumber) / sizeof (UINT32), + 2 /* ClearGpe */, 0, AE_OK)); +} + +/* + * ASSERTION 0020: + */ +ACPI_STATUS +AtGpeTest0020(void) +{ + return (AtGpeCommon("\\DGPE", GpeNumber, NULL, + sizeof (GpeNumber) / sizeof (UINT32), + 2 /* ClearGpe */, 0, AE_OK)); +} + +/* + * ASSERTION 0021: + */ +ACPI_STATUS +AtGpeTest0021(void) +{ + return (AtGpeCommon("\\DGPE", GpeNumber, NULL, + sizeof (GpeNumber) / sizeof (UINT32), + 2 /* ClearGpe */, 1, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0022: + */ +ACPI_STATUS +AtGpeTest0022(void) +{ + return (AtGpeCommon("\\DGPE", GpeNumber, NULL, + sizeof (GpeNumber) / sizeof (UINT32), + 2 /* ClearGpe */, 2, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0023: + */ +ACPI_STATUS +AtGpeTest0023(void) +{ + return (AtGpeCommon("\\DGPE", GpeNumber, NULL, + sizeof (GpeNumber) / sizeof (UINT32), + 2 /* ClearGpe */, 3, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0024: + */ +ACPI_STATUS +AtGpeTest0024(void) +{ + return (AtGpeCommon(NULL, GpeNumber, NULL, + sizeof (GpeNumber) / sizeof (UINT32), + 3 /* GetGpeStatus */, 0, AE_OK)); +} + +/* + * ASSERTION 0025: + */ +ACPI_STATUS +AtGpeTest0025(void) +{ + return (AtGpeCommon("\\DGPE", GpeNumber, NULL, + sizeof (GpeNumber) / sizeof (UINT32), + 3 /* GetGpeStatus */, 0, AE_OK)); +} + +/* + * ASSERTION 0026: + */ +ACPI_STATUS +AtGpeTest0026(void) +{ + return (AtGpeCommon("\\DGPE", GpeNumber, NULL, + sizeof (GpeNumber) / sizeof (UINT32), + 3 /* GetGpeStatus */, 1, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0027: + */ +ACPI_STATUS +AtGpeTest0027(void) +{ + return (AtGpeCommon("\\DGPE", GpeNumber, NULL, + sizeof (GpeNumber) / sizeof (UINT32), + 3 /* GetGpeStatus */, 2, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0028: + */ +ACPI_STATUS +AtGpeTest0028(void) +{ + return (AtGpeCommon("\\DGPE", GpeNumber, NULL, + sizeof (GpeNumber) / sizeof (UINT32), + 3 /* GetGpeStatus */, 3, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0029: + */ +ACPI_STATUS +AtGpeTest0029(void) +{ + return (AtGpeCommon("\\DGPE", GpeNumber, NULL, + sizeof (GpeNumber) / sizeof (UINT32), + 3 /* GetGpeStatus */, 5, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0030: + */ +ACPI_STATUS +AtGpeTest0030(void) +{ + return (AtGpeCommon(NULL, GpeNumber, NULL, + sizeof (GpeNumber) / sizeof (UINT32), + 4 /* DisableGpe */, 0, AE_OK)); +} + +/* + * ASSERTION 0031: + */ +ACPI_STATUS +AtGpeTest0031(void) +{ + return (AtGpeCommon("\\DGPE", GpeNumber, NULL, + sizeof (GpeNumber) / sizeof (UINT32), + 4 /* DisableGpe */, 0, AE_OK)); +} + +/* + * ASSERTION 0032: + */ +ACPI_STATUS +AtGpeTest0032(void) +{ + return (AtGpeCommon("\\DGPE", GpeNumber, NULL, + sizeof (GpeNumber) / sizeof (UINT32), + 4 /* DisableGpe */, 1, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0033: + */ +ACPI_STATUS +AtGpeTest0033(void) +{ + return (AtGpeCommon("\\DGPE", GpeNumber, NULL, + sizeof (GpeNumber) / sizeof (UINT32), + 4 /* DisableGpe */, 2, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0034: + */ +ACPI_STATUS +AtGpeTest0034(void) +{ + return (AtGpeCommon("\\DGPE", GpeNumber, NULL, + sizeof (GpeNumber) / sizeof (UINT32), + 4 /* DisableGpe */, 3, AE_BAD_PARAMETER)); +} + +#define AT_NUM_GPE_EVENTS 5 +static UINT32 GpeHandlerCounter; +static UINT32 GpeHandlerContext[AT_NUM_GPE_EVENTS]; + +UINT32 +AtGpeHandler0 ( + ACPI_HANDLE GpeDevice, + UINT32 GpeNumber, + void *Context) +{ + UINT32 HandlerId = 0; + + printf ("AtGpeHandler%d: Context %p\n", HandlerId, Context); + ++GpeHandlerCounter; + + if ((UINT32 *)Context - GpeHandlerContext > AT_NUM_GPE_EVENTS) { + AapiErrors++; + printf ("AtGpeHandler: Context (0x%p) is out of" + " GpeHandlerContext (0x%p: %d)\n", + Context, GpeHandlerContext, AT_NUM_GPE_EVENTS); + } + + return (0); +} + +UINT32 +AtGpeHandler1 ( + ACPI_HANDLE GpeDevice, + UINT32 GpeNumber, + void *Context) +{ + UINT32 HandlerId = 1; + + printf ("AtGpeHandler%d: Context %p\n", HandlerId, Context); + ++GpeHandlerCounter; + + if ((UINT32 *)Context - GpeHandlerContext > AT_NUM_GPE_EVENTS) { + AapiErrors++; + printf ("AtGpeHandler: Context (0x%p) is out of" + " GpeHandlerContext (0x%p: %d)\n", + Context, GpeHandlerContext, AT_NUM_GPE_EVENTS); + } + + return (0); +} + +UINT32 +AtGpeHandler2 ( + ACPI_HANDLE GpeDevice, + UINT32 GpeNumber, + void *Context) +{ + UINT32 HandlerId = 2; + + printf ("AtGpeHandler%d: Context %p\n", HandlerId, Context); + ++GpeHandlerCounter; + + if ((UINT32 *)Context - GpeHandlerContext > AT_NUM_GPE_EVENTS) { + AapiErrors++; + printf ("AtGpeHandler: Context (0x%p) is out of" + " GpeHandlerContext (0x%p: %d)\n", + Context, GpeHandlerContext, AT_NUM_GPE_EVENTS); + } + + return (0); +} + +static ACPI_GPE_HANDLER GpeHandlers[AT_NUM_GPE_EVENTS] = { + AtGpeHandler0, AtGpeHandler0, + AtGpeHandler1, AtGpeHandler1, + AtGpeHandler2}; + +ACPI_STATUS +AtInstallGpeHandlerCommon( + UINT32 CheckAction, + ACPI_STATUS ExpectedStatus) +{ + ACPI_STATUS Status; + ACPI_STRING Pathname = "\\DGPE"; + ACPI_HANDLE GpeDevice = NULL; + UINT32 Gpe; + UINT8 EolType; + ACPI_GPE_HANDLER EventHandler; + UINT32 i; + UINT32 InitStages = AAPITS_INI_DEF & ~AAPITS_INSTALL_HS; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("gpev0000.aml"))) + { + return (Status); + } + + if (CheckAction == 1) + { + InitStages |= AAPITS_INSTALL_HS; + } + + Status = AtSubsystemInit( + InitStages, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (CheckAction == 1) + { + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_LOAD))) + { + return (Status); + } + Pathname = "\\AUX2.DEV0"; + } + + Status = AcpiGetHandle (NULL, Pathname, &GpeDevice); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + if (CheckAction != 2) + { + Status = AcpiInstallGpeBlock (GpeDevice, &GpeBlockAddress, + RegisterCount, InterruptNumber); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiInstallGpeBlock(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + } + + if (CheckAction == 1) + { + /* Make Device handle invalid by unloading SSDT table*/ + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_UNLOAD))) + { + return (Status); + } + } + else if (CheckAction == 5) + { + if (ExpectedStatus != AE_ALREADY_EXISTS) + { + TestErrors++; + printf ("Test Error: ExpectedStatus %s != AE_ALREADY_EXISTS\n", + AcpiFormatException(ExpectedStatus)); + return (AE_ERROR); + } + ExpectedStatus = AE_OK; + } + + GpeHandlerCounter = 0; + for (i = 0; i < AT_NUM_GPE_EVENTS; i++) + { + Gpe = GpeNumber[i]; + EolType = GpeEolType[i]; + EventHandler = GpeHandlers[i]; + + if (CheckAction == 3) + { + Gpe += 256; + } + else if (CheckAction == 4) + { + EventHandler = NULL; + } + + GpeHandlerContext[i] = 0; + + Status = AcpiInstallGpeHandler(GpeDevice, Gpe, EolType, + EventHandler, &GpeHandlerContext[i]); + + if (Status != ExpectedStatus) + { + AapiErrors++; + printf ("Api Error: AcpiInstallGpeHandler(%d, 0x%x, 0x%p)" + " returned %s, expected %s\n", + Gpe, EolType, EventHandler, AcpiFormatException(Status), + AcpiFormatException(ExpectedStatus)); + if (Status != AE_OK) + { + return (Status); + } + else + { + return (AE_ERROR); + } + } + } + + if (CheckAction == 5) + { + for (i = 0; i < AT_NUM_GPE_EVENTS; i++) + { + Gpe = GpeNumber[i]; + EolType = GpeEolType[i]; + EventHandler = GpeHandlers[(i + 1) % AT_NUM_GPE_EVENTS]; + + Status = AcpiInstallGpeHandler(GpeDevice, Gpe, EolType, + EventHandler, &GpeHandlerContext[i]); + if (Status != AE_ALREADY_EXISTS) + { + AapiErrors++; + printf ("Error: AcpiInstallGpeHandler(%d, 0x%x, 0x%p) returned %s," + " expected %s\n", + Gpe, EolType, EventHandler, AcpiFormatException(Status), + AcpiFormatException(AE_ALREADY_EXISTS)); + return (AE_ERROR); + } + } + } + + if (GpeHandlerCounter != 0) + { + AapiErrors++; + printf ("Api Error: Gpe Handler invoked %d times\n", + GpeHandlerCounter); + return (AE_ERROR); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0035: + * + */ +ACPI_STATUS +AtGpeTest0035(void) +{ + return (AtInstallGpeHandlerCommon(0, AE_OK)); +} + +/* + * ASSERTION 0036: + * + */ +ACPI_STATUS +AtGpeTest0036(void) +{ + return (AtInstallGpeHandlerCommon(1, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0037: + * + */ +ACPI_STATUS +AtGpeTest0037(void) +{ + return (AtInstallGpeHandlerCommon(2, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0038: + * + */ +ACPI_STATUS +AtGpeTest0038(void) +{ + return (AtInstallGpeHandlerCommon(3, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0039: + * + */ +ACPI_STATUS +AtGpeTest0039(void) +{ + return (AtInstallGpeHandlerCommon(4, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0040: + * + */ +ACPI_STATUS +AtGpeTest0040(void) +{ + return (AtInstallGpeHandlerCommon(5, AE_ALREADY_EXISTS)); +} + +ACPI_STATUS +AtRemoveGpeHandlerCommon( + UINT32 CheckAction, + ACPI_STATUS ExpectedStatus) +{ + ACPI_STATUS Status; + ACPI_STRING Pathname = "\\DGPE"; + ACPI_HANDLE GpeDevice = NULL; + UINT32 Gpe; + UINT8 EolType; + ACPI_GPE_HANDLER EventHandler; + UINT32 i; + UINT32 InitStages = AAPITS_INI_DEF & ~AAPITS_INSTALL_HS; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("gpev0000.aml"))) + { + return (Status); + } + + if (CheckAction == 1) + { + InitStages |= AAPITS_INSTALL_HS; + } + + Status = AtSubsystemInit( + InitStages, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (CheckAction == 1) + { + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_LOAD))) + { + return (Status); + } + Pathname = "\\AUX2.DEV0"; + } + + Status = AcpiGetHandle (NULL, Pathname, &GpeDevice); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + GpeHandlerCounter = 0; + + if (CheckAction != 2) + { + Status = AcpiInstallGpeBlock (GpeDevice, &GpeBlockAddress, + RegisterCount, InterruptNumber); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiInstallGpeBlock(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + if (CheckAction != 6) + { + for (i = 0; i < AT_NUM_GPE_EVENTS; i++) + { + Gpe = GpeNumber[i]; + EolType = GpeEolType[i]; + EventHandler = GpeHandlers[i]; + GpeHandlerContext[i] = 0; + + Status = AcpiInstallGpeHandler(GpeDevice, Gpe, EolType, + EventHandler, &GpeHandlerContext[i]); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Error: AcpiInstallGpeHandler(%d, 0x%x, 0x%p) returned %s\n", + Gpe, EolType, EventHandler, AcpiFormatException(Status)); + return (Status); + } + } + } + } + + if (CheckAction == 1) + { + /* Make Device handle invalid by unloading SSDT table*/ + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_UNLOAD))) + { + return (Status); + } + } + + for (i = 0; i < AT_NUM_GPE_EVENTS; i++) + { + Gpe = GpeNumber[i]; + EolType = GpeEolType[i]; + EventHandler = GpeHandlers[i]; + + if (CheckAction == 3) + { + Gpe += 256; + } + else if (CheckAction == 4) + { + EventHandler = NULL; + } + else if (CheckAction == 5) + { + EventHandler = GpeHandlers[(i + 2) % AT_NUM_GPE_EVENTS]; + } + + Status = AcpiRemoveGpeHandler(GpeDevice, Gpe, EventHandler); + + if (Status != ExpectedStatus) + { + AapiErrors++; + printf ("Api Error: AcpiRemoveGpeHandler(%d, 0x%p)" + " returned %s, expected %s\n", + Gpe, EventHandler, AcpiFormatException(Status), + AcpiFormatException(ExpectedStatus)); + if (Status != AE_OK) + { + return (Status); + } + else + { + return (AE_ERROR); + } + } + } + + if (GpeHandlerCounter != 0) + { + AapiErrors++; + printf ("Api Error: Gpe Handler invoked %d times\n", + GpeHandlerCounter); + return (AE_ERROR); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0041: + * + */ +ACPI_STATUS +AtGpeTest0041(void) +{ + return (AtRemoveGpeHandlerCommon(0, AE_OK)); +} + +/* + * ASSERTION 0042: + * + */ +ACPI_STATUS +AtGpeTest0042(void) +{ + return (AtRemoveGpeHandlerCommon(1, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0043: + * + */ +ACPI_STATUS +AtGpeTest0043(void) +{ + return (AtRemoveGpeHandlerCommon(2, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0044: + * + */ +ACPI_STATUS +AtGpeTest0044(void) +{ + return (AtRemoveGpeHandlerCommon(3, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0045: + * + */ +ACPI_STATUS +AtGpeTest0045(void) +{ + return (AtRemoveGpeHandlerCommon(4, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0046: + * + */ +ACPI_STATUS +AtGpeTest0046(void) +{ + return (AtRemoveGpeHandlerCommon(5, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0047: + * + */ +ACPI_STATUS +AtGpeTest0047(void) +{ + return (AtRemoveGpeHandlerCommon(6, AE_NOT_EXIST)); +} diff --git a/tests/aapits/atgpe.h b/tests/aapits/atgpe.h new file mode 100644 index 0000000..e71703d --- /dev/null +++ b/tests/aapits/atgpe.h @@ -0,0 +1,61 @@ +/****************************************************************************** + * + * Module Name: atgpe - predefinitions of tests of the test case + * + *****************************************************************************/ + +#ifndef _ATGPE +#define _ATGPE + +AT_TEST AtGpeTest0000; +AT_TEST AtGpeTest0001; +AT_TEST AtGpeTest0002; +AT_TEST AtGpeTest0003; +AT_TEST AtGpeTest0004; +AT_TEST AtGpeTest0005; +AT_TEST AtGpeTest0006; +AT_TEST AtGpeTest0007; +AT_TEST AtGpeTest0008; +AT_TEST AtGpeTest0009; +AT_TEST AtGpeTest0010; +AT_TEST AtGpeTest0011; +AT_TEST AtGpeTest0012; +AT_TEST AtGpeTest0013; +AT_TEST AtGpeTest0014; +AT_TEST AtGpeTest0015; +AT_TEST AtGpeTest0016; +AT_TEST AtGpeTest0017; +AT_TEST AtGpeTest0018; +AT_TEST AtGpeTest0019; +AT_TEST AtGpeTest0020; +AT_TEST AtGpeTest0021; +AT_TEST AtGpeTest0022; +AT_TEST AtGpeTest0023; +AT_TEST AtGpeTest0024; +AT_TEST AtGpeTest0025; +AT_TEST AtGpeTest0026; +AT_TEST AtGpeTest0027; +AT_TEST AtGpeTest0028; +AT_TEST AtGpeTest0029; +AT_TEST AtGpeTest0030; +AT_TEST AtGpeTest0031; +AT_TEST AtGpeTest0032; +AT_TEST AtGpeTest0033; +AT_TEST AtGpeTest0034; +AT_TEST AtGpeTest0035; +AT_TEST AtGpeTest0036; +AT_TEST AtGpeTest0037; +AT_TEST AtGpeTest0038; +AT_TEST AtGpeTest0039; +AT_TEST AtGpeTest0040; +AT_TEST AtGpeTest0041; +AT_TEST AtGpeTest0042; +AT_TEST AtGpeTest0043; +AT_TEST AtGpeTest0044; +AT_TEST AtGpeTest0045; +AT_TEST AtGpeTest0046; +AT_TEST AtGpeTest0047; + +#define AT_GPEM_TEST_NUM 48 + +#endif /* _ATGPE */ diff --git a/tests/aapits/athandlers.c b/tests/aapits/athandlers.c new file mode 100644 index 0000000..2c32354 --- /dev/null +++ b/tests/aapits/athandlers.c @@ -0,0 +1,3073 @@ +/****************************************************************************** + * + * Module Name: atgpe - ACPICA Miscellaneous Handler Support API tests + * + *****************************************************************************/ + +#include "atcommon.h" +#include "athandlers.h" +#include "atosxfctrl.h" + +#define _COMPONENT ACPI_TOOLS + ACPI_MODULE_NAME ("athandlers") + + +#define AT_NUM_NOTIFY_TYPES 2 +#define AT_MAX_NUM_NOTIFY 10 + +typedef struct at_notify_test_data +{ + UINT32 InstallFlag; + ACPI_STRING Pathname; + ACPI_HANDLE Object; + UINT32 NotifyHandlerNum; + ACPI_NOTIFY_HANDLER Handler[AT_NUM_NOTIFY_TYPES]; + UINT32 HandlerType[AT_NUM_NOTIFY_TYPES]; + UINT32 Context[AT_NUM_NOTIFY_TYPES]; + UINT32 NumNotify; + UINT32 HandlerId[AT_MAX_NUM_NOTIFY]; + UINT32 NotifyValue[AT_MAX_NUM_NOTIFY]; + UINT32 NotifyCount[AT_MAX_NUM_NOTIFY]; +} AT_NOTIFY_TEST_DATA; + +typedef struct at_notify_handler_test_data +{ + UINT32 NumData; + AT_NOTIFY_TEST_DATA *TestData; +} AT_NOTIFY_HANDLER_TEST_DATA; + +static UINT32 NotifyHandlerCounter; +static UINT32 NotifyHandlerMissCounter; + +static AT_NOTIFY_HANDLER_TEST_DATA NotifyHandlerTestData; + +#define DEF_NOTIFY_HANDLER(Hid) \ +void \ +AtNotifyHandler##Hid (\ + ACPI_HANDLE Device,\ + UINT32 Value,\ + void *Context)\ +{\ + UINT32 HandlerId = Hid;\ + UINT32 i, j;\ + AT_NOTIFY_TEST_DATA *TestData;\ +\ + ++NotifyHandlerCounter;\ +\ + printf ("AtNotifyHandler%d %d: Device 0x%p, Value 0x%x, Context 0x%p\n",\ + HandlerId, NotifyHandlerCounter, Device, Value, Context);\ +\ + for (i = 0; i < NotifyHandlerTestData.NumData; i++)\ + {\ + TestData = &NotifyHandlerTestData.TestData[i];\ + if (Device == TestData->Object)\ + {\ + if ((UINT32 *)Context - TestData->Context > AT_NUM_NOTIFY_TYPES) {\ + AapiErrors++;\ + printf ("AtNotifyHandler%d: Context (0x%p) is out of"\ + " NotifyHandlerContext (0x%p: %d)\n",\ + HandlerId, Context, TestData->Context, AT_NUM_NOTIFY_TYPES);\ + }\ + for (j = 0; j < TestData->NumNotify; j++) {\ + if (HandlerId == TestData->HandlerId[j] &&\ + Value == TestData->NotifyValue[j])\ + {\ + TestData->NotifyCount[j]++;\ + return;\ + }\ + }\ +\ + }\ + }\ +\ + ++NotifyHandlerMissCounter;\ +\ + return;\ +} + +DEF_NOTIFY_HANDLER(0) +DEF_NOTIFY_HANDLER(1) +DEF_NOTIFY_HANDLER(2) +DEF_NOTIFY_HANDLER(3) +DEF_NOTIFY_HANDLER(4) +DEF_NOTIFY_HANDLER(5) + +static AT_NOTIFY_TEST_DATA NotifyTestData0000[] = { + { + 1, NULL, NULL, + 2 /* NotifyHandlerNum */, + {AtNotifyHandler0, AtNotifyHandler1}, + {ACPI_SYSTEM_NOTIFY, ACPI_DEVICE_NOTIFY}, + {0, 1}, + 0 /* NumNotify */, + }, + { + 0, "\\DEV0", NULL, + 2 /* NotifyHandlerNum */, + {NULL, NULL}, + {0, 0}, + {0, 1}, + 5 /* NumNotify */, + {0, 0, 0, 1, 1}, + {0x00, 0x20, 0x7f, 0x80, 0xff}, + }, + { + 0, "\\CPU0", NULL, + 2 /* NotifyHandlerNum */, + {NULL, NULL}, + {0, 0}, + {0, 1}, + 5 /* NumNotify */, + {0, 0, 0, 1, 1}, + {0x02, 0x22, 0x7d, 0x82, 0xfd}, + }, + { + 0, "\\TZN0", NULL, + 2 /* NotifyHandlerNum */, + {NULL, NULL}, + {0, 0}, + {0, 1}, + 5 /* NumNotify */, + {0, 0, 0, 1, 1}, + {0x03, 0x23, 0x7c, 0x83, 0xfc}, + }, + { + 0, "\\_SB_.DEV0", NULL, + 2 /* NotifyHandlerNum */, + {NULL, NULL}, + {0, 0}, + {0, 1}, + 5 /* NumNotify */, + {0, 0, 0, 1, 1}, + {0x01, 0x21, 0x7e, 0x81, 0xfe}, + }, +}; + +static AT_NOTIFY_TEST_DATA NotifyTestData0001[] = { + { + 1, "\\DEV0", NULL, + 2 /* NotifyHandlerNum */, + {AtNotifyHandler0, AtNotifyHandler0}, + {ACPI_SYSTEM_NOTIFY, ACPI_DEVICE_NOTIFY}, + {0, 1}, + 5 /* NumNotify */, + {0, 0, 0, 0, 0}, + {0x00, 0x20, 0x7f, 0x80, 0xff}, + }, + { + 1, "\\CPU0", NULL, + 2 /* NotifyHandlerNum */, + {AtNotifyHandler1, AtNotifyHandler2}, + {ACPI_SYSTEM_NOTIFY, ACPI_DEVICE_NOTIFY}, + {0, 1}, + 5 /* NumNotify */, + {1, 1, 1, 2, 2}, + {0x02, 0x22, 0x7d, 0x82, 0xfd}, + }, + { + 1, "\\TZN0", NULL, + 2 /* NotifyHandlerNum */, + {AtNotifyHandler2, AtNotifyHandler3}, + {ACPI_SYSTEM_NOTIFY, ACPI_DEVICE_NOTIFY}, + {0, 1}, + 5 /* NumNotify */, + {2, 2, 2, 3, 3}, + {0x03, 0x23, 0x7c, 0x83, 0xfc}, + }, + { + 1, "\\_SB_.DEV0", NULL, + 1 /* NotifyHandlerNum */, + {AtNotifyHandler4}, + {ACPI_SYSTEM_NOTIFY | ACPI_DEVICE_NOTIFY}, + {0, 1}, + 5 /* NumNotify */, + {4, 4, 4, 4, 4}, + {0x01, 0x21, 0x7e, 0x81, 0xfe}, + }, +}; + +static AT_NOTIFY_TEST_DATA NotifyTestData0006[] = { + { + 1, "\\INT0", NULL, + 1 /* NotifyHandlerNum */, + {AtNotifyHandler0, AtNotifyHandler0}, + {ACPI_SYSTEM_NOTIFY | ACPI_DEVICE_NOTIFY}, + {0}, + 0 /* NumNotify */, + }, + { + 1, "\\STR0", NULL, + 1 /* NotifyHandlerNum */, + {AtNotifyHandler0, AtNotifyHandler0}, + {ACPI_SYSTEM_NOTIFY | ACPI_DEVICE_NOTIFY}, + {0}, + 0 /* NumNotify */, + }, + { + 1, "\\BUF0", NULL, + 1 /* NotifyHandlerNum */, + {AtNotifyHandler0, AtNotifyHandler0}, + {ACPI_SYSTEM_NOTIFY | ACPI_DEVICE_NOTIFY}, + {0}, + 0 /* NumNotify */, + }, + { + 1, "\\PAC0", NULL, + 1 /* NotifyHandlerNum */, + {AtNotifyHandler0, AtNotifyHandler0}, + {ACPI_SYSTEM_NOTIFY | ACPI_DEVICE_NOTIFY}, + {0}, + 0 /* NumNotify */, + }, + { + 1, "\\FLU0", NULL, + 1 /* NotifyHandlerNum */, + {AtNotifyHandler0, AtNotifyHandler0}, + {ACPI_SYSTEM_NOTIFY | ACPI_DEVICE_NOTIFY}, + {0}, + 0 /* NumNotify */, + }, + { + 1, "\\EVE0", NULL, + 1 /* NotifyHandlerNum */, + {AtNotifyHandler0, AtNotifyHandler0}, + {ACPI_SYSTEM_NOTIFY | ACPI_DEVICE_NOTIFY}, + {0}, + 0 /* NumNotify */, + }, + { + 1, "\\MMM0", NULL, + 1 /* NotifyHandlerNum */, + {AtNotifyHandler0, AtNotifyHandler0}, + {ACPI_SYSTEM_NOTIFY | ACPI_DEVICE_NOTIFY}, + {0}, + 0 /* NumNotify */, + }, + { + 1, "\\MTX0", NULL, + 1 /* NotifyHandlerNum */, + {AtNotifyHandler0, AtNotifyHandler0}, + {ACPI_SYSTEM_NOTIFY | ACPI_DEVICE_NOTIFY}, + {0}, + 0 /* NumNotify */, + }, + { + 1, "\\OPR0", NULL, + 1 /* NotifyHandlerNum */, + {AtNotifyHandler0, AtNotifyHandler0}, + {ACPI_SYSTEM_NOTIFY | ACPI_DEVICE_NOTIFY}, + {0}, + 0 /* NumNotify */, + }, + { + 1, "\\PWR0", NULL, + 1 /* NotifyHandlerNum */, + {AtNotifyHandler0, AtNotifyHandler0}, + {ACPI_SYSTEM_NOTIFY | ACPI_DEVICE_NOTIFY}, + {0}, + 0 /* NumNotify */, + }, + { + 1, "\\BUF0", NULL, + 1 /* NotifyHandlerNum */, + {AtNotifyHandler0, AtNotifyHandler0}, + {ACPI_SYSTEM_NOTIFY | ACPI_DEVICE_NOTIFY}, + {0}, + 0 /* NumNotify */, + }, +}; + +static AT_NOTIFY_TEST_DATA NotifyTestDataSsdt[] = { + { + 1, "\\AUX2.DEV0", NULL, + 2 /* NotifyHandlerNum */, + {AtNotifyHandler0, AtNotifyHandler0}, + {ACPI_SYSTEM_NOTIFY, ACPI_DEVICE_NOTIFY}, + {0, 1}, + 5 /* NumNotify */, + {0, 0, 0, 0, 0}, + {0x00, 0x20, 0x7f, 0x80, 0xff}, + }, +}; + +ACPI_STATUS +AtInstallNotifyHandlerCommon( + ACPI_STRING NotifyMethod, + AT_NOTIFY_TEST_DATA *TestData, + UINT32 NumData, + UINT32 CheckAction, + ACPI_STATUS ExpectedStatus) +{ + ACPI_STATUS Status; + ACPI_HANDLE Object; + UINT32 Type; + ACPI_NOTIFY_HANDLER Handler; + void *Context; + UINT32 i, j; + UINT32 ExpectedNotifyHandlerCounter = 0; + UINT32 InitStages = AAPITS_INI_DEF & ~AAPITS_INSTALL_HS; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("hndl0000.aml"))) + { + return (Status); + } + + if (CheckAction == 1) + { + InitStages |= AAPITS_INSTALL_HS; + } + + Status = AtSubsystemInit( + InitStages, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (CheckAction == 1) + { + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_LOAD))) + { + return (Status); + } + } + + for (i = 0; i < NumData; i++) + { + if (TestData[i].Pathname) + { + Status = AcpiGetHandle (NULL, TestData[i].Pathname, + &TestData[i].Object); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + TestData[i].Pathname, AcpiFormatException(Status)); + return (Status); + } + } + else + { + TestData[i].Object = ACPI_ROOT_OBJECT; + } + } + + if (CheckAction == 1) + { + /* Make Device handle invalid by unloading SSDT table*/ + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_UNLOAD))) + { + return (Status); + } + } + else if (CheckAction == 4) + { + if (ExpectedStatus != AE_ALREADY_EXISTS) + { + TestErrors++; + printf ("Test Error: ExpectedStatus %s != AE_ALREADY_EXISTS\n", + AcpiFormatException(ExpectedStatus)); + return (AE_ERROR); + } + ExpectedStatus = AE_OK; + } + + NotifyHandlerCounter = 0; + NotifyHandlerMissCounter = 0; + NotifyHandlerTestData.NumData = NumData; + NotifyHandlerTestData.TestData = TestData; + for (i = 0; i < NumData; i++) + { + if (!TestData[i].InstallFlag) + { + continue; + } + + Object = TestData[i].Object; + + for (j = 0; j < TestData[i].NotifyHandlerNum; j++) + { + Type = TestData[i].HandlerType[j]; + Handler = TestData[i].Handler[j]; + Context = &TestData[i].Context[j]; + + if (CheckAction == 2) + { + Type |= (ACPI_DEVICE_NOTIFY + ACPI_SYSTEM_NOTIFY + 1); + } + else if (CheckAction == 3) + { + Handler = NULL; + } + + Status = AcpiInstallNotifyHandler(Object, Type, Handler, Context); + + if (Status != ExpectedStatus) + { + AapiErrors++; + printf ("Api Error: AcpiInstallNotifyHandler(0x%p, %d, 0x%p, 0x%p)" + " returned %s, expected %s\n", + Object, Type, Handler, Context, AcpiFormatException(Status), + AcpiFormatException(ExpectedStatus)); + if (Status != AE_OK) + { + return (Status); + } + else + { + return (AE_ERROR); + } + } + } + } + + if (CheckAction == 4) + { + for (i = 0; i < NumData; i++) + { + if (!TestData[i].InstallFlag) + { + continue; + } + + Object = TestData[i].Object; + + for (j = 0; j < TestData[i].NotifyHandlerNum; j++) + { + Type = (j)? ACPI_DEVICE_NOTIFY: ACPI_SYSTEM_NOTIFY; + Handler = TestData[i].Handler[ + (j + 1) % TestData[i].NotifyHandlerNum]; + Context = NULL; + + Status = AcpiInstallNotifyHandler(Object, Type, Handler, Context); + if (Status != AE_ALREADY_EXISTS) + { + AapiErrors++; + printf ("Api Error: AcpiInstallNotifyHandler(0x%p, %d, 0x%p, 0x%p)" + " returned %s, expected %s\n", + Object, Type, Handler, Context, AcpiFormatException(Status), + AcpiFormatException(AE_ALREADY_EXISTS)); + return (AE_ERROR); + } + } + } + } + + if (CheckAction == 0) + { + Status = AcpiEvaluateObject (NULL, NotifyMethod, NULL, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiEvaluateObject(%s) returned %s\n", + NotifyMethod, AcpiFormatException(Status)); + return (Status); + } + + for (i = 0; i < NumData; i++) + { + if (!TestData[i].Pathname) + { + continue; + } + + for (j = 0; j < TestData[i].NumNotify; j++) + { + ExpectedNotifyHandlerCounter++; + if (TestData[i].NotifyCount[j] != 1) + { + AapiErrors++; + printf ("Api Error: %s, %d, Notify Handlers invoked %d times instead of 1\n", + TestData[i].Pathname, j, TestData[i].NotifyCount[j]); + return (AE_ERROR); + } + } + } + } + + if (NotifyHandlerCounter != ExpectedNotifyHandlerCounter) + { + AapiErrors++; + printf ("Api Error: Notify Handlers invoked %d times instead of %d\n", + NotifyHandlerCounter, ExpectedNotifyHandlerCounter); + return (AE_ERROR); + } + + if (NotifyHandlerMissCounter != 0) + { + AapiErrors++; + printf ("Api Error: Notify Handlers unexpectedly invoked %d times\n", + NotifyHandlerMissCounter); + return (AE_ERROR); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0000: + * + */ +ACPI_STATUS +AtHndlrTest0000(void) +{ + return (AtInstallNotifyHandlerCommon("\\TST0", NotifyTestData0000, + sizeof (NotifyTestData0000) / sizeof (AT_NOTIFY_TEST_DATA), + 0, AE_OK)); +} + +/* + * ASSERTION 0001: + * + */ +ACPI_STATUS +AtHndlrTest0001(void) +{ + return (AtInstallNotifyHandlerCommon("\\TST0", NotifyTestData0001, + sizeof (NotifyTestData0001) / sizeof (AT_NOTIFY_TEST_DATA), + 0, AE_OK)); +} + +/* + * ASSERTION 0002: + * + */ +ACPI_STATUS +AtHndlrTest0002(void) +{ + return (AtInstallNotifyHandlerCommon("\\TST0", NotifyTestDataSsdt, + sizeof (NotifyTestDataSsdt) / sizeof (AT_NOTIFY_TEST_DATA), + 1, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0003: + * + */ +ACPI_STATUS +AtHndlrTest0003(void) +{ + return (AtInstallNotifyHandlerCommon("\\TST0", NotifyTestData0001, + sizeof (NotifyTestData0001) / sizeof (AT_NOTIFY_TEST_DATA), + 2, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0004: + * + */ +ACPI_STATUS +AtHndlrTest0004(void) +{ + return (AtInstallNotifyHandlerCommon("\\TST0", NotifyTestData0001, + sizeof (NotifyTestData0001) / sizeof (AT_NOTIFY_TEST_DATA), + 3, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0005: + * + */ +ACPI_STATUS +AtHndlrTest0005(void) +{ + return (AtInstallNotifyHandlerCommon("\\TST0", NotifyTestData0001, + sizeof (NotifyTestData0001) / sizeof (AT_NOTIFY_TEST_DATA), + 4, AE_ALREADY_EXISTS)); +} + +/* + * ASSERTION 0006: + * + */ +ACPI_STATUS +AtHndlrTest0006(void) +{ + return (AtInstallNotifyHandlerCommon("\\TST0", NotifyTestData0006, + sizeof (NotifyTestData0006) / sizeof (AT_NOTIFY_TEST_DATA), + 0, AE_TYPE)); +} + +ACPI_STATUS +AtInstallNotifyHandlerExceptionTest( + ACPI_OSXF OsxfNum, + AT_ACTD_FLAG ActFlag, + UINT32 ActCode, + UINT32 TFst, + ACPI_STATUS Benchmark, + AT_NOTIFY_TEST_DATA *TestData, + UINT32 NumData) +{ + ACPI_STATUS Status; + ACPI_OSXF OsxfNumAct; + UINT32 Continue_Cond; + UINT32 TMax = 10000; + UINT32 i; + ACPI_HANDLE Object; + UINT32 Type; + ACPI_NOTIFY_HANDLER Handler; + void *Context; + UINT32 ii, jj; + + NotifyHandlerCounter = 0; + NotifyHandlerMissCounter = 0; + NotifyHandlerTestData.NumData = NumData; + NotifyHandlerTestData.TestData = TestData; + + for (ii = 0; ii < NumData; ii++) + { + if (!TestData[ii].InstallFlag) + { + continue; + } + + for (jj = 0; jj < TestData[ii].NotifyHandlerNum; jj++) + { + Continue_Cond = 1; + for (i = TFst; (i < TMax) && Continue_Cond; i++) + { + printf ("AtInstallGpeBlockExceptionTest: ii = %d, jj = %d, i = %d\n", + ii, jj, i); + + Status = AtSubsystemInit( + AAPITS_INI_DEF & ~AAPITS_INSTALL_HS, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (TestData[ii].Pathname) + { + Status = AcpiGetHandle (NULL, TestData[ii].Pathname, + &TestData[ii].Object); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + TestData[ii].Pathname, AcpiFormatException(Status)); + return (Status); + } + } + else + { + TestData[ii].Object = ACPI_ROOT_OBJECT; + } + + Object = TestData[ii].Object; + Type = TestData[ii].HandlerType[jj]; + Handler = TestData[ii].Handler[jj]; + Context = &TestData[ii].Context[jj]; + + Status = OsxfCtrlSet(OsxfNum, i, ActFlag, ActCode); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: OsxfCtrlSet returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiInstallNotifyHandler(Object, Type, Handler, Context); + + if (!(OsxfNumAct = OsxfCtrlGetActOsxf(OsxfNum, 1))) + { + if (i == TFst) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + } + TestPass++; + Continue_Cond = 0; + } + else + { + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiInstallNotifyHandler returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + + if (ACPI_SUCCESS(Status)) + { + Status = AcpiRemoveNotifyHandler(Object, Type, Handler); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiRemoveNotifyHandler returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + } + + Status = AtTerminateCtrlCheck(AE_OK, ALL_STAT); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + if (i >= TMax) + { + TestErrors++; + printf ("Test error: there are test cases remained\n"); + return (AE_ERROR); + } + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0007: + */ +ACPI_STATUS +AtHndlrTest0007(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("hndl0000.aml"))) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + Status = AtInstallNotifyHandlerExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY, + NotifyTestData0000, + sizeof (NotifyTestData0000) / sizeof (AT_NOTIFY_TEST_DATA)); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + Status = AtInstallNotifyHandlerExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY, + NotifyTestData0000, + sizeof (NotifyTestData0000) / sizeof (AT_NOTIFY_TEST_DATA)); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0008: + */ +ACPI_STATUS +AtHndlrTest0008(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("hndl0000.aml"))) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + Status = AtInstallNotifyHandlerExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY, + NotifyTestData0001, + sizeof (NotifyTestData0001) / sizeof (AT_NOTIFY_TEST_DATA)); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + Status = AtInstallNotifyHandlerExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY, + NotifyTestData0001, + sizeof (NotifyTestData0001) / sizeof (AT_NOTIFY_TEST_DATA)); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + +ACPI_STATUS +AtRemoveNotifyHandlerCommon( + ACPI_STRING NotifyMethod, + AT_NOTIFY_TEST_DATA *TestData, + UINT32 NumData, + UINT32 CheckAction, + ACPI_STATUS ExpectedStatus) +{ + ACPI_STATUS Status; + ACPI_HANDLE Object; + UINT32 Type; + ACPI_NOTIFY_HANDLER Handler; + void *Context; + UINT32 i, j; + UINT32 InitStages = AAPITS_INI_DEF & ~AAPITS_INSTALL_HS; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("hndl0000.aml"))) + { + return (Status); + } + + if (CheckAction == 1) + { + InitStages |= AAPITS_INSTALL_HS; + } + + Status = AtSubsystemInit( + InitStages, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (CheckAction == 1) + { + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_LOAD))) + { + return (Status); + } + } + + for (i = 0; i < NumData; i++) + { + if (TestData[i].Pathname) + { + Status = AcpiGetHandle (NULL, TestData[i].Pathname, + &TestData[i].Object); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + TestData[i].Pathname, AcpiFormatException(Status)); + return (Status); + } + } + else + { + TestData[i].Object = ACPI_ROOT_OBJECT; + } + } + + NotifyHandlerCounter = 0; + NotifyHandlerMissCounter = 0; + NotifyHandlerTestData.NumData = NumData; + NotifyHandlerTestData.TestData = TestData; + if (CheckAction != 4) + { + for (i = 0; i < NumData; i++) + { + if (!TestData[i].InstallFlag) + { + continue; + } + + Object = TestData[i].Object; + + for (j = 0; j < TestData[i].NotifyHandlerNum; j++) + { + Type = TestData[i].HandlerType[j]; + Handler = TestData[i].Handler[j]; + Context = &TestData[i].Context[j]; + + Status = AcpiInstallNotifyHandler(Object, Type, Handler, Context); + + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiInstallNotifyHandler(0x%p, %d, 0x%p, 0x%p)" + " returned %s\n", + Object, Type, Handler, Context, AcpiFormatException(Status)); + return (Status); + } + } + } + } + + if (CheckAction == 1) + { + /* Make Device handle invalid by unloading SSDT table*/ + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_UNLOAD))) + { + return (Status); + } + } + + for (i = 0; i < NumData; i++) + { + if (!TestData[i].InstallFlag) + { + continue; + } + + Object = TestData[i].Object; + + for (j = 0; j < TestData[i].NotifyHandlerNum; j++) + { + Type = TestData[i].HandlerType[j]; + Handler = TestData[i].Handler[j]; + + if (CheckAction == 2) + { + Type |= (ACPI_DEVICE_NOTIFY + ACPI_SYSTEM_NOTIFY + 1); + } + else if (CheckAction == 3) + { + Handler = NULL; + } + else if (CheckAction == 5) + { + Handler = AtNotifyHandler5; + } + + Status = AcpiRemoveNotifyHandler(Object, Type, Handler); + + if (Status != ExpectedStatus) + { + AapiErrors++; + printf ("Api Error: AcpiRemoveNotifyHandler(0x%p, %d, 0x%p)" + " returned %s, expected %s\n", + Object, Type, Handler, AcpiFormatException(Status), + AcpiFormatException(ExpectedStatus)); + if (Status != AE_OK) + { + return (Status); + } + else + { + return (AE_ERROR); + } + } + } + } + + if (CheckAction == 0) + { + Status = AcpiEvaluateObject (NULL, NotifyMethod, NULL, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiEvaluateObject(%s) returned %s\n", + NotifyMethod, AcpiFormatException(Status)); + return (Status); + } + + for (i = 0; i < NumData; i++) + { + if (!TestData[i].Pathname) + { + continue; + } + + for (j = 0; j < TestData[i].NumNotify; j++) + { + if (TestData[i].NotifyCount[j] != 0) + { + AapiErrors++; + printf ("Api Error: %s, %d, Notify Handlers invoked %d times\n", + TestData[i].Pathname, j, TestData[i].NotifyCount[j]); + return (AE_ERROR); + } + } + } + } + + if (NotifyHandlerCounter != 0) + { + AapiErrors++; + printf ("Api Error: Notify Handlers invoked %d times\n", + NotifyHandlerCounter); + return (AE_ERROR); + } + + if (NotifyHandlerMissCounter != 0) + { + AapiErrors++; + printf ("Api Error: Notify Handlers unexpectedly invoked %d times\n", + NotifyHandlerMissCounter); + return (AE_ERROR); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0009: + * + */ +ACPI_STATUS +AtHndlrTest0009(void) +{ + return (AtRemoveNotifyHandlerCommon("\\TST0", NotifyTestData0000, + sizeof (NotifyTestData0000) / sizeof (AT_NOTIFY_TEST_DATA), + 0, AE_OK)); +} + +/* + * ASSERTION 0010: + * + */ +ACPI_STATUS +AtHndlrTest0010(void) +{ + return (AtRemoveNotifyHandlerCommon("\\TST0", NotifyTestData0001, + sizeof (NotifyTestData0001) / sizeof (AT_NOTIFY_TEST_DATA), + 0, AE_OK)); +} + +/* + * ASSERTION 0011: + * + */ +ACPI_STATUS +AtHndlrTest0011(void) +{ + return (AtRemoveNotifyHandlerCommon("\\TST0", NotifyTestDataSsdt, + sizeof (NotifyTestDataSsdt) / sizeof (AT_NOTIFY_TEST_DATA), + 1, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0012: + * + */ +ACPI_STATUS +AtHndlrTest0012(void) +{ + return (AtRemoveNotifyHandlerCommon("\\TST0", NotifyTestData0001, + sizeof (NotifyTestData0001) / sizeof (AT_NOTIFY_TEST_DATA), + 2, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0013: + * + */ +ACPI_STATUS +AtHndlrTest0013(void) +{ + return (AtRemoveNotifyHandlerCommon("\\TST0", NotifyTestData0001, + sizeof (NotifyTestData0001) / sizeof (AT_NOTIFY_TEST_DATA), + 3, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0014: + * + */ +ACPI_STATUS +AtHndlrTest0014(void) +{ + return (AtRemoveNotifyHandlerCommon("\\TST0", NotifyTestData0001, + sizeof (NotifyTestData0001) / sizeof (AT_NOTIFY_TEST_DATA), + 4, AE_NOT_EXIST)); +} + +/* + * ASSERTION 0015: + * + */ +ACPI_STATUS +AtHndlrTest0015(void) +{ + return (AtRemoveNotifyHandlerCommon("\\TST0", NotifyTestData0001, + sizeof (NotifyTestData0001) / sizeof (AT_NOTIFY_TEST_DATA), + 5, AE_BAD_PARAMETER)); +} + +#define AT_NUM_ADR_SPACE_ID 7 +#define AT_NUM_ADR_SPACE_ACC 10 + +typedef struct at_adr_space_inst_data +{ + ACPI_ADR_SPACE_TYPE SpaceId; + ACPI_ADR_SPACE_HANDLER Handler; + ACPI_ADR_SPACE_SETUP Setup; + UINT32 Context; + UINT32 NumSetup; + /* Counters */ + UINT32 SetupInd; + UINT32 SetupErr; +} AT_ADR_SPACE_INST_DATA; + +typedef struct at_adr_space_acc_data +{ + ACPI_STRING RegionName; + UINT32 RegionSpace; + UINT32 Offset; + UINT32 Length; + UINT32 FieldSize; + UINT32 Width; + UINT32 NumAcc; + ACPI_HANDLE Object; + /* Counters */ + ACPI_PHYSICAL_ADDRESS AccAdr; + UINT32 AccInd; + UINT32 AccErr; + UINT32 AccSetupInd; + UINT32 AccSetupErr; +} AT_ADR_SPACE_ACC_DATA; + +typedef struct at_adr_space_test_data +{ + ACPI_STRING Pathname; + UINT32 AdrSpaceHandlerNum; + AT_ADR_SPACE_INST_DATA InstData[AT_NUM_ADR_SPACE_ID]; + ACPI_HANDLE Device; +} AT_ADR_SPACE_TEST_DATA; + +typedef struct at_adr_space_handler_test_data +{ + UINT32 NumData; + AT_ADR_SPACE_TEST_DATA *TestData; + UINT32 NumAcc; + AT_ADR_SPACE_ACC_DATA *AccData; +} AT_ADR_SPACE_HANDLER_TEST_DATA; + +static UINT32 AdrSpaceHandlerCounter; + +static AT_ADR_SPACE_HANDLER_TEST_DATA AdrSpaceHandlerTestData; + +ACPI_STATUS +AtAdrSpaceHandlerCommon ( + UINT32 Function, + ACPI_PHYSICAL_ADDRESS Address, + UINT32 BitWidth, + ACPI_INTEGER *Value, + void *HandlerContext, + void *RegionContext, + UINT32 HandlerId) +{ + AT_ADR_SPACE_ACC_DATA *AccData = NULL; + UINT32 i; + + ++AdrSpaceHandlerCounter; + + printf ("AtAdrSpaceHandler%d %d: Function 0x%x, Address 0x%x,\n" + " BitWidth 0x%x, Value 0x%p (0x%.2x), Hc 0x%p, Rc 0x%p\n", + HandlerId, AdrSpaceHandlerCounter, Function, (UINT32)Address, BitWidth, + Value, (UINT32)*Value, HandlerContext, RegionContext); + + /* Check the call */ + for (i = 0; i < AdrSpaceHandlerTestData.NumAcc; i++) + { + AccData = &AdrSpaceHandlerTestData.AccData[i]; + if (HandlerId != AccData->RegionSpace) + { + continue; + } + if (RegionContext != AccData->Object) + { + continue; + } + if (AccData->AccInd++ == 0) + { + AccData->AccAdr = AccData->Offset; + } + else if (AccData->AccErr) + { + break; + } + if (Address != AccData->AccAdr) + { + } + else if (Function == ACPI_WRITE) + { + /* The test specific prepearing to the next call check after writing */ + AccData->AccAdr += BitWidth / 8; + } + return (AE_OK); + } + + printf ("AtAdrSpaceHandler%d %d (%d) error: *RegionContext 0x%p,\n" + " does not appropriate any Region\n", + HandlerId, AccData->AccInd, AdrSpaceHandlerCounter, + RegionContext); + AccData->AccErr++; + + return (AE_OK); +} + +#define DEF_ADR_SPACE_HANDLER(Hid) \ +ACPI_STATUS \ +AtAdrSpaceHandler##Hid (\ + UINT32 Function,\ + ACPI_PHYSICAL_ADDRESS Address,\ + UINT32 BitWidth,\ + ACPI_INTEGER *Value,\ + void *HandlerContext,\ + void *RegionContext)\ +{\ + return (AtAdrSpaceHandlerCommon(Function, Address, BitWidth,\ + Value, HandlerContext, RegionContext, Hid));\ +} + +DEF_ADR_SPACE_HANDLER(0) +DEF_ADR_SPACE_HANDLER(1) +DEF_ADR_SPACE_HANDLER(2) +DEF_ADR_SPACE_HANDLER(3) +DEF_ADR_SPACE_HANDLER(4) +DEF_ADR_SPACE_HANDLER(5) +DEF_ADR_SPACE_HANDLER(6) + +static UINT32 AdrSpaceSetupCounter; + +ACPI_STATUS +AtAdrSpaceSetupCommon ( + ACPI_HANDLE RegionHandle, + UINT32 Function, + void *HandlerContext, + void **RegionContext, + UINT32 HandlerId) +{ + ACPI_STATUS Status; + AT_ADR_SPACE_INST_DATA *InstData = NULL; + AT_ADR_SPACE_ACC_DATA *AccData; + UINT32 i, j; + + + ++AdrSpaceSetupCounter; + printf ("AtAdrSpaceSetup%d %d: RegionHandle 0x%p, Function 0x%x, Hc 0x%p, Rc 0x%p\n", + HandlerId, AdrSpaceSetupCounter, RegionHandle, Function, + HandlerContext, RegionContext); + + *RegionContext = NULL; + + /* Check the call */ + for (i = 0; i < AdrSpaceHandlerTestData.NumData; i++) + { + for (j = 0; j < AdrSpaceHandlerTestData.TestData[i].AdrSpaceHandlerNum; j++) + { + InstData = &AdrSpaceHandlerTestData.TestData[i].InstData[j]; + if (HandlerId != InstData->SpaceId) + { + continue; + } + if (InstData->SetupErr) + { + break; + } + InstData->SetupInd++; + if (HandlerContext != &InstData->Context) + { + printf ("AtAdrSpaceSetup%d %d (%d) error: Passed Context" + " 0x%p is not expected one 0x%p\n", + HandlerId, InstData->SetupInd, AdrSpaceHandlerCounter, + HandlerContext, &InstData->Context); + InstData->SetupErr++; + } + break; + } + } + + if (!InstData) + { + printf ("AtAdrSpaceSetup%d (%d) error: there is no" + " appropriate setup data\n", + HandlerId, AdrSpaceHandlerCounter); + return (AE_ERROR); + } + + for (i = 0; i < AdrSpaceHandlerTestData.NumAcc; i++) + { + AccData = &AdrSpaceHandlerTestData.AccData[i]; + if (HandlerId != AccData->RegionSpace) + { + continue; + } + if (!AccData->Object) + { + /* Dynamic OpRegion */ + Status = AcpiGetHandle (NULL, AccData->RegionName, + &AccData->Object); + if (ACPI_FAILURE(Status)) + { + AccData->AccSetupErr++; + printf ("AtAdrSpaceSetup%d (%d) error: AcpiGetHandle(%s)" + " returned %s\n", + HandlerId, AdrSpaceHandlerCounter, + AccData->RegionName, AcpiFormatException(Status)); + continue; + } + else if (AT_SKIP_ADR_SPACE_SETUP_HANDLER_CHECK) + { + /* Should be the actual Region object */ + AccData->Object = (void *) + ((ACPI_NAMESPACE_NODE *) AccData->Object)->Object; + } + } + if (RegionHandle != AccData->Object) + { + continue; + } + + AccData->AccSetupInd++; + + if ((AccData->AccSetupInd % 2 == 0) && Function != ACPI_REGION_DEACTIVATE) + { + printf ("AtAdrSpaceAccSetup%d %d (%d) error: Passed Function\n" + " (0x%x) is not ACPI_REGION_DEACTIVATE\n", + HandlerId, AccData->AccSetupInd, AdrSpaceHandlerCounter, + Function); + AccData->AccSetupErr++; + } + else if ((AccData->AccSetupInd % 2 == 1) && Function != ACPI_REGION_ACTIVATE) + { + printf ("AtAdrSpaceAccSetup%d %d (%d) error: Passed Function\n" + " (0x%x) is not ACPI_REGION_ACTIVATE\n", + HandlerId, AccData->AccSetupInd, AdrSpaceHandlerCounter, + Function); + AccData->AccSetupErr++; + } + + *RegionContext = RegionHandle; + + break; + } + + if (!(*RegionContext)) + { + printf ("AtAdrSpaceSetup%d (%d) error: there is no" + " appropriate Region data\n", + HandlerId, AdrSpaceHandlerCounter); + InstData->SetupErr++; + } + + return (AE_OK); +} + +#define DEF_ADR_SPACE_SETUP(Hid) \ +ACPI_STATUS \ +AtAdrSpaceSetup##Hid (\ + ACPI_HANDLE RegionHandle,\ + UINT32 Function,\ + void *HandlerContext,\ + void **RegionContext)\ +{\ + return (AtAdrSpaceSetupCommon(RegionHandle, Function,\ + HandlerContext, RegionContext, Hid));\ +} + +DEF_ADR_SPACE_SETUP(0) +DEF_ADR_SPACE_SETUP(1) +DEF_ADR_SPACE_SETUP(2) +DEF_ADR_SPACE_SETUP(3) +DEF_ADR_SPACE_SETUP(4) +DEF_ADR_SPACE_SETUP(5) +DEF_ADR_SPACE_SETUP(6) + +static AT_ADR_SPACE_ACC_DATA AdrSpaceAccData0000[] = { + {"\\OPR0", 0, 0x00000, 0x10000, 70, 8}, + {"\\OPR1", 1, 0x21000, 0x11000, 71, 8}, + {"\\OPR2", 2, 0x32000, 0x12000, 72, 8}, + {"\\OPR3", 3, 0x45000, 0x13000, 73, 8}, + {"\\OPR4", 4, 0x69000, 0x14000, 74, 8}, + {"\\OPR5", 5, 0x83000, 0x15000, 75, 8}, + {"\\OPR6", 6, 0x98000, 0x16000, 76, 8}, +}; + +static AT_ADR_SPACE_ACC_DATA AdrSpaceAccData0001[] = { + {"\\DEV0.OPR0", 0, 0x00000, 0x10000, 70, 8}, + {"\\DEV0.OPR1", 1, 0x21000, 0x11000, 71, 8}, + {"\\CPU0.OPR2", 2, 0x32000, 0x12000, 72, 8}, + {"\\CPU0.OPR3", 3, 0x45000, 0x13000, 73, 8}, + {"\\CPU0.OPR4", 4, 0x69000, 0x14000, 74, 8}, + {"\\TZN0.OPR5", 5, 0x83000, 0x15000, 75, 8}, + {"\\TZN0.OPR6", 6, 0x98000, 0x16000, 76, 8}, +}; + +static AT_ADR_SPACE_ACC_DATA AdrSpaceAccData0002[] = { + {"\\OPR0", 0, 0x00000, 0x10000, 70, 8}, + {"\\OPR1", 1, 0x21000, 0x11000, 71, 8}, + {"\\OPR2", 2, 0x32000, 0x12000, 72, 8}, + {"\\OPR5", 5, 0x83000, 0x15000, 75, 8}, + {"\\OPR6", 6, 0x98000, 0x16000, 76, 8}, +}; + +static AT_ADR_SPACE_ACC_DATA AdrSpaceAccData0003[] = { + {"\\DEV0.OPR0", 0, 0x00000, 0x10000, 70, 8}, + {"\\DEV0.OPR1", 1, 0x21000, 0x11000, 71, 8}, + {"\\CPU0.OPR2", 2, 0x32000, 0x12000, 72, 8}, + {"\\TZN0.OPR5", 5, 0x83000, 0x15000, 75, 8}, + {"\\TZN0.OPR6", 6, 0x98000, 0x16000, 76, 8}, +}; + +static AT_ADR_SPACE_TEST_DATA AdrSpaceTestData0000[] = { + { + NULL, 7 /* AdrSpaceHandlerNum */, + {{0, AtAdrSpaceHandler0, AtAdrSpaceSetup0, 0,}, + {1, AtAdrSpaceHandler1, AtAdrSpaceSetup1, 1,}, + {2, AtAdrSpaceHandler2, AtAdrSpaceSetup2, 2,}, + {3, AtAdrSpaceHandler3, AtAdrSpaceSetup3, 3,}, + {4, AtAdrSpaceHandler4, AtAdrSpaceSetup4, 4,}, + {5, AtAdrSpaceHandler5, AtAdrSpaceSetup5, 5,}, + {6, AtAdrSpaceHandler6, AtAdrSpaceSetup6, 6,},} + }, +}; + +static AT_ADR_SPACE_TEST_DATA AdrSpaceTestData0002[] = { + { + NULL, 5 /* AdrSpaceHandlerNum */, + {{0, AtAdrSpaceHandler0, AtAdrSpaceSetup0, 0,}, + {1, AtAdrSpaceHandler1, AtAdrSpaceSetup1, 1,}, + {2, AtAdrSpaceHandler2, AtAdrSpaceSetup2, 2,}, + {5, AtAdrSpaceHandler5, AtAdrSpaceSetup5, 5,}, + {6, AtAdrSpaceHandler6, AtAdrSpaceSetup6, 6,},} + }, +}; + +static AT_ADR_SPACE_TEST_DATA AdrSpaceTestData0001[] = { + { + "\\DEV0", 2 /* AdrSpaceHandlerNum */, + {{0, AtAdrSpaceHandler0, AtAdrSpaceSetup0, 0,}, + {1, AtAdrSpaceHandler1, AtAdrSpaceSetup1, 1,},} + }, + { + "\\CPU0", 3 /* AdrSpaceHandlerNum */, + {{2, AtAdrSpaceHandler2, AtAdrSpaceSetup2, 2,}, + {3, AtAdrSpaceHandler3, AtAdrSpaceSetup3, 3,}, + {4, AtAdrSpaceHandler4, AtAdrSpaceSetup4, 4,},} + }, + { + "\\TZN0", 2 /* AdrSpaceHandlerNum */, + {{5, AtAdrSpaceHandler5, AtAdrSpaceSetup5, 5,}, + {6, AtAdrSpaceHandler6, AtAdrSpaceSetup6, 6,},} + }, +}; + +static AT_ADR_SPACE_TEST_DATA AdrSpaceTestData0003[] = { + { + "\\DEV0", 2 /* AdrSpaceHandlerNum */, + {{0, AtAdrSpaceHandler0, AtAdrSpaceSetup0, 0,}, + {1, AtAdrSpaceHandler1, AtAdrSpaceSetup1, 1,},} + }, + { + "\\CPU0", 1 /* AdrSpaceHandlerNum */, + {{2, AtAdrSpaceHandler2, AtAdrSpaceSetup2, 2,},} + }, + { + "\\TZN0", 2 /* AdrSpaceHandlerNum */, + {{5, AtAdrSpaceHandler5, AtAdrSpaceSetup5, 5,}, + {6, AtAdrSpaceHandler6, AtAdrSpaceSetup6, 6,},} + }, +}; + +static AT_ADR_SPACE_TEST_DATA AdrSpaceTestData0004[] = { + { + "\\INT0", 1 /* AdrSpaceHandlerNum */, + {{0, AtAdrSpaceHandler0, AtAdrSpaceSetup0, 0,},} + }, + { + "\\STR0", 1 /* AdrSpaceHandlerNum */, + {{0, AtAdrSpaceHandler0, AtAdrSpaceSetup0, 0,},} + }, + { + "\\BUF0", 1 /* AdrSpaceHandlerNum */, + {{0, AtAdrSpaceHandler0, AtAdrSpaceSetup0, 0,},} + }, + { + "\\PAC0", 1 /* AdrSpaceHandlerNum */, + {{0, AtAdrSpaceHandler0, AtAdrSpaceSetup0, 0,},} + }, + { + "\\FLU0", 1 /* AdrSpaceHandlerNum */, + {{0, AtAdrSpaceHandler0, AtAdrSpaceSetup0, 0,},} + }, + { + "\\EVE0", 1 /* AdrSpaceHandlerNum */, + {{0, AtAdrSpaceHandler0, AtAdrSpaceSetup0, 0,},} + }, + { + "\\MMM0", 1 /* AdrSpaceHandlerNum */, + {{0, AtAdrSpaceHandler0, AtAdrSpaceSetup0, 0,},} + }, + { + "\\MTX0", 1 /* AdrSpaceHandlerNum */, + {{0, AtAdrSpaceHandler0, AtAdrSpaceSetup0, 0,},} + }, + { + "\\OPR0", 1 /* AdrSpaceHandlerNum */, + {{0, AtAdrSpaceHandler0, AtAdrSpaceSetup0, 0,},} + }, + { + "\\PWR0", 1 /* AdrSpaceHandlerNum */, + {{0, AtAdrSpaceHandler0, AtAdrSpaceSetup0, 0,},} + }, + { + "\\BUF0", 1 /* AdrSpaceHandlerNum */, + {{0, AtAdrSpaceHandler0, AtAdrSpaceSetup0, 0,},} + }, +}; + +static AT_ADR_SPACE_TEST_DATA AdrSpaceTestData0005[] = { + { + "\\CPU0", 2 /* AdrSpaceHandlerNum */, + {{3, NULL, NULL, 3,}, + {4, NULL, NULL, 4,},} + }, +}; + +static AT_ADR_SPACE_TEST_DATA AdrSpaceTestDataSsdt[] = { + { + "\\AUX2.DEV0", 2 /* AdrSpaceHandlerNum */, + {{0, AtAdrSpaceHandler0, AtAdrSpaceSetup0, 0,}, + {1, AtAdrSpaceHandler1, AtAdrSpaceSetup1, 1,},} + }, +}; + +ACPI_STATUS +AtInstallAdrSpaceHandlerCommon( + AT_ADR_SPACE_TEST_DATA *TestData, + UINT32 NumData, + ACPI_STRING AdrSpaceMethod, + AT_ADR_SPACE_ACC_DATA *AccData, + UINT32 NumAcc, + UINT32 CheckAction, + ACPI_STATUS ExpectedStatus) +{ + ACPI_STATUS Status; + ACPI_HANDLE Device; + ACPI_ADR_SPACE_TYPE SpaceId; + ACPI_ADR_SPACE_HANDLER Handler; + ACPI_ADR_SPACE_SETUP Setup; + void *Context; + UINT32 i, j, ii; + UINT32 ExpectedAdrSpaceHandlerCounter = 0; + UINT32 ExpectedAdrSpaceSetupCounter = 0; + UINT32 InitStages = AAPITS_INI_DEF & ~AAPITS_INSTALL_HS; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("hndl0016.aml"))) + { + return (Status); + } + + if (CheckAction == 1) + { + InitStages |= AAPITS_INSTALL_HS; + } + + Status = AtSubsystemInit( + InitStages, + AAPITS_EN_FLAGS | ACPI_NO_ADDRESS_SPACE_INIT, + AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (CheckAction == 1) + { + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_LOAD))) + { + return (Status); + } + } + + for (i = 0; i < NumData; i++) + { + if (TestData[i].Pathname) + { + Status = AcpiGetHandle (NULL, TestData[i].Pathname, + &TestData[i].Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + TestData[i].Pathname, AcpiFormatException(Status)); + return (Status); + } + } + else + { + TestData[i].Device = ACPI_ROOT_OBJECT; + } + } + + if (CheckAction == 0) + { + for (i = 0; i < NumAcc; i++) + { + Status = AcpiGetHandle (NULL, AccData[i].RegionName, + &AccData[i].Object); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + AccData[i].RegionName, AcpiFormatException(Status)); + return (Status); + } + else if (AT_SKIP_ADR_SPACE_SETUP_HANDLER_CHECK) + { + /* Should be the actual Region object */ + AccData[i].Object = ((ACPI_NAMESPACE_NODE *)AccData[i].Object)-> + Object->CommonField.RegionObj; + } + if (AccData[i].RegionSpace == 4 /* SMBus */) + { + AccData[i].NumAcc = 1; + } + else + { + AccData[i].NumAcc = (AccData[i].FieldSize + + AccData[i].Width - 1) / AccData[i].Width; + if (AccData[i].FieldSize % AccData[i].Width) + { /* Write operation as read/write */ + AccData[i].NumAcc++; + } + } + ExpectedAdrSpaceHandlerCounter += AccData[i].NumAcc; + } + } + + if (CheckAction == 1) + { + /* Make Device handle invalid by unloading SSDT table*/ + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_UNLOAD))) + { + return (Status); + } + } + else if (CheckAction == 4) + { + if (ExpectedStatus != AE_ALREADY_EXISTS) + { + TestErrors++; + printf ("Test Error: ExpectedStatus %s != AE_ALREADY_EXISTS\n", + AcpiFormatException(ExpectedStatus)); + return (AE_ERROR); + } + ExpectedStatus = AE_OK; + } + + AdrSpaceHandlerCounter = 0; + AdrSpaceSetupCounter = 0; + AdrSpaceHandlerTestData.NumData = NumData; + AdrSpaceHandlerTestData.TestData = TestData; + AdrSpaceHandlerTestData.NumAcc = NumAcc; + AdrSpaceHandlerTestData.AccData = AccData; + for (i = 0; i < NumData; i++) + { + Device = TestData[i].Device; + + for (j = 0; j < TestData[i].AdrSpaceHandlerNum; j++) + { + SpaceId = TestData[i].InstData[j].SpaceId; + Handler = TestData[i].InstData[j].Handler; + Setup = TestData[i].InstData[j].Setup; + Context = &TestData[i].InstData[j].Context; + + if (CheckAction == 0 && !(Setup == ACPI_DEFAULT_HANDLER)) + { + TestData[i].InstData[j].NumSetup = 1; + ExpectedAdrSpaceSetupCounter += TestData[i].InstData[j].NumSetup; + for (ii = 0; ii < NumAcc; ii++) + { + if (SpaceId == AccData[ii].RegionSpace) + { + break; + } + } + } + + if (CheckAction == 2) + { + SpaceId += 16; + } + else if (CheckAction == 3) + { + Handler = NULL; + } + else if (CheckAction == 5) + { + Handler = ACPI_DEFAULT_HANDLER; + } + + Status = AcpiInstallAddressSpaceHandler(Device, SpaceId, + Handler, Setup, Context); + + if (Status != ExpectedStatus) + { + AapiErrors++; + printf ("Api Error: AcpiInstallAddressSpaceHandler(0x%p, %d, 0x%p, 0x%p)" + " returned %s, expected %s\n", + Device, SpaceId, Handler, Setup, AcpiFormatException(Status), + AcpiFormatException(ExpectedStatus)); + if (Status != AE_OK) + { + return (Status); + } + else + { + return (AE_ERROR); + } + } + } + } + + if (CheckAction == 4) + { + for (i = 0; i < NumData; i++) + { + Device = TestData[i].Device; + + for (j = 0; j < TestData[i].AdrSpaceHandlerNum; j++) + { + SpaceId = TestData[i].InstData[j].SpaceId; + Handler = TestData[i].InstData[(j + 1) % + TestData[i].AdrSpaceHandlerNum].Handler; + Setup = TestData[i].InstData[(j + 1) % + TestData[i].AdrSpaceHandlerNum].Setup; + Context = NULL; + + Status = AcpiInstallAddressSpaceHandler(Device, SpaceId, + Handler, Setup, Context); + if (Status != AE_ALREADY_EXISTS) + { + AapiErrors++; + printf ("Api Error: AcpiInstallAdrSpaceHandler(0x%p, %d, 0x%p, 0x%p)" + " returned %s, expected %s\n", + Device, SpaceId, Handler, Setup, AcpiFormatException(Status), + AcpiFormatException(AE_ALREADY_EXISTS)); + return (AE_ERROR); + } + } + } + } + +// if (CheckAction == 0 && AdrSpaceMethod) + if (AdrSpaceMethod) + { + Status = AcpiEvaluateObject (NULL, AdrSpaceMethod, NULL, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiEvaluateObject(%s) returned %s\n", + AdrSpaceMethod, AcpiFormatException(Status)); + return (Status); + } + + /* Unload DSDT table to initiate the OpRegions deletion */ +/* + TestSkipped++; + printf ("Test note: test actions not implemented\n"); + return (AE_ERROR); +*/ + for (i = 0; i < NumData; i++) + { + for (j = 0; j < TestData[i].AdrSpaceHandlerNum; j++) + { + if (TestData[i].InstData[j].SetupInd != + TestData[i].InstData[j].NumSetup) + { + AapiErrors++; + printf ("Api Error: %d Setup Handler number of calls %d" + " is not expected %d\n", + TestData[i].InstData[j].SpaceId, + TestData[i].InstData[j].SetupInd, + TestData[i].InstData[j].NumSetup); + } + if (TestData[i].InstData[j].SetupErr) + { + AapiErrors++; + printf ("Api Error: in %d Setup Handler encountered %d errors\n", + TestData[i].InstData[j].SpaceId, + TestData[i].InstData[j].SetupErr); + } + } + } + + for (i = 0; i < NumAcc; i++) + { + if (AccData[i].AccSetupErr) + { + AapiErrors++; + printf ("Api Error: for %s Setup Handler encountered %d errors\n", + AccData[i].RegionName, AccData[i].AccSetupErr); + } + if (AccData[i].AccInd != AccData[i].NumAcc) + { + AapiErrors++; + printf ("Api Error: %s Acc Handler number of calls %d" + " is not expected %d\n", + AccData[i].RegionName, AccData[i].AccInd, AccData[i].NumAcc); + } + if (AccData[i].AccErr) + { + AapiErrors++; + printf ("Api Error: in %s Acc Handler encountered %d errors\n", + AccData[i].RegionName, AccData[i].AccErr); + } + } + } + + if (AdrSpaceHandlerCounter != ExpectedAdrSpaceHandlerCounter) + { + AapiErrors++; + printf ("Api Error: AdrSpace Handlers invoked %d times instead of %d\n", + AdrSpaceHandlerCounter, ExpectedAdrSpaceHandlerCounter); + return (AE_ERROR); + } + + if (AdrSpaceSetupCounter != ExpectedAdrSpaceSetupCounter) + { + AapiErrors++; + printf ("Api Error: AdrSpace Setup invoked %d times instead of %d\n", + AdrSpaceSetupCounter, ExpectedAdrSpaceSetupCounter); + return (AE_ERROR); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0016: + * + */ +ACPI_STATUS +AtHndlrTest0016(void) +{ + return (AtInstallAdrSpaceHandlerCommon(AdrSpaceTestData0000, + sizeof (AdrSpaceTestData0000) / sizeof (AT_ADR_SPACE_TEST_DATA), + "\\TST0", AdrSpaceAccData0000, + sizeof (AdrSpaceAccData0000) / sizeof (AT_ADR_SPACE_ACC_DATA), + 0, AE_OK)); +} + +/* + * ASSERTION 0017: + * + */ +ACPI_STATUS +AtHndlrTest0017(void) +{ + return (AtInstallAdrSpaceHandlerCommon(AdrSpaceTestData0001, + sizeof (AdrSpaceTestData0001) / sizeof (AT_ADR_SPACE_TEST_DATA), + "\\TST1", AdrSpaceAccData0001, + sizeof (AdrSpaceAccData0001) / sizeof (AT_ADR_SPACE_ACC_DATA), + 0, AE_OK)); +} + +/* + * ASSERTION 0018: + * + */ +ACPI_STATUS +AtHndlrTest0018(void) +{ + return (AtInstallAdrSpaceHandlerCommon(AdrSpaceTestData0002, + sizeof (AdrSpaceTestData0002) / sizeof (AT_ADR_SPACE_TEST_DATA), + "\\TST2", AdrSpaceAccData0002, + sizeof (AdrSpaceAccData0002) / sizeof (AT_ADR_SPACE_ACC_DATA), + 5, AE_OK)); +} + +/* + * ASSERTION 0019: + * + */ +ACPI_STATUS +AtHndlrTest0019(void) +{ + return (AtInstallAdrSpaceHandlerCommon(AdrSpaceTestData0003, + sizeof (AdrSpaceTestData0003) / sizeof (AT_ADR_SPACE_TEST_DATA), + "\\TST3", AdrSpaceAccData0003, + sizeof (AdrSpaceAccData0003) / sizeof (AT_ADR_SPACE_ACC_DATA), + 5, AE_OK)); +} + +/* + * ASSERTION 0020: + * + */ +ACPI_STATUS +AtHndlrTest0020(void) +{ + return (AtInstallAdrSpaceHandlerCommon(AdrSpaceTestData0004, + sizeof (AdrSpaceTestData0004) / sizeof (AT_ADR_SPACE_TEST_DATA), + NULL, NULL, 0, + 6, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0021: + * + */ +ACPI_STATUS +AtHndlrTest0021(void) +{ + return (AtInstallAdrSpaceHandlerCommon(AdrSpaceTestDataSsdt, + sizeof (AdrSpaceTestDataSsdt) / sizeof (AT_ADR_SPACE_TEST_DATA), + NULL, NULL, 0, + 1, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0022: + * + */ +ACPI_STATUS +AtHndlrTest0022(void) +{ + return (AtInstallAdrSpaceHandlerCommon(AdrSpaceTestData0001, + sizeof (AdrSpaceTestData0001) / sizeof (AT_ADR_SPACE_TEST_DATA), + NULL, NULL, 0, + 2, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0023: + * + */ +ACPI_STATUS +AtHndlrTest0023(void) +{ + return (AtInstallAdrSpaceHandlerCommon(AdrSpaceTestData0001, + sizeof (AdrSpaceTestData0001) / sizeof (AT_ADR_SPACE_TEST_DATA), + NULL, NULL, 0, + 3, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0024: + * + */ +ACPI_STATUS +AtHndlrTest0024(void) +{ + return (AtInstallAdrSpaceHandlerCommon(AdrSpaceTestData0001, + sizeof (AdrSpaceTestData0001) / sizeof (AT_ADR_SPACE_TEST_DATA), + NULL, NULL, 0, + 4, AE_ALREADY_EXISTS)); +} + +/* + * ASSERTION 0025: + * + */ +ACPI_STATUS +AtHndlrTest0025(void) +{ + return (AtInstallAdrSpaceHandlerCommon(AdrSpaceTestData0005, + sizeof (AdrSpaceTestData0005) / sizeof (AT_ADR_SPACE_TEST_DATA), + NULL, NULL, 0, + 5, AE_NOT_EXIST)); +} + +ACPI_STATUS +AtInstallAddressSpaceHandlerExceptionTest( + ACPI_OSXF OsxfNum, + AT_ACTD_FLAG ActFlag, + UINT32 ActCode, + UINT32 TFst, + ACPI_STATUS Benchmark, + AT_ADR_SPACE_TEST_DATA *TestData, + UINT32 NumData) +{ + ACPI_STATUS Status; + ACPI_OSXF OsxfNumAct; + UINT32 Continue_Cond; + UINT32 TMax = 10000; + UINT32 i; + ACPI_HANDLE Device; + ACPI_ADR_SPACE_TYPE SpaceId; + ACPI_ADR_SPACE_HANDLER Handler; + ACPI_ADR_SPACE_SETUP Setup; + void *Context; + UINT32 ii, jj; + + AdrSpaceHandlerCounter = 0; + AdrSpaceSetupCounter = 0; + AdrSpaceHandlerTestData.NumData = NumData; + AdrSpaceHandlerTestData.TestData = TestData; + AdrSpaceHandlerTestData.NumAcc = 0; + AdrSpaceHandlerTestData.AccData = NULL; + + for (ii = 0; ii < NumData; ii++) + { + for (jj = 2; jj < TestData[ii].AdrSpaceHandlerNum; jj++) + { + Continue_Cond = 1; + + for (i = TFst; (i < TMax) && Continue_Cond; i++) + { + printf ("AtInstallGpeBlockExceptionTest: ii = %d, jj = %d, i = %d\n", + ii, jj, i); + + Status = AtSubsystemInit( + AAPITS_INI_DEF & ~AAPITS_INSTALL_HS, + AAPITS_EN_FLAGS | ACPI_NO_ADDRESS_SPACE_INIT, + AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (TestData[ii].Pathname) + { + Status = AcpiGetHandle (NULL, TestData[ii].Pathname, + &TestData[ii].Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + TestData[ii].Pathname, AcpiFormatException(Status)); + return (Status); + } + } + else + { + TestData[ii].Device = ACPI_ROOT_OBJECT; + } + + Device = TestData[ii].Device; + + SpaceId = TestData[ii].InstData[jj].SpaceId; + Handler = TestData[ii].InstData[jj].Handler; + Setup = TestData[ii].InstData[jj].Setup; + Context = &TestData[ii].InstData[jj].Context; + + Status = OsxfCtrlSet(OsxfNum, i, ActFlag, ActCode); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: OsxfCtrlSet returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiInstallAddressSpaceHandler(Device, SpaceId, + Handler, Setup, Context); + + if (!(OsxfNumAct = OsxfCtrlGetActOsxf(OsxfNum, 1))) + { + if (i == TFst) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + } + TestPass++; + Continue_Cond = 0; + } + else + { + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiInstallAddressSpaceHandler returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + + if (ACPI_SUCCESS(Status)) + { + Status = AcpiRemoveAddressSpaceHandler(Device, SpaceId, Handler); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiRemoveAddressSpaceHandler returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + } + + Status = AtTerminateCtrlCheck(AE_OK, ALL_STAT); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + if (i >= TMax) + { + TestErrors++; + printf ("Test error: there are test cases remained\n"); + return (AE_ERROR); + } + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0026: + */ +ACPI_STATUS +AtHndlrTest0026(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("hndl0016.aml"))) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + Status = AtInstallAddressSpaceHandlerExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 35, + AE_NO_MEMORY, + AdrSpaceTestData0000, + sizeof (AdrSpaceTestData0000) / sizeof (AT_ADR_SPACE_TEST_DATA)); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + return (AE_OK); + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + Status = AtInstallAddressSpaceHandlerExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY, + AdrSpaceTestData0000, + sizeof (AdrSpaceTestData0000) / sizeof (AT_ADR_SPACE_TEST_DATA)); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + + +/* + * ASSERTION 0027: + */ +ACPI_STATUS +AtHndlrTest0027(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("hndl0016.aml"))) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + Status = AtInstallAddressSpaceHandlerExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY, + AdrSpaceTestData0001, + sizeof (AdrSpaceTestData0001) / sizeof (AT_ADR_SPACE_TEST_DATA)); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + Status = AtInstallAddressSpaceHandlerExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY, + AdrSpaceTestData0001, + sizeof (AdrSpaceTestData0001) / sizeof (AT_ADR_SPACE_TEST_DATA)); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + +ACPI_STATUS +AtRemoveAdrSpaceHandlerCommon( + AT_ADR_SPACE_TEST_DATA *TestData, + UINT32 NumData, + ACPI_STRING AdrSpaceMethod, + AT_ADR_SPACE_ACC_DATA *AccData, + UINT32 NumAcc, + UINT32 CheckAction, + ACPI_STATUS ExpectedStatus) +{ + ACPI_STATUS Status; + ACPI_HANDLE Device; + ACPI_ADR_SPACE_TYPE SpaceId; + ACPI_ADR_SPACE_HANDLER Handler; + ACPI_ADR_SPACE_SETUP Setup; + void *Context; + UINT32 i, j, ii; + UINT32 ExpectedAdrSpaceHandlerCounter = 0; + UINT32 ExpectedAdrSpaceSetupCounter = 0; + UINT32 InitStages = AAPITS_INI_DEF & ~AAPITS_INSTALL_HS; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("hndl0016.aml"))) + { + return (Status); + } + + if (CheckAction == 1) + { + InitStages |= AAPITS_INSTALL_HS; + } + + Status = AtSubsystemInit( + InitStages, + AAPITS_EN_FLAGS | ACPI_NO_ADDRESS_SPACE_INIT, + AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (CheckAction == 1) + { + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_LOAD))) + { + return (Status); + } + } + + for (i = 0; i < NumData; i++) + { + if (TestData[i].Pathname) + { + Status = AcpiGetHandle (NULL, TestData[i].Pathname, + &TestData[i].Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + TestData[i].Pathname, AcpiFormatException(Status)); + return (Status); + } + } + else + { + TestData[i].Device = ACPI_ROOT_OBJECT; + } + } + + if (CheckAction == 0) + { + for (i = 0; i < NumAcc; i++) + { + Status = AcpiGetHandle (NULL, AccData[i].RegionName, + &AccData[i].Object); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + AccData[i].RegionName, AcpiFormatException(Status)); + return (Status); + } + AccData[i].NumAcc = 0; + ExpectedAdrSpaceHandlerCounter += AccData[i].NumAcc; + } + } + + AdrSpaceHandlerCounter = 0; + AdrSpaceSetupCounter = 0; + AdrSpaceHandlerTestData.NumData = NumData; + AdrSpaceHandlerTestData.TestData = TestData; + AdrSpaceHandlerTestData.NumAcc = NumAcc; + AdrSpaceHandlerTestData.AccData = AccData; + for (i = 0; i < NumData; i++) + { + Device = TestData[i].Device; + + for (j = 0; j < TestData[i].AdrSpaceHandlerNum; j++) + { + SpaceId = TestData[i].InstData[j].SpaceId; + Handler = TestData[i].InstData[j].Handler; + Setup = TestData[i].InstData[j].Setup; + Context = &TestData[i].InstData[j].Context; + + if (CheckAction == 0) + { + TestData[i].InstData[j].NumSetup = 0; + ExpectedAdrSpaceSetupCounter += TestData[i].InstData[j].NumSetup; + for (ii = 0; ii < NumAcc; ii++) + { + if (SpaceId == AccData[ii].RegionSpace) + { + break; + } + } + } + + if (CheckAction == 5) + { + Handler = ACPI_DEFAULT_HANDLER; + } + + if (CheckAction != 6) + { + Status = AcpiInstallAddressSpaceHandler(Device, SpaceId, + Handler, Setup, Context); + + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiInstallAddressSpaceHandler" + "(0x%p, %d, 0x%p, 0x%p) returned %s\n", + Device, SpaceId, Handler, Setup, + AcpiFormatException(Status)); + return (Status); + } + } + } + } + + if (CheckAction == 1) + { + /* Make Device handle invalid by unloading SSDT table*/ + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_UNLOAD))) + { + return (Status); + } + } + + for (i = 0; i < NumData; i++) + { + Device = TestData[i].Device; + + for (j = 0; j < TestData[i].AdrSpaceHandlerNum; j++) + { + SpaceId = TestData[i].InstData[j].SpaceId; + Handler = TestData[i].InstData[j].Handler; + + if (CheckAction == 2) + { + SpaceId += 16; + } + else if (CheckAction == 3) + { + Handler = NULL; + } + else if (CheckAction == 4) + { + Handler = TestData[i].InstData[(j + 1) % + TestData[i].AdrSpaceHandlerNum].Handler; + } + else if (CheckAction == 5) + { + Handler = ACPI_DEFAULT_HANDLER; + } + + Status = AcpiRemoveAddressSpaceHandler(Device, SpaceId, Handler); + + if (CheckAction == 4) + { + Handler = TestData[i].InstData[(j + 1) % + TestData[i].AdrSpaceHandlerNum].Handler; + } + + if (Status != ExpectedStatus) + { + AapiErrors++; + printf ("Api Error: AcpiRemoveAddressSpaceHandler(0x%p, %d, 0x%p)" + " returned %s, expected %s\n", + Device, SpaceId, Handler, AcpiFormatException(Status), + AcpiFormatException(ExpectedStatus)); + if (Status != AE_OK) + { + return (Status); + } + else + { + return (AE_ERROR); + } + } + else if (Status == AE_OK) + { + Status = AcpiRemoveAddressSpaceHandler(Device, SpaceId, Handler); + if (Status != AE_NOT_EXIST) + { + AapiErrors++; + printf ("Api Error: AcpiRemoveAddressSpaceHandler(0x%p, %d, 0x%p)" + " returned %s, expected %s\n", + Device, SpaceId, Handler, AcpiFormatException(Status), + AcpiFormatException(AE_NOT_EXIST)); + return (AE_ERROR); + } + } + else if (CheckAction == 4) + { + Status = AcpiRemoveAddressSpaceHandler(Device, SpaceId, + TestData[i].InstData[j].Handler); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiRemoveAddressSpaceHandler(0x%p, %d, 0x%p)" + " returned %s, expected %s\n", + Device, SpaceId, TestData[i].InstData[j].Handler, + AcpiFormatException(Status), + AcpiFormatException(AE_NOT_EXIST)); + return (Status); + } + } + } + } + + if (CheckAction == 0) + { + Status = AcpiEvaluateObject (NULL, AdrSpaceMethod, NULL, NULL); + if (Status != AE_NOT_EXIST) + { + AapiErrors++; + printf ("Api Error: AcpiEvaluateObject(%s) returned %s" + " expected AE_NOT_EXIST\n", + AdrSpaceMethod, AcpiFormatException(Status)); + return (Status); + } + + for (i = 0; i < NumData; i++) + { + for (j = 0; j < TestData[i].AdrSpaceHandlerNum; j++) + { + if (TestData[i].InstData[j].SetupInd != + TestData[i].InstData[j].NumSetup) + { + AapiErrors++; + printf ("Api Error: %d Setup Handler number of calls %d" + " is not expected %d\n", + TestData[i].InstData[j].SpaceId, + TestData[i].InstData[j].SetupInd, + TestData[i].InstData[j].NumSetup); + } + if (TestData[i].InstData[j].SetupErr) + { + AapiErrors++; + printf ("Api Error: in %d Setup Handler encountered %d errors\n", + TestData[i].InstData[j].SpaceId, + TestData[i].InstData[j].SetupErr); + } + } + } + + for (i = 0; i < NumAcc; i++) + { + if (AccData[i].AccInd != AccData[i].NumAcc) + { + AapiErrors++; + printf ("Api Error: %s Acc Handler number of calls %d" + " is not expected %d\n", + AccData[i].RegionName, AccData[i].AccInd, AccData[i].NumAcc); + } + if (AccData[i].AccErr) + { + AapiErrors++; + printf ("Api Error: in %s Acc Handler encountered %d errors\n", + AccData[i].RegionName, AccData[i].AccErr); + } + } + } + + if (AdrSpaceHandlerCounter != ExpectedAdrSpaceHandlerCounter) + { + AapiErrors++; + printf ("Api Error: AdrSpace Handlers invoked %d times instead of %d\n", + AdrSpaceHandlerCounter, ExpectedAdrSpaceHandlerCounter); + return (AE_ERROR); + } + + if (AdrSpaceSetupCounter != ExpectedAdrSpaceSetupCounter) + { + AapiErrors++; + printf ("Api Error: AdrSpace Setup invoked %d times instead of %d\n", + AdrSpaceSetupCounter, ExpectedAdrSpaceSetupCounter); + return (AE_ERROR); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0028: + * + */ +ACPI_STATUS +AtHndlrTest0028(void) +{ + return (AtRemoveAdrSpaceHandlerCommon(AdrSpaceTestData0000, + sizeof (AdrSpaceTestData0000) / sizeof (AT_ADR_SPACE_TEST_DATA), + "\\TST0", AdrSpaceAccData0000, + sizeof (AdrSpaceAccData0000) / sizeof (AT_ADR_SPACE_ACC_DATA), + 0, AE_OK)); +} + +/* + * ASSERTION 0029: + * + */ +ACPI_STATUS +AtHndlrTest0029(void) +{ + return (AtRemoveAdrSpaceHandlerCommon(AdrSpaceTestData0001, + sizeof (AdrSpaceTestData0001) / sizeof (AT_ADR_SPACE_TEST_DATA), + "\\TST1", AdrSpaceAccData0000, + sizeof (AdrSpaceAccData0000) / sizeof (AT_ADR_SPACE_ACC_DATA), + 0, AE_OK)); +} + +/* + * ASSERTION 0030: + * + */ +ACPI_STATUS +AtHndlrTest0030(void) +{ + return (AtRemoveAdrSpaceHandlerCommon(AdrSpaceTestData0004, + sizeof (AdrSpaceTestData0004) / sizeof (AT_ADR_SPACE_TEST_DATA), + NULL, NULL, 0, + 6, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0031: + * + */ +ACPI_STATUS +AtHndlrTest0031(void) +{ + return (AtRemoveAdrSpaceHandlerCommon(AdrSpaceTestDataSsdt, + sizeof (AdrSpaceTestDataSsdt) / sizeof (AT_ADR_SPACE_TEST_DATA), + NULL, NULL, 0, + 1, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0032: + * + */ +ACPI_STATUS +AtHndlrTest0032(void) +{ + return (AtRemoveAdrSpaceHandlerCommon(AdrSpaceTestData0001, + sizeof (AdrSpaceTestData0001) / sizeof (AT_ADR_SPACE_TEST_DATA), + NULL, NULL, 0, + 2, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0033: + * + */ +ACPI_STATUS +AtHndlrTest0033(void) +{ + return (AtRemoveAdrSpaceHandlerCommon(AdrSpaceTestData0001, + sizeof (AdrSpaceTestData0001) / sizeof (AT_ADR_SPACE_TEST_DATA), + NULL, NULL, 0, + 3, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0034: + * + */ +ACPI_STATUS +AtHndlrTest0034(void) +{ + return (AtRemoveAdrSpaceHandlerCommon(AdrSpaceTestData0001, + sizeof (AdrSpaceTestData0001) / sizeof (AT_ADR_SPACE_TEST_DATA), + NULL, NULL, 0, + 4, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0035: + * + */ +ACPI_STATUS +AtHndlrTest0035(void) +{ + return (AtRemoveAdrSpaceHandlerCommon(AdrSpaceTestData0001, + sizeof (AdrSpaceTestData0001) / sizeof (AT_ADR_SPACE_TEST_DATA), + NULL, NULL, 0, + 6, AE_NOT_EXIST)); +} + +/* + * ASSERTION 0036: + * + */ + +static AT_ADR_SPACE_TEST_DATA AdrSpaceTestData0036[] = { + { + "\\PCI1.DEVA", 1 /* AdrSpaceHandlerNum */, + {{2, ACPI_DEFAULT_HANDLER, ACPI_DEFAULT_HANDLER, 0,}} + }, +}; + +static char PathName0[AT_PATHNAME_MAX]; +static char PathName1[AT_PATHNAME_MAX]; +static char PathName2[AT_PATHNAME_MAX]; +static char PathName3[AT_PATHNAME_MAX]; + +ACPI_STATUS +AtAuxHndlrTest0036( + ACPI_STRING DevPath, + ACPI_STATUS ExpectedStatus) +{ + ACPI_STATUS Status; + ACPI_STRING AdrSpaceMethod = PathName0; + ACPI_STRING RegCount = PathName1; + ACPI_STRING RegErrors = PathName2; + ACPI_STRING RegStatus = PathName3; + ACPI_HANDLE Device; + ACPI_ADR_SPACE_TYPE SpaceId = ACPI_ADR_SPACE_PCI_CONFIG; + ACPI_ADR_SPACE_HANDLER Handler = ACPI_DEFAULT_HANDLER; + ACPI_ADR_SPACE_SETUP Setup = ACPI_DEFAULT_HANDLER; + void *TestSpace, *Context = &TestSpace; + + strcpy(AdrSpaceMethod, DevPath); + strcat(AdrSpaceMethod, ".ACC0"); + + Status = AcpiEvaluateObject (NULL, AdrSpaceMethod, NULL, NULL); + + if (Status != ExpectedStatus) + { + AapiErrors++; + printf ("Api Error: AcpiEvaluateObject(%s)" + " returned %s, expected %s\n", + AdrSpaceMethod, AcpiFormatException(Status), + AcpiFormatException(ExpectedStatus)); + if (Status != AE_OK) + { + return (Status); + } + else + { + return (AE_ERROR); + } + } + + Status = AcpiGetHandle (NULL, DevPath, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + DevPath, AcpiFormatException(Status)); + return (Status); + } + + strcpy(RegCount, DevPath); + strcat(RegCount, ".REGC"); + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, RegCount, 0))) + { + return (Status); + } + + Status = AcpiInstallAddressSpaceHandler(Device, SpaceId, + Handler, Setup, Context); + + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiInstallAddressSpaceHandler(0x%p, %d, 0x%p, 0x%p)" + " returned %s\n", + Device, SpaceId, Handler, Setup, AcpiFormatException(Status)); + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, RegCount, 1))) + { + return (Status); + } + + strcpy(RegErrors, DevPath); + strcat(RegErrors, ".REGE"); + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, RegErrors, 0))) + { + return (Status); + } + + strcpy(RegStatus, DevPath); + strcat(RegStatus, ".REGS"); + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, RegStatus, 1))) + { + return (Status); + } + + Status = AcpiEvaluateObject (NULL, AdrSpaceMethod, NULL, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiEvaluateObject(%s) returned %s\n", + AdrSpaceMethod, AcpiFormatException(Status)); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, RegCount, 1))) + { + return (Status); + } + + return (Status); +} + +ACPI_STATUS +AtHndlrTest0036(void) +{ + ACPI_STATUS Status; + UINT32 InitStages = AAPITS_INI_DEF & ~AAPITS_INSTALL_HS; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("hndl0016.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + InitStages, + AAPITS_EN_FLAGS | ACPI_NO_ADDRESS_SPACE_INIT, + AAPITS_OI_FLAGS | ACPI_NO_ADDRESS_SPACE_INIT, + AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } +/* + if (ACPI_FAILURE(Status = AtAuxHndlrTest0036( + "\\PCI1", AE_NOT_EXIST))) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtAuxHndlrTest0036( + "\\PCI2.DEVA", AE_NOT_EXIST))) + { + return (Status); + } +*/ + if (ACPI_FAILURE(Status = AtAuxHndlrTest0036( + "\\PCI2.DEVB", AE_NOT_EXIST))) + { + return (Status); + } + + return (AE_OK); +} + +ACPI_STATUS +AtHndlrTest0037(void) +{ + return (AtInstallAdrSpaceHandlerCommon(AdrSpaceTestData0036, + sizeof (AdrSpaceTestData0036) / sizeof (AT_ADR_SPACE_TEST_DATA), + NULL, NULL, 0, + 0, AE_OK)); +} + +ACPI_STATUS +AtRemoveAdrSpaceHandlerDynReg( + AT_ADR_SPACE_TEST_DATA *TestData, + UINT32 NumData, + ACPI_STRING AdrSpaceMethod, + AT_ADR_SPACE_ACC_DATA *AccData, + UINT32 NumAcc, + ACPI_STATUS ExpectedStatus) +{ + ACPI_STATUS Status; + ACPI_HANDLE Device; + ACPI_ADR_SPACE_TYPE SpaceId; + ACPI_ADR_SPACE_HANDLER Handler; + ACPI_ADR_SPACE_SETUP Setup; + void *Context; + UINT32 i, j, ii; + UINT32 ExpectedAdrSpaceHandlerCounter = 0; + UINT32 ExpectedAdrSpaceSetupCounter = 0; + UINT32 InitStages = AAPITS_INI_DEF & ~AAPITS_INSTALL_HS; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("hndl0038.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + InitStages, + AAPITS_EN_FLAGS | ACPI_NO_ADDRESS_SPACE_INIT, + AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 0; i < NumData; i++) + { + if (TestData[i].Pathname) + { + Status = AcpiGetHandle (NULL, TestData[i].Pathname, + &TestData[i].Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + TestData[i].Pathname, AcpiFormatException(Status)); + return (Status); + } + } + else + { + TestData[i].Device = ACPI_ROOT_OBJECT; + } + } + + for (i = 0; i < NumAcc; i++) + { + if (AccData[i].RegionSpace == 4 /* SMBus */) + { + AccData[i].NumAcc = 1; + } + else + { + AccData[i].NumAcc = (AccData[i].FieldSize + + AccData[i].Width - 1) / AccData[i].Width; + if (AccData[i].FieldSize % AccData[i].Width) + { /* Write operation as read/write */ + AccData[i].NumAcc++; + } + } + ExpectedAdrSpaceHandlerCounter += AccData[i].NumAcc; + } + + AdrSpaceHandlerCounter = 0; + AdrSpaceSetupCounter = 0; + AdrSpaceHandlerTestData.NumData = NumData; + AdrSpaceHandlerTestData.TestData = TestData; + AdrSpaceHandlerTestData.NumAcc = NumAcc; + AdrSpaceHandlerTestData.AccData = AccData; + + /* Install Handlers */ + for (i = 0; i < NumData; i++) + { + Device = TestData[i].Device; + + for (j = 0; j < TestData[i].AdrSpaceHandlerNum; j++) + { + SpaceId = TestData[i].InstData[j].SpaceId; + Handler = TestData[i].InstData[j].Handler; + Setup = TestData[i].InstData[j].Setup; + Context = &TestData[i].InstData[j].Context; + TestData[i].InstData[j].NumSetup = 0; + + for (ii = 0; ii < NumAcc; ii++) + { + if (SpaceId != AccData[ii].RegionSpace) + { + continue; + } + TestData[i].InstData[j].NumSetup += 2; + } + ExpectedAdrSpaceSetupCounter += TestData[i].InstData[j].NumSetup; + + Status = AcpiInstallAddressSpaceHandler(Device, SpaceId, + Handler, Setup, Context); + + if (Status != ExpectedStatus) + { + AapiErrors++; + printf ("Api Error: AcpiInstallAddressSpaceHandler(0x%p, %d, 0x%p, 0x%p)" + " returned %s, expected %s\n", + Device, SpaceId, Handler, Setup, AcpiFormatException(Status), + AcpiFormatException(ExpectedStatus)); + if (Status != AE_OK) + { + return (Status); + } + else + { + return (AE_ERROR); + } + } + } + } + + /* Access Regions */ + if (AdrSpaceMethod) + { + Status = AcpiEvaluateObject (NULL, AdrSpaceMethod, NULL, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiEvaluateObject(%s) returned %s\n", + AdrSpaceMethod, AcpiFormatException(Status)); + return (Status); + } + + } + + /* Remove Handlers */ + for (i = 0; i < NumData; i++) + { + Device = TestData[i].Device; + + for (j = 0; j < TestData[i].AdrSpaceHandlerNum; j++) + { + SpaceId = TestData[i].InstData[j].SpaceId; + Handler = TestData[i].InstData[j].Handler; + + Status = AcpiRemoveAddressSpaceHandler(Device, SpaceId, Handler); + + if (Status != ExpectedStatus) + { + AapiErrors++; + printf ("Api Error: AcpiRemoveAddressSpaceHandler(0x%p, %d, 0x%p)" + " returned %s, expected %s\n", + Device, SpaceId, Handler, AcpiFormatException(Status), + AcpiFormatException(ExpectedStatus)); + if (Status != AE_OK) + { + return (Status); + } + else + { + return (AE_ERROR); + } + } + else if (Status == AE_OK) + { + Status = AcpiRemoveAddressSpaceHandler(Device, SpaceId, Handler); + if (Status != AE_NOT_EXIST) + { + AapiErrors++; + printf ("Api Error: AcpiRemoveAddressSpaceHandler(0x%p, %d, 0x%p)" + " returned %s, expected %s\n", + Device, SpaceId, Handler, AcpiFormatException(Status), + AcpiFormatException(AE_NOT_EXIST)); + return (AE_ERROR); + } + } + } + } + + /* Check Results */ + if (AdrSpaceMethod) + { + for (i = 0; i < NumData; i++) + { + for (j = 0; j < TestData[i].AdrSpaceHandlerNum; j++) + { + if (TestData[i].InstData[j].SetupInd != + TestData[i].InstData[j].NumSetup) + { + AapiErrors++; + printf ("Api Error: %d Setup Handler number of calls %d" + " is not expected %d\n", + TestData[i].InstData[j].SpaceId, + TestData[i].InstData[j].SetupInd, + TestData[i].InstData[j].NumSetup); + } + if (TestData[i].InstData[j].SetupErr) + { + AapiErrors++; + printf ("Api Error: in %d Setup Handler encountered %d errors\n", + TestData[i].InstData[j].SpaceId, + TestData[i].InstData[j].SetupErr); + } + } + } + + for (i = 0; i < NumAcc; i++) + { + if (AccData[i].AccSetupErr) + { + AapiErrors++; + printf ("Api Error: for %s Setup Handler encountered %d errors\n", + AccData[i].RegionName, AccData[i].AccSetupErr); + } + if (AccData[i].AccInd != AccData[i].NumAcc) + { + AapiErrors++; + printf ("Api Error: %s Acc Handler number of calls %d" + " is not expected %d\n", + AccData[i].RegionName, AccData[i].AccInd, AccData[i].NumAcc); + } + if (AccData[i].AccErr) + { + AapiErrors++; + printf ("Api Error: in %s Acc Handler encountered %d errors\n", + AccData[i].RegionName, AccData[i].AccErr); + } + } + } + + if (AdrSpaceHandlerCounter != ExpectedAdrSpaceHandlerCounter) + { + AapiErrors++; + printf ("Api Error: AdrSpace Handlers invoked %d times instead of %d\n", + AdrSpaceHandlerCounter, ExpectedAdrSpaceHandlerCounter); + return (AE_ERROR); + } + + if (AdrSpaceSetupCounter != ExpectedAdrSpaceSetupCounter) + { + AapiErrors++; + printf ("Api Error: AdrSpace Setup invoked %d times instead of %d\n", + AdrSpaceSetupCounter, ExpectedAdrSpaceSetupCounter); + return (AE_ERROR); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +static AT_ADR_SPACE_ACC_DATA AdrSpaceAccData0038[] = { + {"\\OPR0", 0, 0x00000, 0x10000, 70, 8}, + {"\\OPR1", 1, 0x21000, 0x11000, 71, 8}, + {"\\OPR2", 2, 0x32000, 0x12000, 72, 8}, + {"\\OPR3", 3, 0x45000, 0x13000, 73, 8}, + {"\\OPR4", 4, 0x69000, 0x14000, 74, 8}, + {"\\OPR5", 5, 0x83000, 0x15000, 75, 8}, + {"\\OPR6", 6, 0x98000, 0x16000, 76, 8}, + {"\\DEV0.OPR0", 0, 0x100000, 0x10000, 70, 8}, + {"\\DEV0.OPR1", 1, 0x121000, 0x11000, 71, 8}, + {"\\CPU0.OPR2", 2, 0x132000, 0x12000, 72, 8}, + {"\\CPU0.OPR3", 3, 0x145000, 0x13000, 73, 8}, + {"\\CPU0.OPR4", 4, 0x169000, 0x14000, 74, 8}, + {"\\TZN0.OPR5", 5, 0x183000, 0x15000, 75, 8}, + {"\\TZN0.OPR6", 6, 0x198000, 0x16000, 76, 8}, + {"\\TST6.OPR0", 0, 0x10001, 0x10000, 70, 8}, + {"\\TST6.OPR1", 1, 0x32001, 0x11000, 71, 8}, + {"\\TST6.OPR2", 2, 0x44001, 0x12000, 72, 8}, + {"\\TST6.OPR3", 3, 0x58001, 0x13000, 73, 8}, + {"\\TST6.OPR4", 4, 0x7d001, 0x14000, 74, 8}, + {"\\TST6.OPR5", 5, 0x98001, 0x15000, 75, 8}, + {"\\TST6.OPR6", 6, 0xae001, 0x16000, 76, 8}, +}; + +/* + * ASSERTION 0038: + * + */ +ACPI_STATUS +AtHndlrTest0038(void) +{ + return (AtRemoveAdrSpaceHandlerDynReg(AdrSpaceTestData0000, + sizeof (AdrSpaceTestData0000) / sizeof (AT_ADR_SPACE_TEST_DATA), + "\\TST7", AdrSpaceAccData0038, + sizeof (AdrSpaceAccData0038) / sizeof (AT_ADR_SPACE_ACC_DATA), + AE_OK)); +} diff --git a/tests/aapits/athandlers.h b/tests/aapits/athandlers.h new file mode 100644 index 0000000..edcf018 --- /dev/null +++ b/tests/aapits/athandlers.h @@ -0,0 +1,52 @@ +/****************************************************************************** + * + * Module Name: athandlers - predefinitions of tests of the test case + * + *****************************************************************************/ + +#ifndef _ATHANDLERS +#define _ATHANDLERS + +AT_TEST AtHndlrTest0000; +AT_TEST AtHndlrTest0001; +AT_TEST AtHndlrTest0002; +AT_TEST AtHndlrTest0003; +AT_TEST AtHndlrTest0004; +AT_TEST AtHndlrTest0005; +AT_TEST AtHndlrTest0006; +AT_TEST AtHndlrTest0007; +AT_TEST AtHndlrTest0008; +AT_TEST AtHndlrTest0009; +AT_TEST AtHndlrTest0010; +AT_TEST AtHndlrTest0011; +AT_TEST AtHndlrTest0012; +AT_TEST AtHndlrTest0013; +AT_TEST AtHndlrTest0014; +AT_TEST AtHndlrTest0015; +AT_TEST AtHndlrTest0016; +AT_TEST AtHndlrTest0017; +AT_TEST AtHndlrTest0018; +AT_TEST AtHndlrTest0019; +AT_TEST AtHndlrTest0020; +AT_TEST AtHndlrTest0021; +AT_TEST AtHndlrTest0022; +AT_TEST AtHndlrTest0023; +AT_TEST AtHndlrTest0024; +AT_TEST AtHndlrTest0025; +AT_TEST AtHndlrTest0026; +AT_TEST AtHndlrTest0027; +AT_TEST AtHndlrTest0028; +AT_TEST AtHndlrTest0029; +AT_TEST AtHndlrTest0030; +AT_TEST AtHndlrTest0031; +AT_TEST AtHndlrTest0032; +AT_TEST AtHndlrTest0033; +AT_TEST AtHndlrTest0034; +AT_TEST AtHndlrTest0035; +AT_TEST AtHndlrTest0036; +AT_TEST AtHndlrTest0037; +AT_TEST AtHndlrTest0038; + +#define AT_HNDM_TEST_NUM 39 + +#endif /* _ATHANDLERS */ diff --git a/tests/aapits/athardware.c b/tests/aapits/athardware.c new file mode 100644 index 0000000..bfb0df1 --- /dev/null +++ b/tests/aapits/athardware.c @@ -0,0 +1,3123 @@ +/****************************************************************************** + * + * Module Name: athardware - ACPICA Hardware Management API tests + * + *****************************************************************************/ + +#include "atcommon.h" +#include "athardware.h" +#include "atosxfctrl.h" + +#define _COMPONENT ACPI_TOOLS + ACPI_MODULE_NAME ("athardware") + +/* + * ASSERTION 0000: + */ +ACPI_STATUS +AtHardwTest0000(void) +{ + ACPI_STATUS Status; + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS/* | ACPI_NO_ACPI_ENABLE*/, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* Legacy */ + Status = AcpiOsWritePort (0x00000001, 0x00000000, 0x00000008); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("AcpiOsWritePort(0x00000001, 0x00000000, 0x00000008) returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + /* Status */ + Status = AcpiOsWritePort (0x000000b0, 0x00000000, 0x00000010); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("AcpiOsWritePort(0x000000b0, 0x00000000, 0x00000010) returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + +/* + * Provide writing to relevant register + */ + Status = AcpiEnable(); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiEnable() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0001: + */ +ACPI_STATUS +AtHardwTest0001(void) +{ + ACPI_STATUS Status; + + NullBldTask.ErrScale |= ZERO_SMICMD_FADT; + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS/* | ACPI_NO_ACPI_ENABLE*/, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* Legacy */ + Status = AcpiOsWritePort (0x00000001, 0x00000000, 0x00000008); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("AcpiOsWritePort(0x00000001, 0x00000000, 0x00000008) returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + /* Status */ + Status = AcpiOsWritePort (0x000000b0, 0x00000000, 0x00000010); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("AcpiOsWritePort(0x000000b0, 0x00000000, 0x00000010) returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiEnable(); + if (Status != AE_ERROR) + { + AapiErrors++; + printf ("API error: AcpiEnable() returned %s, expected AE_ERROR\n", + AcpiFormatException(Status)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0002: + */ +ACPI_STATUS +AtHardwTest0002(void) +{ + ACPI_STATUS Status; + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS/* | ACPI_NO_ACPI_ENABLE*/, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* Legacy */ + Status = AcpiOsWritePort (0x00000001, 0x00000000, 0x00000008); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("AcpiOsWritePort(0x00000001, 0x00000000, 0x00000008) returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + /* Status */ + Status = AcpiOsWritePort (0x000000b0, 0x00000000, 0x00000010); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("AcpiOsWritePort(0x000000b0, 0x00000000, 0x00000010) returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiEnable(); + if (Status != AE_ERROR) + { + AapiErrors++; + printf ("API error: AcpiEnable() returned %s, expected AE_ERROR\n", + AcpiFormatException(Status)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0003: + */ +ACPI_STATUS +AtHardwTest0003(void) +{ + ACPI_STATUS Status; + + Status = AtSubsystemInit(AAPITS_INITIALIZE_SS, 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* Legacy */ + Status = AcpiOsWritePort (0x00000001, 0x00000000, 0x00000008); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("AcpiOsWritePort(0x00000001, 0x00000000, 0x00000008) returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + /* Status */ + Status = AcpiOsWritePort (0x000000b0, 0x00000000, 0x00000010); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("AcpiOsWritePort(0x000000b0, 0x00000000, 0x00000010) returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiEnable(); + if (Status != AE_NO_ACPI_TABLES) + { + AapiErrors++; + printf ("API error: AcpiEnable() returned %s, expected %s\n", + AcpiFormatException(Status), AcpiFormatException(AE_NO_ACPI_TABLES)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0004: + */ +ACPI_STATUS +AtHardwTest0004(void) +{ + ACPI_STATUS Status; + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + +/* + * Provide writing to relevant register + */ + Status = AcpiDisable(); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiDisable() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0005: + */ +ACPI_STATUS +AtHardwTest0005(void) +{ + ACPI_STATUS Status; + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiDisable(); + if (Status != AE_ERROR) + { + AapiErrors++; + printf ("API error: AcpiDisable() returned %s, expected AE_ERROR\n", + AcpiFormatException(Status)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* Bit registers interface Ids */ +static UINT32 BitRegIds[] = +{ + /* 1-bit width registers */ + ACPI_BITREG_TIMER_STATUS, + ACPI_BITREG_BUS_MASTER_STATUS, + ACPI_BITREG_GLOBAL_LOCK_STATUS, + ACPI_BITREG_POWER_BUTTON_STATUS, + ACPI_BITREG_SLEEP_BUTTON_STATUS, + ACPI_BITREG_RT_CLOCK_STATUS, + ACPI_BITREG_WAKE_STATUS, + ACPI_BITREG_PCIEXP_WAKE_STATUS, + ACPI_BITREG_TIMER_ENABLE, + ACPI_BITREG_GLOBAL_LOCK_ENABLE, + ACPI_BITREG_POWER_BUTTON_ENABLE, + ACPI_BITREG_SLEEP_BUTTON_ENABLE, + ACPI_BITREG_RT_CLOCK_ENABLE, + ACPI_BITREG_PCIEXP_WAKE_DISABLE, + ACPI_BITREG_SCI_ENABLE, + ACPI_BITREG_BUS_MASTER_RLD, + ACPI_BITREG_GLOBAL_LOCK_RELEASE, + ACPI_BITREG_SLEEP_ENABLE, + ACPI_BITREG_ARB_DISABLE, + /* 3-bit width registers */ + ACPI_BITREG_SLEEP_TYPE, + ACPI_BITREG_SLEEP_TYPE, +}; + +/* Bit registers position */ +static UINT32 BitRegPos[] = +{ + 0x00 /* ACPI_BITREG_TIMER_STATUS */, + 0x04 /* ACPI_BITREG_BUS_MASTER_STATUS */, + 0x05 /* ACPI_BITREG_GLOBAL_LOCK_STATUS */, + 0x08 /* ACPI_BITREG_POWER_BUTTON_STATUS */, + 0x09 /* ACPI_BITREG_SLEEP_BUTTON_STATUS */, + 0x0A /* ACPI_BITREG_RT_CLOCK_STATUS */, + 0x0F /* ACPI_BITREG_WAKE_STATUS */, + 0x0E /* ACPI_BITREG_PCIEXP_WAKE_STATUS */, + 0x00 /* ACPI_BITREG_TIMER_ENABLE */, + 0x05 /* ACPI_BITREG_GLOBAL_LOCK_ENABLE */, + 0x08 /* ACPI_BITREG_POWER_BUTTON_ENABLE */, + 0x09 /* ACPI_BITREG_SLEEP_BUTTON_ENABLE */, + 0x0A /* ACPI_BITREG_RT_CLOCK_ENABLE */, + 0x0E /* ACPI_BITREG_PCIEXP_WAKE_DISABLE */, + 0x00 /* ACPI_BITREG_SCI_ENABLE */, + 0x01 /* ACPI_BITREG_BUS_MASTER_RLD */, + 0x02 /* ACPI_BITREG_GLOBAL_LOCK_RELEASE */, + 0x0D /* ACPI_BITREG_SLEEP_ENABLE */, + 0x00 /* ACPI_BITREG_ARB_DISABLE */, + 0x0A /* ACPI_BITREG_SLEEP_TYPE */, +}; + +static UINT32 StatusRegIds[] = +{ + ACPI_BITREG_TIMER_STATUS, + ACPI_BITREG_BUS_MASTER_STATUS, + ACPI_BITREG_GLOBAL_LOCK_STATUS, + ACPI_BITREG_POWER_BUTTON_STATUS, + ACPI_BITREG_SLEEP_BUTTON_STATUS, + ACPI_BITREG_RT_CLOCK_STATUS, + ACPI_BITREG_WAKE_STATUS, + ACPI_BITREG_PCIEXP_WAKE_STATUS, +}; + +static UINT32 EnableRegIds[] = +{ + ACPI_BITREG_TIMER_ENABLE, + ACPI_BITREG_GLOBAL_LOCK_ENABLE, + ACPI_BITREG_POWER_BUTTON_ENABLE, + ACPI_BITREG_SLEEP_BUTTON_ENABLE, + ACPI_BITREG_RT_CLOCK_ENABLE, + ACPI_BITREG_PCIEXP_WAKE_DISABLE, +}; + +static UINT32 ControlRegIds[] = +{ + ACPI_BITREG_SCI_ENABLE, + ACPI_BITREG_BUS_MASTER_RLD, + ACPI_BITREG_GLOBAL_LOCK_RELEASE, + ACPI_BITREG_SLEEP_TYPE, + ACPI_BITREG_SLEEP_ENABLE, +}; + +static UINT32 Control2RegIds[] = +{ + ACPI_BITREG_ARB_DISABLE, +}; + +#define IS3BITREG(BitRegId) (BitRegId == ACPI_BITREG_SLEEP_TYPE) +#define ISWRITE_ONLYBITREG(BitRegId) \ + ((BitRegId == ACPI_BITREG_GLOBAL_LOCK_RELEASE) || \ + (BitRegId == ACPI_BITREG_SLEEP_ENABLE)) + +UINT32 +IsBitRegOfType(UINT32 RegisterId, UINT32 RegIds[], UINT32 NumIds) +{ + UINT32 Ret = 0; + UINT32 i; + + for (i = 0; i < NumIds; i++) + { + if (RegIds[i] == RegisterId) + { + Ret = 1; + break; + } + } + return (Ret); +} + +UINT32 +IsStatusRegister(UINT32 RegisterId) +{ + return (IsBitRegOfType(RegisterId, StatusRegIds, + sizeof (StatusRegIds) / sizeof (UINT32))); +} + +UINT32 +IsEnableRegister(UINT32 RegisterId) +{ + return (IsBitRegOfType(RegisterId, EnableRegIds, + sizeof (EnableRegIds) / sizeof (UINT32))); +} + +UINT32 +IsControlRegister(UINT32 RegisterId) +{ + return (IsBitRegOfType(RegisterId, ControlRegIds, + sizeof (ControlRegIds) / sizeof (UINT32))); +} + +UINT32 +IsControl2Register(UINT32 RegisterId) +{ + return (IsBitRegOfType(RegisterId, Control2RegIds, + sizeof (Control2RegIds) / sizeof (UINT32))); +} + +UINT32 +IsBitDefinedRegister(UINT32 RegisterId) +{ + return (IsBitRegOfType(RegisterId, BitRegIds, + sizeof (BitRegIds) / sizeof (UINT32))); +} + +AT_FIXED_REG_NUM +GetRegNum(UINT32 RegisterId) +{ + if (IsStatusRegister(RegisterId)) + { + return (AtPm1aStatus); + } + else if (IsEnableRegister(RegisterId)) + { + return (AtPm1aEnable); + } + else if (IsControlRegister(RegisterId)) + { + return (AtPm1aControl); + } + else if (IsControl2Register(RegisterId)) + { + return (AtPm2Control); + } + else + { + return (AtFixeReg_All); + } +} + +/* + * ASSERTION 0006: + */ +ACPI_STATUS +AtHardwTest0006(void) +{ + ACPI_STATUS Status; + UINT32 RegisterId; + AT_FIXED_REG_NUM RegNum; + UINT32 ReturnValue; + UINT32 NormValue; + UINT32 SetValue; + UINT32 i; + + Status = AtSubsystemInit(AAPITS_INI_LOAD, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 0; i < sizeof (BitRegIds) / sizeof (UINT32); i++) + { + RegisterId = BitRegIds[i]; + + Status = OsxfCtrlClearFixedRegs(); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error %d: OsxfCtrlClearFixedRegs() returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + + /* Check cleared BitReg */ + + Status = AcpiReadBitRegister(RegisterId, &ReturnValue); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error %d: AcpiGetRegister(%d) returned %s\n", + i, RegisterId, AcpiFormatException(Status)); + return (Status); + } + + if (ReturnValue != 0x0) + { + AapiErrors++; + printf ("API error %d: AcpiGetRegister(%d) extracted 0x%x" + ", expected 0x0\n", + i, RegisterId, ReturnValue); + return (AE_ERROR); + } + + /* Set BitReg to 1 */ + + NormValue = (IS3BITREG(RegisterId))? 0x07: 0x01; + + RegNum = GetRegNum(RegisterId); + SetValue = NormValue << BitRegPos[i]; + Status = OsxfCtrlSetFixedReg(RegNum, SetValue); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error %d: OsxfCtrlSetFixedReg() returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + + /* Check BitReg to be set */ + + Status = AcpiReadBitRegister(RegisterId, &ReturnValue); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error %d: AcpiGetRegister(%d) returned %s\n", + i, RegisterId, AcpiFormatException(Status)); + return (Status); + } + + if (!AT_SKIP_WRITE_ONLY_BITS_CHECK && + ISWRITE_ONLYBITREG(RegisterId)) + { + NormValue = 0x00; + } + + if (ReturnValue != NormValue) + { + AapiErrors++; + printf ("API error %d: AcpiGetRegister(%d) extracted 0x%x" + ", expected 0x%x\n", + i, RegisterId, ReturnValue, NormValue); + return (AE_ERROR); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + + +/* + * ASSERTION 0007: + */ +ACPI_STATUS +AtHardwTest0007(void) +{ + ACPI_STATUS Status; + UINT32 ReturnValue; + UINT32 i; + UINT32 MaxId = 65; + UINT32 CheckLimit = 3; + UINT32 CheckCount = 0; + + Status = AtSubsystemInit(AAPITS_INI_LOAD, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 0; i < MaxId; i++) + { +#if OBSOLETE_CODE +#if !AT_BITREG_WAKE_ENABLE_CHECK + if (i == ACPI_BITREG_WAKE_ENABLE) + { + continue; + } +#endif +#endif + + if (IsBitDefinedRegister(i)) + { + continue; + } + + Status = AcpiReadBitRegister(i, &ReturnValue); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("API error: AcpiGetRegister(%d) returned %s, expected %s\n", + i, AcpiFormatException(Status), AcpiFormatException(AE_BAD_PARAMETER)); + return (Status); + } + CheckCount++; + } + + if (CheckCount < CheckLimit) + { + TestErrors++; + printf ("Test error: number of checks less then expected(%d) limit %u\n", + CheckCount, CheckLimit); + return (AE_ERROR); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +static UINT32 BitDefinedRegMasks[AtFixeReg_All] = +{ + 0xC731, + 0x0000, + 0x4721, + 0x0000, + 0x3C07, + 0x0000, + 0x0001, + 0x0000, + 0x0000, +}; + +/* + * ASSERTION 0008: + */ +ACPI_STATUS +AtHardwTest0008(void) +{ + ACPI_STATUS Status; + UINT32 RegisterId; + AT_FIXED_REG_NUM RegNum; + UINT32 NormValue; + UINT32 IniValue; + UINT32 SetValue; + UINT32 BitDefinedRegMask; + UINT32 i; + + Status = AtSubsystemInit(AAPITS_INI_LOAD, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 0; i < sizeof (BitRegIds) / sizeof (UINT32); i++) + { + RegisterId = BitRegIds[i]; + + Status = OsxfCtrlClearFixedRegs(); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error %d: OsxfCtrlClearFixedRegs() returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + + RegNum = GetRegNum(RegisterId); + BitDefinedRegMask = BitDefinedRegMasks[RegNum]; + + Status = OsxfCtrlSetFixedRegOnes(RegNum); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error %d: OsxfCtrlSetFixedRegOnes() returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + (void)OsxfCtrlGetFixedReg(RegNum, &IniValue); + + /* Check setting BitReg to 0 */ + + Status = AcpiWriteBitRegister(RegisterId, 0); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error %d: AcpiSetRegister() returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + + NormValue = (IS3BITREG(RegisterId))? 0x07: 0x01; + + if (IsStatusRegister(RegisterId)) + { + /* No sense to set a Status bit to 0*/ + NormValue = 0; + } + if (RegisterId == ACPI_BITREG_SCI_ENABLE) + { + /* "OSPM always preserves this bit position" */ + NormValue = 0; + } + + Status = OsxfCtrlGetFixedReg(RegNum, &SetValue); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error %d: OsxfCtrlSetFixedReg() returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + + /* Check cleared bits */ + if ((BitDefinedRegMask & SetValue) != + (BitDefinedRegMask & (IniValue & ~(NormValue << BitRegPos[i])))) + { + AapiErrors++; + printf ("API error %d: AcpiSetRegister(0) results in 0x%x," + " expected 0x%x\n", + i, SetValue, IniValue & ~(NormValue << BitRegPos[i])); + return (Status); + } + + /* Check reserved and ignored bits */ + if (!AT_SKIP_STATUS_REG_RESBIT_CHECK && + IsStatusRegister(RegisterId)) + { + /* Preserved by writing as zeros (and they remain the same) */ + if ((~BitDefinedRegMask & SetValue) != + (~BitDefinedRegMask & (IniValue & ~(NormValue << BitRegPos[i])))) + { + AapiErrors++; + printf ("API error %d: undefined bits of Status Register results in 0x%x," + " expected 0x%x\n", + i, ~BitDefinedRegMask & SetValue, + ~BitDefinedRegMask & (IniValue & ~(NormValue << BitRegPos[i]))); + return (Status); + } + } + else if (!AT_SKIP_ENABLE_REG_RESBIT_CHECK && + IsEnableRegister(RegisterId)) + { + /* Preserved by writing as zeros */ + if ((~BitDefinedRegMask & SetValue) != 0) + { + AapiErrors++; + printf ("API error %d: undefined bits of Enable Register results in 0x%x," + " expected 0x%x\n", + i, ~BitDefinedRegMask & SetValue, 0); + return (Status); + } + } + else if (IsControlRegister(RegisterId)) + { + /* Preserved by writing back read values */ + if ((~BitDefinedRegMask & SetValue) != + (~BitDefinedRegMask & (IniValue & ~(NormValue << BitRegPos[i])))) + { + AapiErrors++; + printf ("API error %d: undefined bits of Control Register results in 0x%x," + " expected 0x%x\n", + i, ~BitDefinedRegMask & SetValue, + ~BitDefinedRegMask & (IniValue & ~(NormValue << BitRegPos[i]))); + return (Status); + } + } + + /* Prepare to setting BitReg to 1 */ + + Status = OsxfCtrlSetFixedReg(RegNum, 0); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error %d: OsxfCtrlSetFixedRegOnes() returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + (void)OsxfCtrlGetFixedReg(RegNum, &IniValue); + + /* Check setting BitReg to 1 */ + + NormValue = (IS3BITREG(RegisterId))? 0x07: 0x01; + + Status = AcpiWriteBitRegister(RegisterId, NormValue); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error %d: AcpiSetRegister(1) returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + + if (IsStatusRegister(RegisterId)) + { + /* Zero Status bits remain the same */ + NormValue = 0; + } + if (RegisterId == ACPI_BITREG_SCI_ENABLE) + { + /* "OSPM always preserves this bit position" */ + NormValue = 0; + } + + Status = OsxfCtrlGetFixedReg(RegNum, &SetValue); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error %d: OsxfCtrlSetFixedReg() returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + + /* Check set bits */ + if ((BitDefinedRegMask & SetValue) != + (BitDefinedRegMask & (IniValue | (NormValue << BitRegPos[i])))) + { + AapiErrors++; + printf ("API error %d: AcpiSetRegister(1) results in 0x%x," + " expected 0x%x\n", + i, SetValue, IniValue | (NormValue << BitRegPos[i])); + return (Status); + } + + /* Check reserved and ignored bits */ + if (!AT_SKIP_STATUS_REG_RESBIT_CHECK && + IsStatusRegister(RegisterId)) + { + /* Preserved by writing as zeros (and they remain the same) */ + if ((~BitDefinedRegMask & SetValue) != + (~BitDefinedRegMask & (IniValue & ~(NormValue << BitRegPos[i])))) + { + AapiErrors++; + printf ("API error %d: undefined bits of Status Register results in 0x%x," + " expected 0x%x\n", + i, ~BitDefinedRegMask & SetValue, + ~BitDefinedRegMask & (IniValue & ~(NormValue << BitRegPos[i]))); + return (Status); + } + } + else if (!AT_SKIP_ENABLE_REG_RESBIT_CHECK && + IsEnableRegister(RegisterId)) + { + /* Preserved by writing as zeros */ + if ((~BitDefinedRegMask & SetValue) != 0) + { + AapiErrors++; + printf ("API error %d: undefined bits of Enable Register results in 0x%x," + " expected 0x%x\n", + i, ~BitDefinedRegMask & SetValue, 0); + return (Status); + } + } + else if (IsControlRegister(RegisterId)) + { + /* Preserved by writing back read values */ + if ((~BitDefinedRegMask & SetValue) != + (~BitDefinedRegMask & (IniValue & ~(NormValue << BitRegPos[i])))) + { + AapiErrors++; + printf ("API error %d: undefined bits of Control Register results in 0x%x," + " expected 0x%x\n", + i, ~BitDefinedRegMask & SetValue, + ~BitDefinedRegMask & (IniValue & ~(NormValue << BitRegPos[i]))); + return (Status); + } + } + + /* Prepare to setting Status BitReg to 1, when the others are Ones */ + + if (!IsStatusRegister(RegisterId)) + { + continue; + } + + Status = OsxfCtrlSetFixedRegOnes(RegNum); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error %d: OsxfCtrlSetFixedRegOnes() returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + (void)OsxfCtrlGetFixedReg(RegNum, &IniValue); + + Status = AcpiWriteBitRegister(RegisterId, 1); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error %d: AcpiSetRegister(1) returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + + Status = OsxfCtrlGetFixedReg(RegNum, &SetValue); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error %d: OsxfCtrlSetFixedReg() returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + + /* Check set bits */ + if ((BitDefinedRegMask & SetValue) != + (BitDefinedRegMask & (IniValue & ~(1 << BitRegPos[i])))) + { + AapiErrors++; + printf ("API error %d: AcpiSetRegister(1) results in 0x%x," + " expected 0x%x\n", + i, SetValue, IniValue & ~(1 << BitRegPos[i])); + return (Status); + } + + /* Check reserved and ignored bits*/ + /* Preserved by writing as zeros (and they remain the same) */ + if (!AT_SKIP_STATUS_REG_RESBIT_CHECK && + ((~BitDefinedRegMask & SetValue) != + (~BitDefinedRegMask & (IniValue & ~(NormValue << BitRegPos[i]))))) + { + AapiErrors++; + printf ("API error %d: undefined bits of Status Register results in 0x%x," + " expected 0x%x\n", + i, ~BitDefinedRegMask & SetValue, + ~BitDefinedRegMask & (IniValue & ~(NormValue << BitRegPos[i]))); + return (Status); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + + +/* + * ASSERTION 0009: + */ +ACPI_STATUS +AtHardwTest0009(void) +{ + ACPI_STATUS Status; + UINT32 Value = 0; + UINT32 i; + UINT32 MaxId = 33; + UINT32 CheckLimit = 3; + UINT32 CheckCount = 0; + + Status = AtSubsystemInit(AAPITS_INI_LOAD, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 0; i < MaxId; i++) + { +#if OBSOLETE_CODE +#if !AT_BITREG_WAKE_ENABLE_CHECK + if (i == ACPI_BITREG_WAKE_ENABLE) + { + continue; + } +#endif +#endif + if (IsBitDefinedRegister(i)) + { + continue; + } + + Status = AcpiWriteBitRegister(i, Value); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("API error: AcpiSetRegister(%d) returned %s, expected %s\n", + i, AcpiFormatException(Status), AcpiFormatException(AE_BAD_PARAMETER)); + return (Status); + } + CheckCount++; + } + + if (CheckCount < CheckLimit) + { + TestErrors++; + printf ("Test error: number of checks less then expected(%d) limit %u\n", + CheckCount, CheckLimit); + return (AE_ERROR); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0010: + */ +ACPI_STATUS +AtHardwTest0010(void) +{ + ACPI_STATUS Status; + ACPI_PHYSICAL_ADDRESS PhysicalAddress = +#if ACPI_MACHINE_WIDTH == 64 + ((UINT64)0x51525354 << 32) | +#endif + 0x55565758; + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiSetFirmwareWakingVector(PhysicalAddress); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiSetFirmwareWakingVector() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0011: + */ +ACPI_STATUS +AtHardwTest0011(void) +{ + ACPI_STATUS Status; + ACPI_PHYSICAL_ADDRESS PhysicalAddress = +#if ACPI_MACHINE_WIDTH == 64 + ((UINT64)0x51525354 << 32) | +#endif + 0x55565758; + + ACPI_TABLE_HEADER UserTableStructure, *UserTable = &UserTableStructure; + BLD_TABLES_TASK BldTask = {BLD_NO_FACS, 0}; + + memset(&UserTableStructure, 0, sizeof (ACPI_TABLE_HEADER)); + + AtBuildLocalTables(UserTable, BldTask); + + Status = AtSubsystemInit(AAPITS_INITIALIZE_SS, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtInitializeTables(FALSE); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiInitializeTables() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiSetFirmwareWakingVector(PhysicalAddress); + if (Status != AE_NO_ACPI_TABLES) + { + AapiErrors++; + printf ("API error: AcpiSetFirmwareWakingVector() returned %s, expected %s\n", + AcpiFormatException(Status), AcpiFormatException(AE_NO_ACPI_TABLES)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0012: + */ +ACPI_STATUS +AtHardwTest0012(void) +{ + ACPI_STATUS Status; + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + +#if OBSOLETE_CODE + ACPI_PHYSICAL_ADDRESS OutVector; + + Status = AcpiGetFirmwareWakingVector(&OutVector); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiGetFirmwareWakingVector() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } +#endif + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0013: + */ +ACPI_STATUS +AtHardwTest0013(void) +{ + ACPI_STATUS Status; + + Status = AtSubsystemInit(AAPITS_INITIALIZE_SS, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + +#if OBSOLETE_CODE + + ACPI_PHYSICAL_ADDRESS OutVector; + Status = AcpiGetFirmwareWakingVector(&OutVector); + if (Status != AE_NO_ACPI_TABLES) + { + AapiErrors++; + printf ("API error: AcpiGetFirmwareWakingVector() returned %s, expected %s\n", + AcpiFormatException(Status), AcpiFormatException(AE_NO_ACPI_TABLES)); + return (Status); + } +#endif + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0014: + */ +ACPI_STATUS +AtHardwTest0014(void) +{ + ACPI_STATUS Status; + + Status = AtSubsystemInit(AAPITS_INITIALIZE_SS, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + +#if OBSOLETE_CODE + Status = AcpiGetFirmwareWakingVector(NULL); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("API error: AcpiGetFirmwareWakingVector() returned %s, expected %s\n", + AcpiFormatException(Status), AcpiFormatException(AE_BAD_PARAMETER)); + return (Status); + } +#endif + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0015: + */ +ACPI_STATUS +AtHardwTest0015(void) +{ + ACPI_STATUS Status; + UINT8 SleepState; + UINT8 SleepTypeA; + UINT8 SleepTypeB; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("hdwr0015.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (SleepState = 0; SleepState < 6; SleepState++) + { + Status = AcpiGetSleepTypeData(SleepState, &SleepTypeA, &SleepTypeB); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiGetSleepTypeData(%d) returned %s\n", + SleepState, AcpiFormatException(Status)); + return (Status); + } + + if (SleepTypeA != SleepState) + { + AapiErrors++; + printf ("API error: SleepState %d, incorrect SleepTypeA 0x%x" + " from AcpiGetSleepTypeData(), expected 0x%x\n", + (UINT8)SleepState, (UINT8)SleepTypeA, (UINT8)SleepState); + return (AE_ERROR); + } + + if (SleepTypeB != SleepState + 0x10) + { + AapiErrors++; + printf ("API error: SleepState %d, incorrect SleepTypeB 0x%x" + " from AcpiGetSleepTypeData(), expected 0x%x\n", + (UINT8)SleepState, (UINT8)SleepTypeA, (UINT8)SleepState + 0x10); + return (AE_ERROR); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0016: + */ +ACPI_STATUS +AtHardwTest0016(void) +{ + ACPI_STATUS Status; + UINT8 SleepState; + UINT8 SleepTypeA; + UINT8 SleepTypeB; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("hdwr0015.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (SleepState = 6; SleepState < 10; SleepState++) + { + Status = AcpiGetSleepTypeData(SleepState, &SleepTypeA, &SleepTypeB); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("API error: AcpiGetSleepTypeData(%d) returned %s, expected %s\n", + SleepState, + AcpiFormatException(Status), AcpiFormatException(AE_BAD_PARAMETER)); + return (Status); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0017: + */ +ACPI_STATUS +AtHardwTest0017(void) +{ + ACPI_STATUS Status; + UINT8 SleepState = 0; + UINT8 SleepTypeA; + UINT8 SleepTypeB; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("hdwr0015.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetSleepTypeData(SleepState, NULL, &SleepTypeB); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("API error: AcpiGetSleepTypeData(NULL, B) returned %s, expected %s\n", + AcpiFormatException(Status), AcpiFormatException(AE_BAD_PARAMETER)); + return (Status); + } + + Status = AcpiGetSleepTypeData(SleepState, NULL, NULL); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("API error: AcpiGetSleepTypeData(NULL, NULL) returned %s, expected %s\n", + AcpiFormatException(Status), AcpiFormatException(AE_BAD_PARAMETER)); + return (Status); + } + + Status = AcpiGetSleepTypeData(SleepState, &SleepTypeA, NULL); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("API error: AcpiGetSleepTypeData(A, NULL) returned %s, expected %s\n", + AcpiFormatException(Status), AcpiFormatException(AE_BAD_PARAMETER)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0018: + */ +ACPI_STATUS +AtHardwTest0018(void) +{ + ACPI_STATUS Status; + UINT8 SleepState; + UINT8 SleepTypeA; + UINT8 SleepTypeB; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("hdwr0018.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (SleepState = 0; SleepState < 6; SleepState++) + { + Status = AcpiGetSleepTypeData(SleepState, &SleepTypeA, &SleepTypeB); + if (Status != AE_AML_NO_OPERAND) + { + AapiErrors++; + printf ("API error: AcpiGetSleepTypeData(%d) returned %s, expected %s\n", + SleepState, + AcpiFormatException(Status), AcpiFormatException(AE_AML_NO_OPERAND)); + return (Status); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0019: + */ +ACPI_STATUS +AtHardwTest0019(void) +{ + ACPI_STATUS Status; + UINT8 SleepState; + UINT8 SleepTypeA; + UINT8 SleepTypeB; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("hdwr0019.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (SleepState = 0; SleepState < 6; SleepState++) + { + Status = AcpiGetSleepTypeData(SleepState, &SleepTypeA, &SleepTypeB); + if (Status != AE_AML_OPERAND_TYPE) + { + AapiErrors++; + printf ("API error: AcpiGetSleepTypeData(%d) returned %s, expected %s\n", + SleepState, + AcpiFormatException(Status), AcpiFormatException(AE_AML_OPERAND_TYPE)); + return (Status); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0020: + */ +ACPI_STATUS +AtHardwTest0020(void) +{ + ACPI_STATUS Status; + UINT8 SleepState; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("hdwr0020.aml"))) + { + return (Status); + } + + for (SleepState = 1; SleepState < 6; SleepState++) + { + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\PTSA", 0))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\GTSA", 0))) + { + return (Status); + } + + Status = AcpiEnterSleepStatePrep(SleepState); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiEnterSleepStatePrep(%d) returned %s\n", + SleepState, AcpiFormatException(Status)); + return (Status); + } + + /* Ensure that _PTS has been executed */ + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\PTSA", SleepState))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\GTSA", SleepState))) + { + return (Status); + } + + Status = AtTerminateCtrlCheck(AE_OK, ALL_STAT); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AE_OK); +} + +void ACPI_SYSTEM_XFACE +AtEmulateWakingStatus(void * Context) +{ + ACPI_STATUS Status; + UINT32 RegisterId = ACPI_BITREG_WAKE_STATUS; + AT_FIXED_REG_NUM RegNum; + UINT32 IniValue; + UINT32 SetValue; + + AcpiOsSleep(1000); /* 1 second */ + + RegNum = GetRegNum(RegisterId); + (void)OsxfCtrlGetFixedReg(RegNum, &IniValue); + SetValue = IniValue | (1 << BitRegPos[RegisterId]); + Status = OsxfCtrlSetFixedReg(RegNum, SetValue); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error (AtEmulateWakingStatus): OsxfCtrlSetFixedReg()" + " returned %s\n", + AcpiFormatException(Status)); + } +} + + +/* + * ASSERTION 0021: + */ +ACPI_STATUS +AtHardwTest0021(void) +{ + ACPI_STATUS Status; + UINT8 SleepState; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("hdwr0020.aml"))) + { + return (Status); + } + + for (SleepState = 1; SleepState < 6; SleepState++) + { + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* Set up waking condition */ + Status = AcpiOsExecute(OSL_GPE_HANDLER, + AtEmulateWakingStatus, NULL); + if (ACPI_FAILURE (Status)) + { + printf ("API error: AcpiOsExecute() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiEnterSleepState(SleepState); + + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiEnterSleepState(%d) returned %s\n", + SleepState, AcpiFormatException(Status)); + return (Status); + } + + Status = AtTerminateCtrlCheck(AE_OK, ALL_STAT); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0022: + */ +ACPI_STATUS +AtHardwTest0022(void) +{ + ACPI_STATUS Status; + UINT8 SleepState; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("hdwr0022.aml"))) + { + return (Status); + } + + for (SleepState = 1; SleepState < 6; SleepState++) + { + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\ORDR", 0))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\SST0", 0))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\SSA0", 0))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\SSO0", 0))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\SSA1", 0))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\SSO1", 0))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\BFS0", 0))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\BFSA", 0))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\BFSO", 0))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\WAK0", 0))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\WAKA", 0))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\WAKO", 0))) + { + return (Status); + } + + Status = AcpiLeaveSleepState(SleepState); + + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiLeaveSleepState(%d) returned %s\n", + SleepState, AcpiFormatException(Status)); + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\ORDR", 4))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\SST0", 2))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\SSA0", 2))) /* Waking */ + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\SSO0", 1))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\SSA1", 1))) /* Working */ + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\SSO1", 4))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\BFS0", 1))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\BFSA", SleepState))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\BFSO", 2))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\WAK0", 1))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\WAKA", SleepState))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\WAKO", 3))) + { + return (Status); + } + + Status = AtTerminateCtrlCheck(AE_OK, ALL_STAT); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AE_OK); +} + +static ACPI_TABLE_FACS *AtFacs = NULL; + +/* + * ASSERTION 0023: + */ +ACPI_STATUS +AtHardwTest0023(void) +{ + ACPI_STATUS Status; + UINT32 Handle; + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetTable (ACPI_SIG_FACS, 0, (ACPI_TABLE_HEADER **) &AtFacs); + if (ACPI_FAILURE (Status)) + { + AapiErrors++; + printf ("API error: AcpiGetTable() returned %s\n", + AcpiFormatException(Status)); + return (AE_ERROR); + } + + /* Simulate GlobalLock is not acquired */ + AtFacs->GlobalLock = 0; + + Status = AcpiAcquireGlobalLock(0, &Handle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiAcquireGlobalLock() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0024: + */ +ACPI_STATUS +AtHardwTest0024(void) +{ + ACPI_STATUS Status; + + Status = AtSubsystemInit(AAPITS_INITIALIZE_SS, 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiAcquireGlobalLock(0, NULL); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("API error: AcpiAcquireGlobalLock(0, NULL) returned %s, expected %s\n", + AcpiFormatException(Status), AcpiFormatException(AE_BAD_PARAMETER)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0025: + */ + +/* + * Acquire GlobalLock concurrently + */ +void ACPI_SYSTEM_XFACE +AtConcurrentHoldGlobalLock(void * Context) +{ + ACPI_STATUS Status; + UINT32 Handle; + UINT32 *Flag = (UINT32 *)Context; + + Status = AcpiAcquireGlobalLock(0, &Handle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiAcquireGlobalLock() returned %s\n", + AcpiFormatException(Status)); + goto ErrorExit; + } + + AcpiOsSleep(2000); /* 2 second */ + + Status = AcpiReleaseGlobalLock(Handle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiReleaseGlobalLock() returned %s\n", + AcpiFormatException(Status)); + goto ErrorExit; + } + + *Flag = 1; + +ErrorExit: + return; +} + +static ACPI_STATUS +AtActions0025(void) +{ + ACPI_STATUS Status; + UINT32 Handle, Handle2; + UINT32 ConcurrentFlag = 0; + UINT32 i; + + /* Run GlobalLock concurrent acquiring */ + Status = AcpiOsExecute(OSL_GPE_HANDLER, + AtConcurrentHoldGlobalLock, &ConcurrentFlag); + if (ACPI_FAILURE (Status)) + { + printf ("API error: AcpiOsExecute() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + AcpiOsSleep(1000); /* 1 second */ + + for (i = 0; i < 3; i++) { + Status = AcpiAcquireGlobalLock((UINT16)(i * 100), &Handle2); + if (Status != AE_TIME) + { + AapiErrors++; + printf ("API error: case %d AcpiAcquireGlobalLock() returned %s," + " expected AE_TIME\n", + i, AcpiFormatException(Status)); + return (Status); + } + } + + AcpiOsSleep(2000); /* 2 second */ + + if (!ConcurrentFlag) + { + TestErrors++; + printf ("Test error: ConcurrentFlag has not been fired\n"); + return (AE_ERROR); + } + + /* Try to acquire GlobalLock repeatedly */ + + Status = AcpiAcquireGlobalLock(0xFFFF, &Handle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiAcquireGlobalLock() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + for (i = 0; i < 3; i++) { + Status = AcpiAcquireGlobalLock((UINT16)(i * 100), &Handle2); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: case %d AcpiAcquireGlobalLock() returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + if (Handle2 != Handle) + { + AapiErrors++; + printf ("API error: case %d repeated AcpiAcquireGlobalLock()" + " returned %d Handle, not the original %d\n", + i, Handle2, Handle); + return (Status); + } + } + + for (i = 0; i < 4; i++) { + Status = AcpiReleaseGlobalLock(Handle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: case %d AcpiReleaseGlobalLock() returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + } + + return (Status); +} + +ACPI_STATUS +AtHardwTest0025(void) +{ + ACPI_STATUS Status; + UINT32 i; + + Status = AtSubsystemInit(AAPITS_INITIALIZE_SS, 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetTable (ACPI_SIG_FACS, 0, (ACPI_TABLE_HEADER **) &AtFacs); + if (!ACPI_FAILURE (Status)) + { + AapiErrors++; + printf ("API error: AcpiGetTable() returned SUCCESS\n"); + return (AE_ERROR); + } + + for (i = 0; i < 3; i++) { + Status = AtActions0025(); + if (ACPI_FAILURE (Status)) + { + AapiErrors++; + printf ("API error: case %d AtActions0025() returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0026: + */ +ACPI_STATUS +AtHardwTest0026(void) +{ + ACPI_STATUS Status; + UINT32 Handle; + + Status = AtSubsystemInit(AAPITS_INITABLES, 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetTable (ACPI_SIG_FACS, 0, (ACPI_TABLE_HEADER **) &AtFacs); + if (ACPI_FAILURE (Status)) + { + AapiErrors++; + printf ("API error: AcpiGetTable() returned %s\n", + AcpiFormatException(Status)); + return (AE_ERROR); + } + + /* Simulate GlobalLock is not acquired */ + AtFacs->GlobalLock = 0; + + Status = AcpiAcquireGlobalLock(0, &Handle); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("API error: AcpiAcquireGlobalLock returned %s," + " expected AE_BAD_PARAMETER\n", + AcpiFormatException(Status)); + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0027: + */ +ACPI_STATUS +AtHardwTest0027(void) +{ + ACPI_STATUS Status; + UINT32 Handle; + UINT32 i; + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetTable (ACPI_SIG_FACS, 0, (ACPI_TABLE_HEADER **) &AtFacs); + if (ACPI_FAILURE (Status)) + { + AapiErrors++; + printf ("API error: AcpiGetTable() returned %s\n", + AcpiFormatException(Status)); + return (AE_ERROR); + } + + /* Simulate GlobalLock is not acquired */ + AtFacs->GlobalLock = 0; + + for (i = 0; i < 3; i++) + { + Status = AcpiAcquireGlobalLock(0, &Handle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiAcquireGlobalLock() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiReleaseGlobalLock(Handle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiReleaseGlobalLock() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0028: + */ +ACPI_STATUS +AtHardwTest0028(void) +{ + ACPI_STATUS Status; + UINT32 Handle = 0, Handle0 = 0; + UINT32 i; + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetTable (ACPI_SIG_FACS, 0, (ACPI_TABLE_HEADER **) &AtFacs); + if (ACPI_FAILURE (Status)) + { + AapiErrors++; + printf ("API error: AcpiGetTable() returned %s\n", + AcpiFormatException(Status)); + return (AE_ERROR); + } + + /* Simulate GlobalLock is not acquired */ + AtFacs->GlobalLock = 0; + + Status = AcpiReleaseGlobalLock(Handle); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("API error: AcpiReleaseGlobalLock(0) returned %s, expected %s\n", + AcpiFormatException(Status), AcpiFormatException(AE_BAD_PARAMETER)); + return (AE_ERROR); + } + + Handle = 1; + Status = AcpiReleaseGlobalLock(Handle); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("API error: AcpiReleaseGlobalLock(1) returned %s, expected %s\n", + AcpiFormatException(Status), AcpiFormatException(AE_BAD_PARAMETER)); + return (AE_ERROR); + } + + Handle = (UINT32)-1; + Status = AcpiReleaseGlobalLock(Handle); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("API error: AcpiReleaseGlobalLock(-1) returned %s, expected %s\n", + AcpiFormatException(Status), AcpiFormatException(AE_BAD_PARAMETER)); + return (AE_ERROR); + } + + for (i = 0; i < 2; i++) + { + Status = AcpiAcquireGlobalLock(0, &Handle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiAcquireGlobalLock() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + if (i == 0) + { + /* Save the first Handle */ + Handle0 = Handle; + } else { + /* Try the first Handle to release in the second time */ + Status = AcpiReleaseGlobalLock(Handle0); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("API error: AcpiReleaseGlobalLock returned %s," + " expected AE_BAD_PARAMETER\n", + AcpiFormatException(Status)); + return (Status); + } + } + + Status = AcpiReleaseGlobalLock(Handle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiReleaseGlobalLock() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0029: + */ +ACPI_STATUS +AtHardwTest0029(void) +{ + ACPI_STATUS Status; + UINT32 Handle; + UINT32 i; + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetTable (ACPI_SIG_FACS, 0, (ACPI_TABLE_HEADER **) &AtFacs); + if (ACPI_FAILURE (Status)) + { + AapiErrors++; + printf ("API error: AcpiGetTable() returned %s\n", + AcpiFormatException(Status)); + return (AE_ERROR); + } + + /* Simulate GlobalLock is not acquired */ + AtFacs->GlobalLock = 0; + + for (i = 0; i < 3; i++) + { + Status = AcpiAcquireGlobalLock(0, &Handle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiAcquireGlobalLock() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiReleaseGlobalLock(Handle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiReleaseGlobalLock() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiReleaseGlobalLock(Handle); + if (Status != AE_NOT_ACQUIRED) + { + AapiErrors++; + printf ("API error: AcpiReleaseGlobalLock() returned %s, expected %s\n", + AcpiFormatException(Status), AcpiFormatException(AE_NOT_ACQUIRED)); + return (AE_ERROR); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0030: + */ +ACPI_STATUS +AtHardwTest0030(void) +{ + ACPI_STATUS Status; + UINT32 Resolution; + + Status = AtSubsystemInit(AAPITS_INI_LOAD, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetTimerResolution(&Resolution); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiGetTimerResolution() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + if (Resolution != 24) /* Value 0 of FADT TMR_VAL_EXT field */ + { + AapiErrors++; + printf ("API error: AcpiGetTimerResolution() returned unexpected" + " Resolution %d, expected 24\n", + Resolution); + return (AE_ERROR); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0031: + */ +ACPI_STATUS +AtHardwTest0031(void) +{ + ACPI_STATUS Status; + + Status = AtSubsystemInit(AAPITS_INI_LOAD, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetTimerResolution(NULL); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("API error: AcpiGetTimerResolution(NULL) returned %s, expected %s\n", + AcpiFormatException(Status), AcpiFormatException(AE_BAD_PARAMETER)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0032: + */ +ACPI_STATUS +AtHardwTest0032(void) +{ + ACPI_STATUS Status; + UINT32 i; + UINT32 TimeElapsed; + struct duration_check { + UINT32 StartTicks; + UINT32 EndTicks; + UINT32 Usec;} d24[3] = { + {1000000, 4579545, 1000000}, /* TicksInSec = 3579545 */ + {1, 0, 4686968}, + {0, 0xFFFFFF, 4686968}}; + + Status = AtSubsystemInit(AAPITS_INI_LOAD, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 0; i < 3; i++) + { + Status = AcpiGetTimerDuration(d24[i].StartTicks, d24[i].EndTicks, &TimeElapsed); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiGetTimerDuration() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + if (TimeElapsed != d24[i].Usec) + { + AapiErrors++; + printf ("API error: AcpiGetTimerDuration(0x%x, 0x%x) returned unexpected" + " TimeElapsed %d, expected %d\n", + d24[i].StartTicks, d24[i].EndTicks, + TimeElapsed, d24[i].Usec); + return (AE_ERROR); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0033: + */ +ACPI_STATUS +AtHardwTest0033(void) +{ + ACPI_STATUS Status; + + Status = AtSubsystemInit(AAPITS_INI_LOAD, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetTimerDuration(0, 1, NULL); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("API error: AcpiGetTimerDuration(0, 1, NULL) returned %s, expected %s\n", + AcpiFormatException(Status), AcpiFormatException(AE_BAD_PARAMETER)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0034: + */ +ACPI_STATUS +AtHardwTest0034(void) +{ + ACPI_STATUS Status; + UINT32 OutValue; + + Status = AtSubsystemInit(AAPITS_INI_LOAD, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetTimer(&OutValue); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiGetTimer() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + if (OutValue < 0xFFFFFF) + { + AapiErrors++; + printf ("API error: AcpiGetTimer() returned unexpected" + " OutValue 0x%x, expected >= 0xFFFFFF\n", + OutValue); + return (AE_ERROR); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0035: + */ +ACPI_STATUS +AtHardwTest0035(void) +{ + ACPI_STATUS Status; + + Status = AtSubsystemInit(AAPITS_INI_LOAD, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetTimer(NULL); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("API error: AcpiGetTimer(NULL) returned %s, expected %s\n", + AcpiFormatException(Status), AcpiFormatException(AE_BAD_PARAMETER)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * Acquire GlobalLock concurrently + */ +void ACPI_SYSTEM_XFACE +AtConcurrentAcquireGlobalLock(void * Context) +{ + ACPI_STATUS Status; + UINT32 Handle; + UINT32 *Flag = (UINT32 *)Context; + + Status = AcpiAcquireGlobalLock(0, &Handle); + if (Status != AE_TIME) + { + AapiErrors++; + printf ("API error: AcpiAcquireGlobalLock() returned %s," + " expected AE_TIME\n", + AcpiFormatException(Status)); + goto ErrorExit; + } + + *Flag = 1; + +ErrorExit: + return; +} + +/* + * ASSERTION 0036: + */ +ACPI_STATUS +AtHardwTest0036(void) +{ + ACPI_STATUS Status; + UINT32 Handle; + UINT32 ConcurrentFlag = 0; + + Status = AtSubsystemInit(AAPITS_INITIALIZE_SS, 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetTable (ACPI_SIG_FACS, 0, (ACPI_TABLE_HEADER **) &AtFacs); + if (!ACPI_FAILURE (Status)) + { + AapiErrors++; + printf ("API error: AcpiGetTable() returned SUCCESS\n"); + return (AE_ERROR); + } + + Status = AcpiAcquireGlobalLock(0, &Handle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiAcquireGlobalLock() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + /* Run GlobalLock concurrent acquiring */ + Status = AcpiOsExecute(OSL_GPE_HANDLER, + AtConcurrentAcquireGlobalLock, &ConcurrentFlag); + if (ACPI_FAILURE (Status)) + { + printf ("API error: AcpiOsExecute() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + AcpiOsSleep(1000); /* 1 second */ + + if (!ConcurrentFlag) + { + TestErrors++; + printf ("Test error: ConcurrentFlag has not been fired\n"); + return (AE_ERROR); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0037: + */ + +/* + * Emulate Global Lock Interrupt handling + */ +void ACPI_SYSTEM_XFACE +AtEmulateEventGlobalXrupt(void * Context) +{ + UINT32 RVal; + UINT32 *Flag = (UINT32 *)Context; + + AcpiOsSleep(1000); /* 1 second */ + + if (AtFacs == NULL) + { + TestErrors++; + printf ("Test error, AtEmulateEventGlobalXrupt: AtFacs == NULL\n"); + goto ErrorExit; + } + + if (!(AtFacs->GlobalLock & ACPI_GLOCK_OWNED)) + { + TestErrors++; + printf ("Test error, AtEmulateEventGlobalXrupt: GlobalLock" + " ACPI_GLOCK_OWNED bit is not set\n"); + goto ErrorExit; + } + + if (!(AtFacs->GlobalLock & ACPI_GLOCK_PENDING)) + { + TestErrors++; + printf ("Test error, AtEmulateEventGlobalXrupt: GlobalLock" + " ACPI_GLOCK_PENDING bit is not set\n"); + goto ErrorExit; + } + + AtFacs->GlobalLock &= ~ACPI_GLOCK_OWNED; + + RVal = AcpiGbl_FixedEventHandlers[ACPI_EVENT_GLOBAL].Handler( + AcpiGbl_FixedEventHandlers[ACPI_EVENT_GLOBAL].Context); + if (RVal != ACPI_INTERRUPT_HANDLED) + { + TestErrors++; + printf ("Test error, AcpiEvGlobalLockHandler: RVal(%d) !=" + " ACPI_INTERRUPT_HANDLED(%d)\n", + RVal, ACPI_INTERRUPT_HANDLED); + goto ErrorExit; + } + + *Flag = 1; + +ErrorExit: + return; +} + +ACPI_STATUS +AtActions0037(void) +{ + ACPI_STATUS Status; + UINT32 Handle; + UINT32 EmulatedFlag = 0; + UINT64 T0, Dt; + + /* Simulate GlobalLock ownership */ + AtFacs->GlobalLock = ACPI_GLOCK_OWNED; + + /* Set up GlobalLock release emulation */ + Status = AcpiOsExecute(OSL_GPE_HANDLER, + AtEmulateEventGlobalXrupt, &EmulatedFlag); + if (ACPI_FAILURE (Status)) + { + printf ("API error: AcpiOsExecute() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + if (EmulatedFlag) + { + TestErrors++; + printf ("Test error: EmulatedFlag has already been fired\n"); + return (AE_ERROR); + } + + T0 = AcpiOsGetTimer(); + + Status = AcpiAcquireGlobalLock(0, &Handle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiAcquireGlobalLock() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + if ((Dt = AcpiOsGetTimer() - T0) < 9000000) + { + AapiErrors++; + printf ("API error: %d ms too short time to acquire locked GL\n", + (UINT32) (Dt / 10000)); + return (AE_ERROR); + } + + /* Delay for 1 second to allow concurrent thread finishing */ + AcpiOsSleep(1000); + + if (!EmulatedFlag) + { + AapiErrors++; + printf ("API error: AcpiAcquireGlobalLock() returned SUCCESS" + " for acquired GlobalLock\n"); + return (AE_ERROR); + } + + Status = AcpiReleaseGlobalLock(Handle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiReleaseGlobalLock() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiReleaseGlobalLock(Handle); + if (Status != AE_NOT_ACQUIRED) + { + AapiErrors++; + printf ("API error: AcpiReleaseGlobalLock() returned %s, expected %s\n", + AcpiFormatException(Status), AcpiFormatException(AE_NOT_ACQUIRED)); + return (AE_ERROR); + } else { + Status = AE_OK; + } + + return (Status); +} + +ACPI_STATUS +AtHardwTest0037(void) +{ + ACPI_STATUS Status; + UINT32 i; + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetTable (ACPI_SIG_FACS, 0, (ACPI_TABLE_HEADER **) &AtFacs); + if (ACPI_FAILURE (Status)) + { + AapiErrors++; + printf ("API error: AcpiGetTable() returned %s\n", + AcpiFormatException(Status)); + return (AE_ERROR); + } + + for (i = 0; i < 3; i++) { + Status = AtActions0037(); + if (ACPI_FAILURE (Status)) + { + AapiErrors++; + printf ("API error: case %d AtActions0037() returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + + +/* + * Release GlobalLock concurrently + */ +void ACPI_SYSTEM_XFACE +AtConcurrentReleaseGlobalLock(void * Context) +{ + ACPI_STATUS Status; + UINT32 *Handle = (UINT32 *)Context; + + Status = AcpiReleaseGlobalLock(*Handle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiReleaseGlobalLock() returned %s\n", + AcpiFormatException(Status)); + } + + return; +} + +/* + * ASSERTION 0038: + */ +ACPI_STATUS +AtHardwTest0038(void) +{ + ACPI_STATUS Status; + UINT32 Handle; + UINT32 i; + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetTable (ACPI_SIG_FACS, 0, (ACPI_TABLE_HEADER **) &AtFacs); + if (ACPI_FAILURE (Status)) + { + AapiErrors++; + printf ("API error: AcpiGetTable() returned %s\n", + AcpiFormatException(Status)); + return (AE_ERROR); + } + + /* Simulate GlobalLock is not acquired */ + AtFacs->GlobalLock = 0; + + for (i = 0; i < 3; i++) + { + Status = AcpiAcquireGlobalLock(0, &Handle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiAcquireGlobalLock() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + /* Set up GlobalLock Concurrent Release */ + Status = AcpiOsExecute(OSL_GPE_HANDLER, + AtConcurrentReleaseGlobalLock, &Handle); + if (ACPI_FAILURE (Status)) + { + printf ("API error: AcpiOsExecute() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + AcpiOsSleep(1000); /* 1 second */ + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + + +/* + * ASSERTION 0039: + */ + +ACPI_STATUS +AtActions0039(void) +{ + ACPI_STATUS Status; + UINT32 Handle; + UINT32 EmulatedFlag = 0; + UINT64 T0, Dt; + + /* Set up GlobalLock 2000 mls holding */ + Status = AcpiOsExecute(OSL_GPE_HANDLER, + AtConcurrentHoldGlobalLock, &EmulatedFlag); + if (ACPI_FAILURE (Status)) + { + printf ("API error: AcpiOsExecute() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + AcpiOsSleep(1000); /* delay for 1 second the Global Lock to be held */ + + if (EmulatedFlag) + { + TestErrors++; + printf ("Test error: EmulatedFlag has already been fired\n"); + return (AE_ERROR); + } + + T0 = AcpiOsGetTimer(); + + Status = AcpiAcquireGlobalLock(0xFFFF, &Handle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiAcquireGlobalLock() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + if ((Dt = AcpiOsGetTimer() - T0) < 9000000) + { + AapiErrors++; + printf ("API error: %d ms too short time to acquire locked GL\n", + (UINT32) (Dt / 10000)); + return (AE_ERROR); + } + + /* Delay for 1 second to allow concurrent thread finishing */ + AcpiOsSleep(1000); + + if (!EmulatedFlag) + { + AapiErrors++; + printf ("API error: AcpiAcquireGlobalLock() returned SUCCESS" + " for acquired GlobalLock\n"); + return (AE_ERROR); + } + + Status = AcpiReleaseGlobalLock(Handle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiReleaseGlobalLock() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiReleaseGlobalLock(Handle); + if (Status != AE_NOT_ACQUIRED) + { + AapiErrors++; + printf ("API error: AcpiReleaseGlobalLock() returned %s, expected %s\n", + AcpiFormatException(Status), AcpiFormatException(AE_NOT_ACQUIRED)); + return (AE_ERROR); + } else { + Status = AE_OK; + } + + return (Status); +} + +ACPI_STATUS +AtHardwTest0039(void) +{ + ACPI_STATUS Status; + UINT32 i; + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetTable (ACPI_SIG_FACS, 0, (ACPI_TABLE_HEADER **) &AtFacs); + if (ACPI_FAILURE (Status)) + { + AapiErrors++; + printf ("API error: AcpiGetTable() returned %s\n", + AcpiFormatException(Status)); + return (AE_ERROR); + } + + AtFacs->GlobalLock = 0; + + for (i = 0; i < 3; i++) { + Status = AtActions0039(); + if (ACPI_FAILURE (Status)) + { + AapiErrors++; + printf ("API error: case %d AtActions0039() returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + + +/* + * ASSERTION 0040: + */ + +/* + * Acquire GlobalLock concurrently through AML + */ +void ACPI_SYSTEM_XFACE +AtConcurrentHold_GL(void * Context) +{ + ACPI_STATUS Status; + UINT32 *Flag = (UINT32 *)Context; + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\T040", 0))) + { + goto ErrorExit; + } + + *Flag = 1; + +ErrorExit: + return; +} + +ACPI_STATUS +AtActions0040(void) +{ + ACPI_STATUS Status; + UINT32 Handle; + UINT32 EmulatedFlag = 0; + UINT64 T0, Dt; + + /* Set up GlobalLock 2000 mls holding */ + Status = AcpiOsExecute(OSL_GPE_HANDLER, + AtConcurrentHold_GL, &EmulatedFlag); + if (ACPI_FAILURE (Status)) + { + printf ("API error: AcpiOsExecute() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + AcpiOsSleep(1000); /* delay for 1 second the Global Lock to be held */ + + if (EmulatedFlag) + { + TestErrors++; + printf ("Test error: EmulatedFlag has already been fired\n"); + return (AE_ERROR); + } + + T0 = AcpiOsGetTimer(); + + Status = AcpiAcquireGlobalLock(0xFFFF, &Handle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiAcquireGlobalLock() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + if ((Dt = AcpiOsGetTimer() - T0) < 9000000) + { + AapiErrors++; + printf ("API error: %d ms too short time to acquire locked GL\n", + (UINT32) (Dt / 10000)); + return (AE_ERROR); + } + + /* Delay for 1 second to allow concurrent thread finishing */ + AcpiOsSleep(1000); + + if (!EmulatedFlag) + { + AapiErrors++; + printf ("API error: AcpiAcquireGlobalLock() returned SUCCESS" + " for acquired GlobalLock\n"); + return (AE_ERROR); + } + + Status = AcpiReleaseGlobalLock(Handle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiReleaseGlobalLock() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiReleaseGlobalLock(Handle); + if (Status != AE_NOT_ACQUIRED) + { + AapiErrors++; + printf ("API error: AcpiReleaseGlobalLock() returned %s, expected %s\n", + AcpiFormatException(Status), AcpiFormatException(AE_NOT_ACQUIRED)); + return (AE_ERROR); + } else { + Status = AE_OK; + } + + return (Status); +} + +ACPI_STATUS +AtHardwTest0040(void) +{ + ACPI_STATUS Status; + UINT32 i; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("hdwr0040.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetTable (ACPI_SIG_FACS, 0, (ACPI_TABLE_HEADER **) &AtFacs); + if (ACPI_FAILURE (Status)) + { + AapiErrors++; + printf ("API error: AcpiGetTable() returned %s\n", + AcpiFormatException(Status)); + return (AE_ERROR); + } + + AtFacs->GlobalLock = 0; + + for (i = 0; i < 3; i++) { + Status = AtActions0040(); + if (ACPI_FAILURE (Status)) + { + AapiErrors++; + printf ("API error: case %d AtActions0040() returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + + +/* + * ASSERTION 0041: + */ + +ACPI_STATUS +AtActions0041(UINT32 Step) +{ + ACPI_STATUS Status; + UINT32 EmulatedFlag = 0; + UINT64 T0, Dt; + UINT32 Handle; + + Status = AcpiAcquireGlobalLock(0, &Handle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiAcquireGlobalLock() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + T0 = AcpiOsGetTimer(); + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\TNOL", Step))) + { + return (Status); + } + + if ((Dt = AcpiOsGetTimer() - T0) > 1000000) + { + AapiErrors++; + printf ("API error: %d ms too long time of NoLock field access 0\n", + (UINT32) (Dt / 10000)); + return (AE_ERROR); + } + + T0 = AcpiOsGetTimer(); + + /* + * Acquire GlobalLock concurrently through AML + */ + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\TLCK", Step))) + { + return (Status); + } + + if ((Dt = AcpiOsGetTimer() - T0) > 1000000) + { + AapiErrors++; + printf ("API error: %d ms too long time of NoLock field access 1\n", + (UINT32) (Dt / 10000)); + return (AE_ERROR); + } + + Status = AcpiReleaseGlobalLock(Handle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiReleaseGlobalLock() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + /* Set up GlobalLock 2000 mls holding */ + Status = AcpiOsExecute(OSL_GPE_HANDLER, + AtConcurrentHoldGlobalLock, &EmulatedFlag); + if (ACPI_FAILURE (Status)) + { + printf ("API error: AcpiOsExecute() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + AcpiOsSleep(1000); /* delay for 1 second the Global Lock to be held */ + + if (EmulatedFlag) + { + TestErrors++; + printf ("Test error: EmulatedFlag has already been fired\n"); + return (AE_ERROR); + } + + T0 = AcpiOsGetTimer(); + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\TNOL", Step + 1))) + { + return (Status); + } + + if ((Dt = AcpiOsGetTimer() - T0) > 1000000) + { + AapiErrors++; + printf ("API error: %d ms too long time of NoLock field access2\n", + (UINT32) (Dt / 10000)); + return (AE_ERROR); + } + + T0 = AcpiOsGetTimer(); + + /* + * Acquire GlobalLock concurrently through AML + */ + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\TLCK", Step + 1))) + { + return (Status); + } + + if ((Dt = AcpiOsGetTimer() - T0) < 9000000) + { + AapiErrors++; + printf ("API error: %d ms too short time of Lock field access\n", + (UINT32) (Dt / 10000)); + return (AE_ERROR); + } + + /* Delay for 1 second to allow concurrent thread finishing */ + AcpiOsSleep(1000); + + if (!EmulatedFlag) + { + AapiErrors++; + printf ("API error: AcpiAcquireGlobalLock() returned SUCCESS" + " for acquired GlobalLock\n"); + return (AE_ERROR); + } + + return (Status); +} + +ACPI_STATUS +AtHardwTest0041(void) +{ + ACPI_STATUS Status; + UINT32 i; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("hdwr0041.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetTable (ACPI_SIG_FACS, 0, (ACPI_TABLE_HEADER **) &AtFacs); + if (ACPI_FAILURE (Status)) + { + AapiErrors++; + printf ("API error: AcpiGetTable() returned %s\n", + AcpiFormatException(Status)); + return (AE_ERROR); + } + + AtFacs->GlobalLock = 0; + + for (i = 0; i < 3; i++) { + Status = AtActions0041(2 * i + 1); + if (ACPI_FAILURE (Status)) + { + AapiErrors++; + printf ("API error: case %d AtActions0041() returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} diff --git a/tests/aapits/athardware.h b/tests/aapits/athardware.h new file mode 100644 index 0000000..718f10c --- /dev/null +++ b/tests/aapits/athardware.h @@ -0,0 +1,55 @@ +/****************************************************************************** + * + * Module Name: athardware - predefinitions of tests of the test case + * + *****************************************************************************/ + +#ifndef _ATHARDWARE +#define _ATHARDWARE + +AT_TEST AtHardwTest0000; +AT_TEST AtHardwTest0001; +AT_TEST AtHardwTest0002; +AT_TEST AtHardwTest0003; +AT_TEST AtHardwTest0004; +AT_TEST AtHardwTest0005; +AT_TEST AtHardwTest0006; +AT_TEST AtHardwTest0007; +AT_TEST AtHardwTest0008; +AT_TEST AtHardwTest0009; +AT_TEST AtHardwTest0010; +AT_TEST AtHardwTest0011; +AT_TEST AtHardwTest0012; +AT_TEST AtHardwTest0013; +AT_TEST AtHardwTest0014; +AT_TEST AtHardwTest0015; +AT_TEST AtHardwTest0016; +AT_TEST AtHardwTest0017; +AT_TEST AtHardwTest0018; +AT_TEST AtHardwTest0019; +AT_TEST AtHardwTest0020; +AT_TEST AtHardwTest0021; +AT_TEST AtHardwTest0022; +AT_TEST AtHardwTest0023; +AT_TEST AtHardwTest0024; +AT_TEST AtHardwTest0025; +AT_TEST AtHardwTest0026; +AT_TEST AtHardwTest0027; +AT_TEST AtHardwTest0028; +AT_TEST AtHardwTest0029; +AT_TEST AtHardwTest0030; +AT_TEST AtHardwTest0031; +AT_TEST AtHardwTest0032; +AT_TEST AtHardwTest0033; +AT_TEST AtHardwTest0034; +AT_TEST AtHardwTest0035; +AT_TEST AtHardwTest0036; +AT_TEST AtHardwTest0037; +AT_TEST AtHardwTest0038; +AT_TEST AtHardwTest0039; +AT_TEST AtHardwTest0040; +AT_TEST AtHardwTest0041; + +#define AT_HDWM_TEST_NUM 42 + +#endif /* _ATHARDWARE */ diff --git a/tests/aapits/atinit.c b/tests/aapits/atinit.c new file mode 100644 index 0000000..04b6509 --- /dev/null +++ b/tests/aapits/atinit.c @@ -0,0 +1,4319 @@ +/****************************************************************************** + * + * Module Name: atinit - ACPICA Subsystem Initialization, Shutdown, and Status + * API tests + * + *****************************************************************************/ + +#include "atcommon.h" +#include "atinit.h" +#include "atosxfctrl.h" + +#define _COMPONENT ACPI_TOOLS + ACPI_MODULE_NAME ("atinit") + +/* + * Init/Term check flags + */ +#define CHECK_INIT_TERM 0x01 +#define CHECK_INIT_COND 0x02 +#define CHECK_TERM_ACT 0x04 +#define CHECK_FREE_COND 0x08 + +/* +FILE *AcpiGbl_DebugFile = NULL; +*/ + +static UINT32 IhFunctionIniCounter = 0; +static UINT32 IhFunctionOthersCounter = 0; +static UINT32 IhUnexpectedTypeCounter = 0; +static UINT32 AlternativeHandlerCounter = 0; +static UINT32 EstimatedINVC = 0; +static UINT32 EstimatedINVM = 0; +static ACPI_STATUS AtAcpiInitHandlerSpecRet = AE_OK; +static UINT8 *AtAcpiInitHandlerSpecName = NULL; + +/* + * Expected digits of AML code init0032 processing + */ +#define _SB_DEV_ACTIVE 1 +#define TOTAL_DEVS (9 + _SB_DEV_ACTIVE) +#define _INI_TOTAL 7 +#define _STA_TOTAL 7 +#define TOTAL_MASK 0x0FCF +#define _STA_NEGATIV_CALLS 2 /* DEV4 + _INI, DEV8 */ +#define _STA_NEGATIV_MASK 0x2020 /* DEV4, DEV8 */ + +/* + * Managing AML code update + */ + +static struct aml_control +{ + UINT8 Flag; + UINT32 Index; + UINT8 Value; +} AmlControl; + +void +AtSetAmlControl( + UINT32 Index, + UINT8 Value) +{ + AmlControl.Flag = 1; + AmlControl.Index = Index; + AmlControl.Value = Value; +} + +ACPI_STATUS +AtAcpiInitHandler( + ACPI_HANDLE Object, + UINT32 Function) +{ + ACPI_STATUS Status = AE_OK; + UINT8 ShortName[5]; + UINT8 ParentName[5]; + ACPI_BUFFER OutName; + ACPI_OBJECT_TYPE OutType; + ACPI_HANDLE Parent; + + OutName.Length = 5; + OutName.Pointer = ShortName; + + if (ACPI_FAILURE(AcpiGetName (Object, ACPI_SINGLE_NAME, &OutName))) + { + strcpy((char *)ShortName, "NONE"); + } + + if (ACPI_FAILURE(AcpiGetType (Object, &OutType))) + { + OutType = 0xff; + } + + if (ACPI_FAILURE(AcpiGetParent (Object, &Parent))) + { + strcpy((char *)ParentName, "NONE"); + } + else + { + OutName.Length = 5; + OutName.Pointer = ParentName; + if (ACPI_FAILURE(AcpiGetName (Parent, ACPI_SINGLE_NAME, &OutName))) + { + strcpy((char *)ParentName, "NONE"); + } + } + + printf ("\nAtAcpiInitHandler: Object %p('%s.%s', Type 0x%.2x)," + " Function %d\n", + Object, ParentName, ShortName, OutType, Function); + + if (OutType != ACPI_TYPE_DEVICE && + OutType != ACPI_TYPE_PROCESSOR && + OutType != ACPI_TYPE_THERMAL) + { + ++IhUnexpectedTypeCounter; + } + + if (Function == ACPI_INIT_DEVICE_INI) + { + ++IhFunctionIniCounter; + } + else + { + ++IhFunctionOthersCounter; + } + + if (strcmp((char *)ShortName, "DEV0") == 0) + { + /* Without the _STA or _INI methods */ + EstimatedINVC += 0; + EstimatedINVM |= 0; + } + if (strcmp((char *)ShortName, "DEV1") == 0) + { + /* With the _INI method only (default _STA) */ + EstimatedINVC += 1; + EstimatedINVM |= 0x01; + } + if (strcmp((char *)ShortName, "DEV2") == 0) + { + /* With the _STA method only */ + EstimatedINVC += 1; + EstimatedINVM |= 0x02; + } + if (strcmp((char *)ShortName, "DEV3") == 0) + { + /* With the both _INI and _STA methods */ + EstimatedINVC += 2; + EstimatedINVM |= 0x0C; + } + if (strcmp((char *)ShortName, "DEV4") == 0) + { + /* With the both _INI and _STA methods but the last indicates + * that the device is not configured + */ + EstimatedINVC += 1; + EstimatedINVM |= 0x20; + } + if (strcmp((char *)ShortName, "DEV5") == 0) + { + /* With the both _INI and _STA methods */ + EstimatedINVC += 2; + EstimatedINVM |= 0xC0; + } + if (strcmp((char *)ShortName, "DEV6") == 0) + { + /* With the both _INI and _STA methods */ + EstimatedINVC += 2; + EstimatedINVM |= 0x300; + } + if (strcmp((char *)ShortName, "DEV7") == 0) + { + /* With the both _INI and _STA methods */ + EstimatedINVC += 2; + EstimatedINVM |= 0xC00; + } + if (strcmp((char *)ShortName, "DEV8") == 0) + { + /* With the both _INI and _STA methods but the last indicates + * that the device is not: present, enabled + */ + EstimatedINVC += 1; + EstimatedINVM |= 0x2000; + } + if (strcmp((char *)ShortName, "DEV9") == 0) + { + /* With the both _INI and _STA methods, children + * of not present but functioning Device + */ + EstimatedINVC += 2; + EstimatedINVM |= 0xC000; + } + if (strcmp((char *)ShortName, "DEVA") == 0) + { + /* With the both _INI and _STA methods but the last indicates + * that the device is not: present, enabled, functioning + */ + EstimatedINVC += 1; + EstimatedINVM |= 0x20000; + } + if (strcmp((char *)ShortName, "DEVB") == 0) + { + /* With the both _INI and _STA methods */ + EstimatedINVC += 2; + EstimatedINVM |= 0xC0000; + } + + if (AtAcpiInitHandlerSpecRet != AE_OK) + { + if (AtAcpiInitHandlerSpecName) + { + if (strcmp((char *)ShortName, + (char *)AtAcpiInitHandlerSpecName) == 0 || + strcmp((char *)ParentName, + (char *)AtAcpiInitHandlerSpecName) == 0) + { + Status = AtAcpiInitHandlerSpecRet; + AtAcpiInitHandlerSpecRet = AE_OK; + } + } + else + { + Status = AtAcpiInitHandlerSpecRet; + AtAcpiInitHandlerSpecRet = AE_OK; + } + } + return (Status); +} + +ACPI_STATUS +AlternativeAcpiInitHandler( + ACPI_HANDLE Object, + UINT32 Function) +{ + printf ("\nAlternativeAcpiInitHandler: Object %p, Function %d\n", + Object, Function); + ++AlternativeHandlerCounter; + return (AE_OK); +} + +ACPI_STATUS +AtInitTest0030AcpiInitHandler( + ACPI_HANDLE Object, + UINT32 Function) +{ + printf ("\nAtInitTest0030AcpiInitHandler: Object %p, Function %d\n", + Object, Function); + return (AE_ERROR); +} + +/* + * AcpiSubsystemStatus testing auxiliary macro + */ +#define CHECK_SUBSYSTEM_STATUS(Benchmark) \ + Status = AcpiSubsystemStatus(); \ + if (Status != Benchmark) \ + { \ + AapiErrors++; \ + printf ("API error: AcpiSubsystemStatus" \ + " returned %s, expected %s\n", \ + AcpiFormatException(Status), \ + AcpiFormatException(Benchmark)); \ + return (AE_ERROR); \ + } + +/* + * ACPI_STATUS + * AtSubsystemInit( + * UINT32 StagesScale, - scale of initialization steps + * UINT32 EnFlags, - AcpiEnableSubsystem flags + * UINT32 OiFlags) - AcpiInitializeObjects flags + * UINT32 StatusFlag) - flag of call to AcpiSubsystemStatus + * + * Performs the ACPICA Core Subsystem intitialization functions + * according to the specified stages scale while the actions are + * being successfully completed. + */ +ACPI_STATUS +AtSubsystemInit( + UINT32 StagesScale, + UINT32 EnFlags, + UINT32 OiFlags, + char *AMLcodeFileName) +{ + return (AtInitCommonTest(StagesScale, 0, 0, + EnFlags, OiFlags, AMLcodeFileName)); +} + +void +AtPrintInitStagesScale( + UINT32 StagesScale) +{ + printf ("Stages Init Core:"); + + if (StagesScale & AAPITS_INITIALIZE_SS) + { + printf (" SubSystem,"); + } + + if (StagesScale & AAPITS_INSTALL_IH) + { + printf (" InstIH,"); + } + + if (StagesScale & AAPITS_INITABLES) + { + printf (" InitTables,"); + } + + if (StagesScale & AAPITS_REALLOCROOTTABLE) + { + printf (" ReallocRootTable,"); + } + + if (StagesScale & AAPITS_LOADTABLES) + { + printf (" LoadTables,"); + } + + if (StagesScale & AAPITS_ENABLE_SS) + { + printf (" EnableSS,"); + } + + if (StagesScale & AAPITS_INITIALIZE_OBJS) + { + printf (" InitOBJS,"); + } + + if (StagesScale & AAPITS_INSTALL_HS) + { + printf (" InstAdrSH,"); + } + + if (!StagesScale) + { + printf (" NONE,"); + } + + printf ("\n"); +} + +/* + * ACPI_STATUS + * AtInitCommonTest( + * UINT32 StagesScale, - scale of initialization steps + * UINT32 ErrStagesScale,- relevant scale of errors emulation + * UINT32 ErrExpScale, - scale of interfaces expected to fail + * UINT32 EnFlags, - AcpiEnableSubsystem flags + * UINT32 OiFlags, - AcpiInitializeObjects flags + * char *AMLcodeFileName) + * + * Performs the ACPICA Core Subsystem intitialization functions + * according to the specified stages scale while the actions are + * being successfully completed. + */ +ACPI_STATUS +AtInitCommonTest( + UINT32 StagesScale, + UINT32 ErrStagesScale, + UINT32 ErrExpScale, + UINT32 EnFlags, + UINT32 OiFlags, + char *AMLcodeFileName) +{ + ACPI_STATUS Status; + ACPI_TABLE_HEADER UserTableStructure, *UserTable = &UserTableStructure; + + AtPrintInitStagesScale(StagesScale); + + if ((StagesScale & ErrStagesScale) != ErrStagesScale) + { + TestErrors++; + printf ("AtInitCommonTest test error 1: StagesScale & ErrStagesScale (0x%x)" + " != ErrStagesScale (0x%x)\n", StagesScale & ErrStagesScale, ErrStagesScale); + return (AE_ERROR); + } + + if ((StagesScale & ErrExpScale) != ErrExpScale) + { + TestErrors++; + printf ("AtInitCommonTest test error 2: StagesScale & ErrExpScale (0x%x)" + " != ErrStagesScale (0x%x)\n", StagesScale & ErrExpScale, ErrExpScale); + return (AE_ERROR); + } + + if (ErrStagesScale & ErrExpScale) + { + TestErrors++; + printf ("AtInitCommonTest test error 3: ErrStagesScale" + " & ErrExpScale (0x%x) != 0\n", ErrStagesScale & ErrExpScale); + return (AE_ERROR); + } + + if ((StagesScale & AAPITS_INSTALL_IH) && + (ErrStagesScale & AAPITS_INITIALIZE_OBJS)) + { + TestErrors++; + printf ("AtInitCommonTest test error 4: AAPITS_INSTALL_IH and" + " ErrStagesScale & AAPITS_INITIALIZE_OBJS simulteneously\n"); + return (AE_ERROR); + } + + if (StagesScale & AAPITS_INITIALIZE_SS) + { + if (ErrStagesScale & AAPITS_INITIALIZE_SS) + { + Status = OsxfCtrlSet(OSXF_NUM(AcpiOsInitialize), + 1, AtActD_OneTime, AtActRet_ERROR); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("AtInitCommonTest test error 5: %s\n", + AcpiFormatException(Status)); + return (Status); + } + } + + /* Clean Registers Emulation */ + OsxfCtrlRegService(0); + + Status = AcpiInitializeSubsystem(); + + if (ACPI_FAILURE(Status)) + { + if (ErrExpScale & AAPITS_INITIALIZE_SS) + { + } + else if (!(ErrStagesScale & AAPITS_INITIALIZE_SS)) + { + AapiErrors++; + printf ("AtInitCommonTest: AcpiInitializeSubsystem() failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + else if (Status != AE_ERROR) + { + TestErrors++; + printf ("AtInitCommonTest: AcpiInitializeSubsystem()" + " returned %s, expected AE_ERROR emulation\n", + AcpiFormatException(Status)); + return (Status); + } + } + else if (ErrExpScale & AAPITS_INITIALIZE_SS) + { + AapiErrors++; + printf ("AtInitCommonTest: AcpiInitializeSubsystem()" + " succeeded, expected to fail\n"); + return (AE_ERROR); + } + else if (ErrStagesScale & AAPITS_INITIALIZE_SS) + { + TestErrors++; + printf ("AtInitCommonTest: AcpiInitializeSubsystem()" + " succeeded, expected AE_ERROR emulation\n"); + return (AE_ERROR); + } + /* + * Mark the total number of AcpiOS* invocations + */ + Status = OsxfCtrlCheck(TOTAL_STAT, 0); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + return (Status); + } + } + + if (StagesScale & AAPITS_INSTALL_IH) + { + Status = AcpiInstallInitializationHandler(AtAcpiInitHandler, 0); + if (ACPI_FAILURE(Status)) + { + printf ("AtInitCommonTest: AcpiInstallInitializationHandler() failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + } + + if (StagesScale & AAPITS_INITABLES) + { + memset(&UserTableStructure, 0, sizeof (ACPI_TABLE_HEADER)); + + if (AMLcodeFileName) + { + Status = AtReadTableFromFile (AMLcodeFileName, &UserTable); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("AtInitCommonTest: AtReadTableFromFile() failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + if (AmlControl.Flag) + { + AmlControl.Flag = 0; + if (!(AmlControl.Index < UserTable->Length)) { + TestErrors++; + printf ("AtInitCommonTest: AmlControl.Index (%d) >=" + " UserTable->Length (%d)\n", + AmlControl.Index, UserTable->Length); + return (AE_ERROR); + } + ((UINT8 *)UserTable)[AmlControl.Index] = AmlControl.Value; + printf ("AtInitCommonTest: AmlCode Index %d updated into %c\n", + AmlControl.Index, (UINT32)AmlControl.Value); + } + } + + AtBuildLocalTables(UserTable, NullBldTask); + + if (ErrStagesScale & AAPITS_INITABLES) + { + Status = OsxfCtrlSet(OSXF_NUM(AcpiOsAllocate), + 1 , AtActD_OneTime, AtActRet_NULL); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("AtInitCommonTest test error 6: %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiInitializeTables(NULL, 20, FALSE); + } + else + { + Status = AtInitializeTables (FALSE); + } + + if (ACPI_FAILURE(Status)) + { + if (ErrExpScale & AAPITS_INITABLES) + { + ; + } + else if (!(ErrStagesScale & AAPITS_INITABLES)) + { + AapiErrors++; + printf ("AtInitCommonTest: AcpiInitializeTables() failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + else if (Status != AE_NO_MEMORY) + { + TestErrors++; + printf ("AtInitCommonTest: AcpiInitializeTables()" + " returned %s, expected AE_NO_MEMORY emulation\n", + AcpiFormatException(Status)); + return (Status); + } + } + else if (ErrExpScale & AAPITS_INITABLES) + { + AapiErrors++; + printf ("AtInitCommonTest: AcpiInitializeTables()" + " succeeded, expected to fail\n"); + return (AE_ERROR); + } + else if (ErrStagesScale & AAPITS_INITABLES) + { + TestErrors++; + printf ("AtInitCommonTest: AcpiInitializeTables()" + " succeeded, expected AE_NO_MEMORY emulation\n"); + return (AE_ERROR); + } + } + + if (StagesScale & AAPITS_REALLOCROOTTABLE) + { + Status = AcpiReallocateRootTable(); + + if (ACPI_FAILURE(Status)) + { + if (ErrExpScale & AAPITS_REALLOCROOTTABLE) + { + ; + } + else if (!(ErrStagesScale & AAPITS_REALLOCROOTTABLE)) + { + AapiErrors++; + printf ("AtInitCommonTest: AcpiReallocateRootTable() failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + else if (Status != AE_NO_MEMORY) + { + TestErrors++; + printf ("AtInitCommonTest: AcpiReallocateRootTable()" + " returned %s, expected AE_NO_MEMORY emulation\n", + AcpiFormatException(Status)); + return (Status); + } + } + else if (ErrExpScale & AAPITS_REALLOCROOTTABLE) + { + AapiErrors++; + printf ("AtInitCommonTest: AcpiReallocateRootTable()" + " succeeded, expected to fail\n"); + return (AE_ERROR); + } + else if (ErrStagesScale & AAPITS_REALLOCROOTTABLE) + { + TestErrors++; + printf ("AtInitCommonTest: AcpiReallocateRootTable()" + " succeeded, expected AE_NO_MEMORY emulation\n"); + return (AE_ERROR); + } + } + + if (StagesScale & AAPITS_LOADTABLES) + { + if (ErrStagesScale & AAPITS_LOADTABLES) + { +/* 2.3.2.1 ACPI Table Validation: +A warning is issued for tables that do not pass one or more of these tests +... +4. The table checksum must be valid (with the exception of the FACS, + which has no checksum). + + LocalRSDT = MemRSDT; + LocalRSDT->Checksum = (UINT8)(~LocalRSDT->Checksum); +*/ + Status = OsxfCtrlSet(OSXF_NUM(AcpiOsAllocate), + 2, AtActD_OneTime, AtActRet_NULL); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("AtInitCommonTest test error 6: %s\n", + AcpiFormatException(Status)); + return (Status); + } + } + + Status = AcpiLoadTables(); + + if (ACPI_FAILURE(Status)) + { + if (ErrExpScale & AAPITS_LOADTABLES) + { + ; + } + else if (!(ErrStagesScale & AAPITS_LOADTABLES)) + { + AapiErrors++; + printf ("AtInitCommonTest: AcpiLoadTables() failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + else if (Status != AE_NO_MEMORY) + { + TestErrors++; + printf ("AtInitCommonTest: AcpiLoadTables()" + " returned %s, expected AE_NO_MEMORY emulation\n", + AcpiFormatException(Status)); + return (Status); + } + } + else if (ErrExpScale & AAPITS_LOADTABLES) + { + AapiErrors++; + printf ("AtInitCommonTest: AcpiLoadTables()" + " succeeded, expected to fail\n"); + return (AE_ERROR); + } + else if (ErrStagesScale & AAPITS_LOADTABLES) + { + TestErrors++; + printf ("AtInitCommonTest: AcpiLoadTables()" + " succeeded, expected AE_NO_MEMORY emulation\n"); + return (AE_ERROR); + } + + Status = OsxfCtrlAcpiRegsInit( + &AcpiGbl_FADT, AcpiGbl_XPm1aEnable, AcpiGbl_XPm1bEnable); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("AtInitCommonTest: OsxfCtrlAcpiRegsInit failed\n"); + return (Status); + } + + } + + if (StagesScale & AAPITS_INSTALL_HS) + { + Status = AeInstallHandlers(); + if (ACPI_FAILURE (Status)) + { + AapiErrors++; + printf ("AtInitCommonTest: AtInstallHandlers() failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + } + + if (StagesScale & AAPITS_ENABLE_SS) + { + if (ErrStagesScale & AAPITS_ENABLE_SS) + { + Status = OsxfCtrlSet(OSXF_NUM(AcpiOsAllocate), + 2, AtActD_OneTime, AtActRet_NULL); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("AtInitCommonTest test error 7: %s\n", + AcpiFormatException(Status)); + return (Status); + } + } + + Status = AcpiEnableSubsystem(EnFlags); + + if (ACPI_FAILURE(Status)) + { + if (ErrExpScale & AAPITS_ENABLE_SS) + { + } + else if (!(ErrStagesScale & AAPITS_ENABLE_SS)) + { + AapiErrors++; + printf ("AtInitCommonTest: AcpiEnableSubsystem() failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + else if (Status != AE_NO_MEMORY) + { + TestErrors++; + printf ("AtInitCommonTest: AcpiEnableSubsystem()" + " returned %s, expected AE_NO_MEMORY emulation\n", + AcpiFormatException(Status)); + return (Status); + } + } + else if (ErrExpScale & AAPITS_ENABLE_SS) + { + AapiErrors++; + printf ("AtInitCommonTest: AcpiEnableSubsystem()" + " succeeded, expected to fail\n"); + return (AE_ERROR); + } + else if (ErrStagesScale & AAPITS_ENABLE_SS) + { + TestErrors++; + printf ("AtInitCommonTest: AcpiEnableSubsystem()" + " succeeded, expected AE_NO_MEMORY emulation\n"); + return (AE_ERROR); + } + + } + + if (StagesScale & AAPITS_INITIALIZE_OBJS) + { + if (ErrStagesScale & AAPITS_INITIALIZE_OBJS) + { +/* This doesn't work + Status = OsxfCtrlSet(OSXF_NUM(AcpiOsAllocate), + 1, AtActD_OneTime, AtActRet_NULL); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("AtInitCommonTest test error 8: %s\n", + AcpiFormatException(Status)); + return (Status); + } +*/ + Status = AcpiInstallInitializationHandler(AtInitTest0030AcpiInitHandler, 0); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("AtInitCommonTest: AcpiInstallInitializationHandler() failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + } + + Status = AcpiInitializeObjects(OiFlags); + + if (ACPI_FAILURE(Status)) + { + if (ErrExpScale & AAPITS_INITIALIZE_OBJS) + { + } + else if (!(ErrStagesScale & AAPITS_INITIALIZE_OBJS)) + { + AapiErrors++; + printf ("AtInitCommonTest: AcpiInitializeObjects() failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + else if (Status != AE_ERROR) + { + TestErrors++; + printf ("AtInitCommonTest: AcpiInitializeObjects()" + " returned %s, expected AE_ERROR emulation\n", + AcpiFormatException(Status)); + return (Status); + } + } + else if (ErrExpScale & AAPITS_INITIALIZE_OBJS) + { + AapiErrors++; + printf ("AtInitCommonTest: AcpiInitializeObjects()" + " succeeded, expected to fail\n"); + return (AE_ERROR); + } + else if (ErrStagesScale & AAPITS_INITIALIZE_OBJS) + { + AapiErrors++; + printf ("AtInitCommonTest: AcpiInitializeObjects()" + " succeeded, expected AE_ERROR emulation\n"); + return (AE_ERROR); + } + } + + return (AE_OK); +} + +#ifdef xxxxACPI_DEBUGGER +ACPI_EXTERN ACPI_TABLE_HEADER *AcpiGbl_DbTablePtr; +ACPI_EXTERN char *AcpiGbl_DbBuffer; +#endif + +/* + * Check Subsystem shutdown + */ +ACPI_STATUS +AtTerminateCheck( + ACPI_STATUS SuccessStatus, + UINT32 CtrlCheck) +{ + ACPI_STATUS Status; + +#ifdef xxxxACPI_DEBUGGER + /* Shut down the debugger */ + if (AcpiGbl_DbTablePtr) + { + AcpiGbl_DbTablePtr = NULL; + } + if (AcpiGbl_DbBuffer) + { + AcpiGbl_DbBuffer = NULL; + } +#endif + + if (AT_SKIP_ALL_MALLOC_CHECK) { + CtrlCheck &= ~MALLOC_STAT; + } + + if (AT_SKIP_MAPPED_CHECK) { + CtrlCheck &= ~MMAP_STAT; + } + + Status = OsxfCtrlCheck(CtrlCheck, 1); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + return (Status); + } + + return (SuccessStatus); +} + +/* + * Initiate and check Subsystem shutdown + */ +ACPI_STATUS +AtTerminateCtrlCheck( + ACPI_STATUS SuccessStatus, + UINT32 CtrlCheck) +{ + ACPI_STATUS Status; + + Status = AcpiTerminate(); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiTerminate() failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + + return (AtTerminateCheck(SuccessStatus, CtrlCheck)); +} + +/* + * 6.1 Subsystem Initialization, Shutdown, and Status + */ + +/* + * ACPI_STATUS + * AtInitTermCommonTest( + * AT_ACTD_FLAG ActFlag, - flag of one-time/permanent action mode + * UINT32 TFst, - number of the first call to OS IF for the action + * ACPI_OSXF OsxfNum, - number of the specified OS IF + * UINT32 ActCode, - code of the action + * UINT32 Check_Flags)- flags of the additional check of AcpiTerminate: + * 0 - without any check + * 1 - check before and after AcpiTerminate + * 2 - the second check without call to AcpiTerminate + * 3 - without any check and call to AcpiTerminate + * + * Performs actions which are common for AcpiInitializeSubsystem + * and AcpiTerminate routines test cases. + * + */ + +ACPI_STATUS +AtInitTermCommonTest( + ACPI_OSXF OsxfNum, + AT_ACTD_FLAG ActFlag, + UINT32 ActCode, + UINT32 TFst, + UINT32 Check_Flags, + ACPI_STATUS Benchmark) +{ + ACPI_STATUS Status; + ACPI_STATUS Init_Os_Status = AE_OK; + ACPI_STATUS Init_Sub_Status; + UINT32 i; + UINT32 Continue_Cond = 1; + UINT32 Check_Stat = ALL_STAT; + UINT32 TMax = 10000; + ACPI_OSXF OsxfNumAct; + + printf ("AtInitTermCommonTest: ActFlag % d, TFst %d, TMax %d\n", + ActFlag, TFst, TMax); + + if (TFst == 0) + { + TestErrors++; + printf ("Test error, TFst = 0\n"); + return (AE_ERROR); + } + + if (Check_Flags & CHECK_INIT_TERM) + { + /* Exclude check of AcpiInitializeSubsystem/AcpiTerminate agreement */ + Check_Stat &= ~OSINIT_STAT; + } + + for (i = TFst; (i < TMax) && Continue_Cond; i++) + { + printf ("AtInitTermCommonTest: i = %d\n", i); + + Status = OsxfCtrlSet(OsxfNum, i, ActFlag, ActCode); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Init_Sub_Status = AcpiInitializeSubsystem(); + + if (!(OsxfNumAct = OsxfCtrlGetActOsxf(OsxfNum, 1))) + { + if (i == TFst) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + return (AE_ERROR); + } + TestPass++; + Continue_Cond = 0; + } + else + { + if ((ACPI_SUCCESS(Benchmark) && Init_Sub_Status != Benchmark) || + (ACPI_FAILURE(Benchmark) && ACPI_SUCCESS(Init_Sub_Status))) + { + AapiErrors++; + printf ("API Error: AcpiInitializeSubsystem returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Init_Sub_Status), + AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + else if (Init_Sub_Status != Benchmark) + { + printf ("Test note: AcpiInitializeSubsystem returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Init_Sub_Status), + AcpiFormatException(Benchmark)); + } + + if (OsxfNumAct == OSXF_NUM(AcpiOsInitialize) && + ActCode == AtActRet_ERROR) + { + Init_Os_Status = AE_ERROR; + } + } + + if (AT_SKIP_OS_PRINTF_CHECK && ACPI_FAILURE(Init_Os_Status)) + { + OsxfUpdateCallsMark(); + } + + Status = InitOsxfCtrlCheck(Init_Os_Status); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + return (Status); + } + + if (Check_Flags & CHECK_INIT_COND) + { + Status = OsxfCtrlCheck(SYS_STAT, 0); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + return (Status); + } + } + + if (Check_Flags & CHECK_TERM_ACT) + { + Status = AcpiTerminate(); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiTerminate() failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } +#ifdef xxxxACPI_DEBUGGER + /* Shut down the debugger */ + if (AcpiGbl_DbTablePtr) + { + AcpiGbl_DbTablePtr = NULL; + } + if (AcpiGbl_DbBuffer) + { + AcpiGbl_DbBuffer = NULL; + } +#endif + Init_Os_Status = AE_OK; + } + else + { + if (OsxfNumAct == OSXF_NUM(AcpiOsInitialize)) + { + Init_Os_Status = AE_OK; + } + else + { + Init_Os_Status = AE_ERROR; + } + } + + + if (Check_Flags & CHECK_FREE_COND) + { + Status = OsxfCtrlCheck(Check_Stat, 1); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + return (Status); + } + } + } + if (i >= TMax) + { + TestErrors++; + printf ("Test error: there are test cases remained\n"); + return (AE_ERROR); + } + + return (AE_OK); +} + +/* + * ACPI_STATUS + * AtExceptionCommonTest( + * AT_ACTD_FLAG ActFlag, - flag of one-time/permanent action mode + * UINT32 TFst, - number of the first call to OS IF for the action + * ACPI_OSXF OsxfNum, - number of the specified OS IF + * UINT32 ActCode) - code of the action + * + * Performs actions which are common for AcpiInitializeSubsystem + * and AcpiTerminate routines test cases. + * + */ +ACPI_STATUS +AtExceptionCommonTest( + UINT32 FlagIFVerified, + ACPI_OSXF OsxfNum, + AT_ACTD_FLAG ActFlag, + UINT32 ActCode, + UINT32 TFst, + ACPI_STATUS Benchmark) +{ + ACPI_STATUS Status; + ACPI_OSXF OsxfNumAct; + UINT32 Continue_Cond = 1; + UINT32 StagesScale = AAPITS_INI_PRELOAD; + UINT32 TMax = 10000; + UINT32 i; + char *NameIF = "AcpiLoadTables"; + + printf ("AtExceptionCommonTest: ActFlag % d, TFst %d, TMax %d\n", + ActFlag, TFst, TMax); + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("init0032.aml"))) + { + return (Status); + } + + if (FlagIFVerified != AAPITS_LOADTABLES && + FlagIFVerified != AAPITS_ENABLE_SS && + FlagIFVerified != AAPITS_INITIALIZE_OBJS) + { + TestErrors++; + printf ("AtExceptionCommonTest: test error, incorrect" + " FlagIFVerified (0x%x)\n", FlagIFVerified); + return (AE_ERROR); + } + + if (TFst == 0) + { + TestErrors++; + printf ("Test error, TFst = 0\n"); + return (AE_ERROR); + } + + if (FlagIFVerified == AAPITS_ENABLE_SS) + { + StagesScale |= AAPITS_LOADTABLES; + NameIF = "AcpiEnableSubsystem"; + } + else if (FlagIFVerified == AAPITS_INITIALIZE_OBJS) + { + StagesScale |= (AAPITS_LOADTABLES | AAPITS_ENABLE_SS); + NameIF = "AcpiInitializeObjects"; + } + + for (i = TFst; (i < TMax) && Continue_Cond; i++) + { + printf ("AtExceptionCommonTest: i = %d\n", i); + + Status = AtInitCommonTest(StagesScale, + 0, 0, + AAPITS_EN_FLAGS, 0, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = OsxfCtrlSet(OsxfNum, i, ActFlag, ActCode); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: %s\n", + AcpiFormatException(Status)); + return (Status); + } + + switch (FlagIFVerified) + { + case (AAPITS_LOADTABLES): + Status = AcpiLoadTables(); + break; + case (AAPITS_ENABLE_SS): + Status = AcpiEnableSubsystem(AAPITS_EN_FLAGS); + break; + case (AAPITS_INITIALIZE_OBJS): + Status = AcpiInitializeObjects(AAPITS_OI_FLAGS); + break; + } + + if (!(OsxfNumAct = OsxfCtrlGetActOsxf(OsxfNum, 1))) + { + if (i == TFst) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + return (AE_ERROR); + } + TestPass++; + Continue_Cond = 0; + } + else + { + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: %s returned %s,\n" + " expected to return %s\n", NameIF, + AcpiFormatException(Status), AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + + Status = AtTerminateCtrlCheck(AE_OK, ALL_STAT); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + if (i >= TMax) + { + TestErrors++; + printf ("Test error: there are test cases remained\n"); + return (AE_ERROR); + } + + return (AE_OK); +} + +/* + * ASSERTION 0000: + */ +ACPI_STATUS +AtInitTest0000(void) +{ + ACPI_STATUS Status; + + Status = AcpiInitializeSubsystem(); + + if (Status != AE_OK) + { + AapiErrors++; + printf ("API Error: AcpiInitializeSubsystem returned %s,\n" + " expected to return (AE_OK)\n", + AcpiFormatException(Status)); + } + + Status = InitOsxfCtrlCheck(AE_OK); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + } + + return (AE_OK); +} + +/* + * ASSERTION 0001: + */ +ACPI_STATUS +AtInitTest0001(void) +{ + return (AtInitTermCommonTest(OSXF_NUM(AcpiOsInitialize), + AtActD_OneTime, AtActRet_ERROR, 1, CHECK_INIT_TERM, AE_ERROR)); +} + +/* + * ASSERTION 0002: + */ + +ACPI_STATUS +Init_NO_MEMORY_Test1( + UINT32 TFst1, + UINT32 TFst2, + UINT32 Check) +{ + ACPI_STATUS Status; + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + Status = AtInitTermCommonTest(OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, TFst1, Check, + AE_NO_MEMORY); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + return (AtInitTermCommonTest(OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, TFst2, Check, + AE_NO_MEMORY)); +} + +ACPI_STATUS +AtInitTest0002(void) +{ + return (Init_NO_MEMORY_Test1(1, 1, CHECK_TERM_ACT)); +} + +/* + * ASSERTION 0003: + */ + +ACPI_STATUS +Init_NO_MEMORY_Test2( + UINT32 TFst1, + UINT32 TFst2, + UINT32 Check) +{ + ACPI_STATUS Status; + + /* + * AcpiOsCreateLock returns AE_NO_MEMORY permanently since the specified call + */ + Status = AtInitTermCommonTest(OSXF_NUM(AcpiOsCreateLock), + AtActD_Permanent, AtActRet_NO_MEMORY, TFst1, Check, + AE_NO_MEMORY); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * AcpiOsCreateLock returns AE_NO_MEMORY one time on the specified call + */ + return (AtInitTermCommonTest(OSXF_NUM(AcpiOsCreateLock), + AtActD_OneTime, AtActRet_NO_MEMORY, TFst2, Check, + AE_NO_MEMORY)); +} + +ACPI_STATUS +AtInitTest0003(void) +{ + return (Init_NO_MEMORY_Test2(1, 1, CHECK_TERM_ACT)); +} + +/* + * ASSERTION 0004: + */ + +ACPI_STATUS +Init_NO_MEMORY_Test3( + UINT32 TFst1, + UINT32 TFst2, + UINT32 Check) +{ + ACPI_STATUS Status; + + /* + * AcpiOsCreateSemaphore returns AE_NO_MEMORY + * permanently since the specified call + */ + Status = AtInitTermCommonTest(OSXF_NUM(AcpiOsCreateSemaphore), + AtActD_Permanent, AtActRet_NO_MEMORY, TFst1, Check, + AE_NO_MEMORY); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * AcpiOsCreateSemaphore returns AE_NO_MEMORY + * one time on the specified call + */ + return (AtInitTermCommonTest(OSXF_NUM(AcpiOsCreateSemaphore), + AtActD_OneTime, AtActRet_NO_MEMORY, TFst2, Check, + AE_NO_MEMORY)); +} + +ACPI_STATUS +AtInitTest0004(void) +{ + return (Init_NO_MEMORY_Test3(1, 1, CHECK_TERM_ACT)); +} + +/* + * ASSERTION 0005: + */ +ACPI_STATUS +AtInitTest0005(void) +{ + ACPI_STATUS Status; + UINT32 TMax = 3; + UINT32 i; + + for (i = 0; i < TMax; i++) + { + printf ("i == %d\n", i); + Status = AcpiInitializeSubsystem(); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("AcpiInitializeSubsystem() failure, %s\n", + AcpiFormatException(Status)); + break; + } + + Status = OsxfCtrlCheck(SYS_STAT, 0); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + break; + } + + Status = AtTerminateCtrlCheck(AE_OK, ALL_STAT); + if (ACPI_FAILURE(Status)) + { + break; + } + } + return (AE_OK); +} + +/* + * ASSERTION 0006: + */ +ACPI_STATUS +AtInitTest0006(void) +{ + ACPI_STATUS Status; + UINT32 TMax = 3; + UINT32 i; + + for (i = 0; i < TMax; i++) + { + printf ("i == %d\n", i); + Status = AcpiTerminate(); + if (ACPI_FAILURE(Status)) + { + /* It is not an aapi error without previous + * successful call to AcpiInitializeSubsystem() + * AapiErrors++; + * break; + */ + printf ("AcpiTerminate() returned %s\n", + AcpiFormatException(Status)); + } + + /* + * Check the total number of AcpiOS* invocations + */ + Status = OsxfCtrlCheck(TOTAL_STAT, 1); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + break; + } + } + return (AE_OK); +} + +/* + * ASSERTION 0007: + */ +ACPI_STATUS +AtInitTest0007(void) +{ + ACPI_STATUS Status; + UINT32 TMax = 3, RMax = 3; + UINT32 i, j; + + for (i = 0; i < RMax; i++) + { + Status = AcpiInitializeSubsystem(); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("AcpiInitializeSubsystem() failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = OsxfCtrlCheck(SYS_STAT, 0); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + return (Status); + } + + Status = AtTerminateCtrlCheck(AE_OK, ALL_STAT); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * Mark the total number of AcpiOS* invocations + */ + Status = OsxfCtrlCheck(TOTAL_STAT, 0); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + return (Status); + } + + for (j = 0; j < TMax; j++) + { + printf ("j == %d\n", j); + + /* + * Check the total number of AcpiOS* invocations + */ + Status = AtTerminateCtrlCheck(AE_OK, TOTAL_STAT); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + } + return (AE_OK); +} + +/* + * ASSERTION 0008: + */ +ACPI_STATUS +AtInitTest0008(void) +{ + return (AtInitTermCommonTest(OSXF_NUM(AcpiOsInitialize), + AtActD_OneTime, AtActRet_ERROR, 1, CHECK_TERM_ACT, AE_ERROR)); +} + +/* + * ASSERTION 0009: + */ +ACPI_STATUS +AtInitTest0009(void) +{ + ACPI_STATUS Status; + UINT32 Test_Flags = MALLOC_STAT | LOCK_STAT | SEMAPH_STAT; + + if (Test_Flags & MALLOC_STAT) + { + Status = Init_NO_MEMORY_Test1(1, 1, + CHECK_INIT_COND | CHECK_TERM_ACT | CHECK_FREE_COND); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + if (Test_Flags & LOCK_STAT) + { + Status = Init_NO_MEMORY_Test2(1, 1, + CHECK_INIT_COND | CHECK_TERM_ACT | CHECK_FREE_COND); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + if (Test_Flags & SEMAPH_STAT) + { + Status = Init_NO_MEMORY_Test3(1, 1, + CHECK_INIT_COND | CHECK_TERM_ACT | CHECK_FREE_COND); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + return (AE_OK); +} + +/* + * ASSERTION 0010: + */ +ACPI_STATUS +AtInitTest0010(void) +{ + UINT32 Check_Flags = CHECK_INIT_TERM | + CHECK_TERM_ACT | CHECK_FREE_COND; + + if (AT_SKIP_FREE_STAT_CHECK) + { + Check_Flags &= ~CHECK_FREE_COND; + } + return (AtInitTermCommonTest(OSXF_NUM(AcpiOsTotal), + AtActD_OneTime, AtActRet_ERROR, 1, + Check_Flags, AE_ERROR)); +} + +/* + * ASSERTION 0011: + */ +ACPI_STATUS +AtInitTest0011(void) +{ + ACPI_STATUS Status; + UINT32 Test_Flags = MALLOC_STAT | LOCK_STAT | SEMAPH_STAT; + + if (Test_Flags & MALLOC_STAT) + { + Status = Init_NO_MEMORY_Test1(1, 1, CHECK_INIT_TERM | CHECK_FREE_COND); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + if (Test_Flags & LOCK_STAT) + { + Status = Init_NO_MEMORY_Test2(1, 1, CHECK_INIT_TERM | CHECK_FREE_COND); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + if (Test_Flags & SEMAPH_STAT) + { + Status = Init_NO_MEMORY_Test3(1, 1, CHECK_INIT_TERM | CHECK_FREE_COND); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + return (AE_OK); +} + +/* + * ASSERTION 0012: + */ +ACPI_STATUS +AtInitTest0012(void) +{ + ACPI_STATUS Status; + int RMax = 100; + int i; + + for (i = 0; i < RMax; i++) + { + + Status = AcpiInitializeSubsystem(); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiInitializeSubsystem() failure, %s," + " step %d\n", AcpiFormatException(Status), i); + return (Status); + } + + Status = OsxfCtrlCheck(SYS_STAT, 0); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: no any resources allocated, step %d\n", i); + return (Status); + } + + Status = AtTerminateCtrlCheck(AE_OK, ALL_STAT); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + return (AE_OK); +} + +/* + * ASSERTION 0013: + */ +ACPI_STATUS +AtInitTest0013(void) +{ + ACPI_STATUS Status; + int RMax = 3; + int i; + + printf ("Test 0013:\n"); + + Status = AcpiInitializeSubsystem(); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiInitializeSubsystem() failure, %s," + " step %d\n", AcpiFormatException(Status), 0); + return (Status); + } + + Status = OsxfCtrlCheck(SYS_STAT, 0); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: no any resources allocated, step %d\n", 1); + return (Status); + } + + /* + * Mark the total number of AcpiOS* invocations + */ + Status = OsxfCtrlCheck(TOTAL_STAT, 0); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + return (Status); + } + + for (i = 0; i < RMax; i++) + { + + Status = AcpiInitializeSubsystem(); + if (ACPI_SUCCESS(Status)) + { + AapiErrors++; + printf ("API Error: repeated AcpiInitializeSubsystem() returned %s," + " step %d\n", AcpiFormatException(Status), i + 2); + return (Status); + } + + /* + * Check the total number of AcpiOS* invocations + */ + Status = OsxfCtrlCheck(TOTAL_STAT, 0); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + break; + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0014: + */ +ACPI_STATUS +AtInitTest0014(void) +{ + ACPI_STATUS Status; + + Status = AtInitCommonTest(AAPITS_INI_LOAD | + AAPITS_ENABLE_SS, + 0, 0, + AAPITS_EN_FLAGS, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0015: + */ +ACPI_STATUS +AtInitTest0015(void) +{ + ACPI_STATUS Status; + + Status = AtInitCommonTest(AAPITS_INI_LOAD | + AAPITS_ENABLE_SS, + 0, 0, + AAPITS_EN_FLAGS, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0016: + */ +ACPI_STATUS +AtInitTest0016(void) +{ + ACPI_STATUS Status; + int RMax = 3; + int i; + + /* + * Mark the total number of AcpiOS* invocations + */ + Status = OsxfCtrlCheck(TOTAL_STAT, 1); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error 1: AcpiOS* calls withoout Subsystem init., %s\n", + AcpiFormatException(Status)); + return (Status); + } + + for (i = 0; i < RMax; i++) + { + Status = AcpiEnableSubsystem(AAPITS_EN_FLAGS); + if (Status != AE_ERROR) + { + AapiErrors++; + printf ("API Error 2: AcpiEnableSubsystem() returned %s," + " expected AE_ERROR\n", + AcpiFormatException(Status)); + return (AE_ERROR); + } + } + + /* + * Check the total number of AcpiOS* invocations + */ + Status = OsxfCtrlCheck(TOTAL_STAT, 1); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error 2: AcpiOS* calls during AcpiEnableSubsystem, %s\n", + AcpiFormatException(Status)); + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0017: + */ +ACPI_STATUS +AtInitTest0017(void) +{ + ACPI_STATUS Status; + int RMax = 3; + int i; + + Status = AtInitCommonTest(AAPITS_INITIALIZE_SS, + AAPITS_INITIALIZE_SS, 0, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 0; i < RMax; i++) + { + Status = AcpiEnableSubsystem(AAPITS_EN_FLAGS); + if (Status != AE_ERROR) + { + AapiErrors++; + printf ("API Error: AcpiEnableSubsystem() returned %s," + " expected AE_ERROR\n", + AcpiFormatException(Status)); + return (AE_ERROR); + } + } + + /* + * Check the total number of AcpiOS* invocations + */ + Status = OsxfCtrlCheck(TOTAL_STAT, 1); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiOS* calls during AcpiEnableSubsystem, %s\n", + AcpiFormatException(Status)); + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0018: + */ +ACPI_STATUS +AtInitTest0018(void) +{ + ACPI_STATUS Status; + + Status = AtInitCommonTest(AAPITS_INITIALIZE_SS | AAPITS_ENABLE_SS, + 0, AAPITS_ENABLE_SS, + AAPITS_EN_FLAGS, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0019: + */ +ACPI_STATUS +AtInitTest0019(void) +{ + ACPI_STATUS Status; + + Status = AtInitCommonTest(AAPITS_INI_LOAD | + AAPITS_ENABLE_SS, + AAPITS_LOADTABLES, AAPITS_ENABLE_SS, + AAPITS_EN_FLAGS, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0020: + */ +ACPI_STATUS +AtInitTest0020(void) +{ + ACPI_STATUS Status; + + Status = AtInitCommonTest(AAPITS_INI_LOAD | + AAPITS_ENABLE_SS, + AAPITS_ENABLE_SS, 0, + AAPITS_EN_FLAGS, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0021: + */ +ACPI_STATUS +AtInitTest0021(void) +{ + ACPI_STATUS Status; + int RMax = 3; + int i; + + Status = AtInitCommonTest(AAPITS_INI_LOAD | + AAPITS_ENABLE_SS, + 0, 0, + AAPITS_EN_FLAGS, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 0; i < RMax; i++) + { + Status = AtInitCommonTest(AAPITS_ENABLE_SS, + 0, AAPITS_ENABLE_SS, + AAPITS_EN_FLAGS, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0121: + * > 3. acpi_enable_subsystem(~(ACPI_NO_HARDWARE_INIT | ACPI_NO_ACPI_ENABLE)); + * > 4. acpi_enable_subsystem(ACPI_NO_HARDWARE_INIT | ACPI_NO_ACPI_ENABLE); + */ +ACPI_STATUS +AtInitTest0121(void) +{ + ACPI_STATUS Status; + int RMax = 1; + int i; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("init0121.aml"))) + { + return (Status); + } + + Status = AtInitCommonTest(AAPITS_INI_LOAD | + AAPITS_ENABLE_SS, + 0, 0, + ~(UINT32)(ACPI_NO_HARDWARE_INIT | ACPI_NO_ACPI_ENABLE), 0, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 0; i < RMax; i++) + { + Status = AtInitCommonTest(AAPITS_ENABLE_SS, + 0, AAPITS_ENABLE_SS, + ACPI_NO_HARDWARE_INIT | ACPI_NO_ACPI_ENABLE, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0022: + */ +ACPI_STATUS +AtInitTest0022(void) +{ + ACPI_STATUS Status; + + Status = AtInitCommonTest(AAPITS_INI_LOAD | + AAPITS_ENABLE_SS | AAPITS_INITIALIZE_OBJS, + 0, 0, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0023: + */ +ACPI_STATUS +AtInitTest0023(void) +{ + ACPI_STATUS Status; + + Status = AtInitCommonTest(AAPITS_INI_LOAD | + AAPITS_ENABLE_SS | AAPITS_INITIALIZE_OBJS, + 0, 0, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0024: + */ +ACPI_STATUS +AtInitTest0024(void) +{ + ACPI_STATUS Status; + int RMax = 3; + int i; + + /* + * Mark the total number of AcpiOS* invocations + */ + Status = OsxfCtrlCheck(TOTAL_STAT, 1); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error 1: AcpiOS* calls withoout Subsystem init., %s\n", + AcpiFormatException(Status)); + return (Status); + } + + for (i = 0; i < RMax; i++) + { + Status = AcpiInitializeObjects(AAPITS_OI_FLAGS); + if (Status != AE_ERROR) + { + AapiErrors++; + printf ("API Error 2: AcpiInitializeObjects() returned %s," + " expected AE_ERROR\n", + AcpiFormatException(Status)); + return (Status); + } + } + + /* + * Check the total number of AcpiOS* invocations + */ + Status = OsxfCtrlCheck(TOTAL_STAT, 1); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error 2: AcpiOS* calls during AcpiInitializeObjects, %s\n", + AcpiFormatException(Status)); + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0025: + */ +ACPI_STATUS +AtInitTest0025(void) +{ + ACPI_STATUS Status; + int RMax = 3; + int i; + + Status = AtInitCommonTest(AAPITS_INITIALIZE_SS, + AAPITS_INITIALIZE_SS, 0, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 0; i < RMax; i++) + { + Status = AcpiInitializeObjects(AAPITS_OI_FLAGS); + if (Status != AE_ERROR) + { + AapiErrors++; + printf ("API Error: AcpiInitializeObjects() returned %s," + " expected AE_ERROR\n", + AcpiFormatException(Status)); + return (Status); + } + } + + /* + * Check the total number of AcpiOS* invocations + */ + Status = OsxfCtrlCheck(TOTAL_STAT, 1); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiOS* calls during AcpiInitializeObjects, %s\n", + AcpiFormatException(Status)); + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0026: + */ +ACPI_STATUS +AtInitTest0026(void) +{ + ACPI_STATUS Status; + + Status = AtInitCommonTest(AAPITS_INITIALIZE_SS | AAPITS_INITIALIZE_OBJS, + 0, AAPITS_INITIALIZE_OBJS, + 0, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0027: + */ +ACPI_STATUS +AtInitTest0027(void) +{ + ACPI_STATUS Status; + + Status = AtInitCommonTest(AAPITS_INI_LOAD | + AAPITS_INITIALIZE_OBJS, + AAPITS_LOADTABLES, AAPITS_INITIALIZE_OBJS, + 0, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0028: + */ +ACPI_STATUS +AtInitTest0028(void) +{ + ACPI_STATUS Status; + + Status = AtInitCommonTest(AAPITS_INI_LOAD | + AAPITS_INITIALIZE_OBJS, + 0, AAPITS_INITIALIZE_OBJS, + 0, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0029: + */ +ACPI_STATUS +AtInitTest0029(void) +{ + ACPI_STATUS Status; + + Status = AtInitCommonTest(AAPITS_INI_LOAD | + AAPITS_ENABLE_SS | AAPITS_INITIALIZE_OBJS, + AAPITS_ENABLE_SS, AAPITS_INITIALIZE_OBJS, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0030: + */ +ACPI_STATUS +AtInitTest0030(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("init0030.aml"))) + { + return (Status); + } + + Status = AtInitCommonTest(AAPITS_INI_LOAD | + AAPITS_ENABLE_SS | AAPITS_INITIALIZE_OBJS, + AAPITS_INITIALIZE_OBJS, 0, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0031: + */ +ACPI_STATUS +AtInitTest0031(void) +{ + ACPI_STATUS Status; + int RMax = 3; + int i; + + Status = AtInitCommonTest(AAPITS_INI_LOAD | + AAPITS_ENABLE_SS | AAPITS_INITIALIZE_OBJS, + 0, 0, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 0; i < RMax; i++) + { + Status = AtInitCommonTest(AAPITS_INITIALIZE_OBJS, + 0, AAPITS_INITIALIZE_OBJS, + 0, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0032: + */ +ACPI_STATUS +AtInitTest0032(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("init0032.aml"))) + { + return (Status); + } + + Status = AtInitCommonTest(AAPITS_INI_LOAD | + AAPITS_ENABLE_SS, + 0, 0, + AAPITS_EN_FLAGS, 0, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INVC", 0))) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INVM", 0))) + { + return (Status); + } + + Status = AtInitCommonTest(AAPITS_INITIALIZE_OBJS, + 0, 0, + 0, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INVC", + _INI_TOTAL + _STA_TOTAL - 2))) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INVM", + TOTAL_MASK | _STA_NEGATIV_MASK))) + { + return (Status); + } + + return (AE_OK); +} + +/* + * Check InitializationHandler calls + */ +ACPI_STATUS +AtInitializationHandlerCallsCheck( + UINT32 Function_INI) +{ + if (Function_INI) + { + if (IhFunctionIniCounter != Function_INI) + { + AapiErrors++; + printf ("API Error: %d INI Function calls" + " of InitializationHandler, expected %d ones\n", + IhFunctionIniCounter, Function_INI); + return (AE_ERROR); + } + } + else + { + if (IhFunctionIniCounter) + { + AapiErrors++; + printf ("API Error: unexpected INI Function calls" + " of InitializationHandler, %d times\n", + IhFunctionIniCounter); + return (AE_ERROR); + } + } + + if (IhFunctionOthersCounter) + { + AapiErrors++; + printf ("API Error: unexpected Unknown Function calls" + " of InitializationHandler, %d times\n", + IhFunctionOthersCounter); + return (AE_ERROR); + } + + if (!AT_SKIP_IH_OTYPE_CHECK && IhUnexpectedTypeCounter) + { + AapiErrors++; + printf ("API Error: unexpected type of Object" + " in InitializationHandler, %d times\n", + IhUnexpectedTypeCounter); + return (AE_ERROR); + } + + if (AlternativeHandlerCounter) + { + AapiErrors++; + printf ("API Error: unexpected calls" + " of AlternativeInitHandler, %d times\n", + AlternativeHandlerCounter); + return (AE_ERROR); + } + + return (AE_OK); +} + +/* + * ASSERTION 0033: + */ +ACPI_STATUS +AtInitTest0033(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("init0032.aml"))) + { + return (Status); + } + + Status = AtInitCommonTest(AAPITS_INI_LOAD | + AAPITS_ENABLE_SS | AAPITS_INITIALIZE_OBJS | AAPITS_INSTALL_IH, + 0, 0, + AAPITS_EN_FLAGS, ACPI_NO_DEVICE_INIT, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtInitializationHandlerCallsCheck(0))) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INVC", 0))) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INVM", 0))) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0034: + */ +ACPI_STATUS +AtInitTest0034(void) +{ + ACPI_STATUS Status; + UINT8 BenchmarkField[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x1}; + UINT8 BenchmarkBuffer[] = { + 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("init0034.aml"))) + { + return (Status); + } + + Status = AtInitCommonTest(AAPITS_INI_LOAD | + AAPITS_ENABLE_SS, + 0, 0, + AAPITS_EN_FLAGS, 0, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* Region */ + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INTR", 49))) + { + return (Status); + } + + /* Buffer Fields */ + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INTF", 64))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INTG", 6))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INTH", 4))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INTI", 2))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INTJ", 0))) + { + return (Status); + } + + /* Buffer */ + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INTB", 9))) + { + return (Status); + } + + /* Package */ + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INTP", 3))) + { + return (Status); + } + + Status = AtInitCommonTest(AAPITS_INITIALIZE_OBJS, + 0, 0, + 0, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * Check OperationRegions, BufferFields, Buffers, and Packages + * initialization AML code execution + */ + + /* Region */ + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INTR", 50))) + { + return (Status); + } + + /* Buffer Fields */ + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INTF", 65))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckBuffer("\\BFL0", + sizeof (BenchmarkField), BenchmarkField))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INTG", 7))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\BFL1", 0x87))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INTH", 5))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\BFL2", 0x8685))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INTI", 3))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\BFL3", 0x86858483))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INTJ", 1))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\BFL4", + ((UINT64)0x8090a0b << 32) | 0x0c0d0e0f))) + { + return (Status); + } + + /* Buffer */ + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INTB", 10))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckBuffer("\\BUF0", + sizeof (BenchmarkBuffer), BenchmarkBuffer))) + { + return (Status); + } + + /* Package */ + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INTP", 4))) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0035: + */ +ACPI_STATUS +AtInitTest0035(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("init0034.aml"))) + { + return (Status); + } + + Status = AtInitCommonTest(AAPITS_INI_LOAD | + AAPITS_ENABLE_SS | AAPITS_INITIALIZE_OBJS, + 0, 0, + AAPITS_EN_FLAGS, ACPI_NO_OBJECT_INIT, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * Check OperationRegions, BufferFields, Buffers, and Packages + * initialization AML code is not executed + */ + + /* Region */ + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INTR", 49))) + { + return (Status); + } + + /* Buffer Fields */ + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INTF", 64))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INTG", 6))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INTH", 4))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INTI", 2))) + { + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INTJ", 0))) + { + return (Status); + } + + /* Buffer */ + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INTB", 9))) + { + return (Status); + } + + /* Package */ + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INTP", 3))) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0036: + */ +ACPI_STATUS +AtInitTest0036(void) +{ + ACPI_STATUS Status; + + Status = AtInitCommonTest(AAPITS_INI_LOAD | + AAPITS_ENABLE_SS | AAPITS_INITIALIZE_OBJS, + 0, 0, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * Mark the total number of AcpiOS* invocations + */ + Status = OsxfCtrlCheck(TOTAL_STAT, 0); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + return (Status); + } + + Status = AcpiPurgeCachedObjects(); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiPurgeCachedObjects() failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + + /* + * Check the total number of AcpiOS* invocations + */ + Status = OsxfCtrlCheck(TOTAL_STAT, 1); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiOS* calls during AcpiPurgeCachedObjects, %s\n", + AcpiFormatException(Status)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0037: + */ +ACPI_STATUS +AtInitTest0037(void) +{ + ACPI_STATUS Status; + + Status = AtInitCommonTest(AAPITS_INI_LOAD | + AAPITS_ENABLE_SS | AAPITS_INITIALIZE_OBJS, + 0, 0, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + CHECK_SUBSYSTEM_STATUS(AE_OK); + + return (AE_OK); +} + +/* + * ASSERTION 0038: + */ +ACPI_STATUS +AtInitTest0038(void) +{ + ACPI_STATUS Status; + UINT32 CtrlCheck = ALL_STAT; + + if (AT_SKIP_MMAP_CHECK) + { + CtrlCheck &= ~MMAP_STAT; + } + + Status = AtInitCommonTest(AAPITS_INI_LOAD | + AAPITS_ENABLE_SS | AAPITS_INITIALIZE_OBJS, + 0, 0, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + CHECK_SUBSYSTEM_STATUS(AE_OK); + + Status = AcpiTerminate(); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiTerminate() failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + + CHECK_SUBSYSTEM_STATUS(AE_ERROR); + + Status = OsxfCtrlCheck(CtrlCheck, 1); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: some resources don't released\n"); + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0039: + */ +ACPI_STATUS +AtInitTest0039(void) +{ + ACPI_STATUS Status; + UINT32 StagesScale = 0; + UINT32 i = 0; + UINT32 Stages[3] = {AAPITS_INITIALIZE_SS, + AAPITS_LOADTABLES, AAPITS_ENABLE_SS}; + + for (i = 0; i < 3; i++) + { + StagesScale |= Stages[i]; + + Status = AtInitCommonTest(StagesScale, + 0, 0, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + CHECK_SUBSYSTEM_STATUS(AE_ERROR); + + Status = AcpiTerminate(); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiTerminate() failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + + CHECK_SUBSYSTEM_STATUS(AE_ERROR); + + Status = AtTerminateCheck(Status, ALL_STAT); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0040: + */ +ACPI_STATUS +AtInitTest0040(void) +{ + ACPI_STATUS Status; + UINT32 StagesScale = 0; + UINT32 ErrStagesScale; + UINT32 i = 0; + UINT32 Stages[5] = { + AAPITS_INITIALIZE_SS, AAPITS_INITABLES, AAPITS_LOADTABLES, + AAPITS_ENABLE_SS, AAPITS_INITIALIZE_OBJS}; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("init0030.aml"))) + { + return (Status); + } + + for (i = 0; i < 5; i++) + { + StagesScale |= Stages[i]; + ErrStagesScale = Stages[i]; + + Status = AtInitCommonTest(StagesScale, + ErrStagesScale, 0, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + CHECK_SUBSYSTEM_STATUS(AE_ERROR); + + + Status = AcpiTerminate(); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiTerminate() failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + + CHECK_SUBSYSTEM_STATUS(AE_ERROR); + + /* AcpiOsTerminate redundancy issue */ + if (1) continue; + + Status = OsxfCtrlCheck(ALL_STAT, 1); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: some resources don't released\n"); + return (Status); + } + } + + return (AE_OK); +} + +#define NUM_ACPI_TABLE_TYPES 7 +char *Table_Names[NUM_ACPI_TABLE_TYPES] = { + "RSDP", "DSDT", "FADT", "FACS", "PSDT", "SSDT", "XSDT"}; + +/* + * ASSERTION 0041: + */ +ACPI_STATUS +AtCheckSystemInfo( + ACPI_SYSTEM_INFO *InfoPtr) +{ + if (!(InfoPtr->TimerResolution == 24 || InfoPtr->TimerResolution == 32)) + { + AapiErrors++; + printf ("API Error: AcpiGetSystemInfo() returned" + " TimerResolution (%d) != 24 (or 32)\n", + InfoPtr->TimerResolution); + return (AE_ERROR); + } + + return (AE_OK); +} + +/* + * ASSERTION 0041: + */ +ACPI_STATUS +AtInitTest0041(void) +{ + ACPI_STATUS Status; + UINT32 i; + ACPI_BUFFER OutBuffer; + ACPI_SYSTEM_INFO Info; + UINT32 Stages[6] = { + 0, AAPITS_INITIALIZE_SS, AAPITS_INITABLES, AAPITS_LOADTABLES, + AAPITS_ENABLE_SS, AAPITS_INITIALIZE_OBJS}; + + for (i = 0; i < 6; i++) + { + Status = AtInitCommonTest(Stages[i], + 0, 0, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + OutBuffer.Pointer = &Info; + OutBuffer.Length = 0; + + Status = AcpiGetSystemInfo(&OutBuffer); + if (Status != AE_BUFFER_OVERFLOW) + { + AapiErrors++; + printf ("API Error: AcpiGetSystemInfo() returned %s," + " expected AE_BUFFER_OVERFLOW\n", + AcpiFormatException(Status)); + return (Status); + } + + if (OutBuffer.Length != sizeof (Info)) + { + AapiErrors++; + printf ("API Error: AcpiGetSystemInfo() returned" + " Length %d, expected %d\n", + OutBuffer.Length, sizeof (Info)); + return (AE_ERROR); + } + + OutBuffer.Pointer = &Info; + OutBuffer.Length = sizeof (Info) - 1; + + Status = AcpiGetSystemInfo(&OutBuffer); + if (Status != AE_BUFFER_OVERFLOW) + { + AapiErrors++; + printf ("API Error: AcpiGetSystemInfo() returned %s," + " expected AE_BUFFER_OVERFLOW\n", + AcpiFormatException(Status)); + return (Status); + } + + if (OutBuffer.Length != sizeof (Info)) + { + AapiErrors++; + printf ("API Error: AcpiGetSystemInfo() returned" + " Length %d, expected %d\n", + OutBuffer.Length, sizeof (Info)); + return (AE_ERROR); + } + + OutBuffer.Pointer = &Info; + OutBuffer.Length = sizeof (Info); + + Status = AcpiGetSystemInfo(&OutBuffer); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiGetSystemInfo() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + else if (OutBuffer.Length != sizeof (Info)) + { + AapiErrors++; + printf ("API Error: AcpiGetSystemInfo() returned" + " Length %d, expected %d\n", + OutBuffer.Length, sizeof (Info)); + return (AE_ERROR); + } + else if (OutBuffer.Pointer != &Info) + { + AapiErrors++; + printf ("API Error: AcpiGetSystemInfo() succeeded but" + " OutBuffer.Pointer (%p) is not &Info (%p)\n", + OutBuffer.Pointer, &Info); + return (AE_ERROR); + } + if (ACPI_FAILURE(Status = AtCheckSystemInfo(OutBuffer.Pointer))) + { + return (Status); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0042: + */ +ACPI_STATUS +AtInitTest0042(void) +{ + ACPI_STATUS Status; + UINT32 i; + ACPI_BUFFER OutBuffer; + ACPI_SYSTEM_INFO Info; + UINT32 Stages[6] = { + 0, AAPITS_INITIALIZE_SS, AAPITS_INITABLES, AAPITS_LOADTABLES, + AAPITS_ENABLE_SS, AAPITS_INITIALIZE_OBJS}; + + for (i = 0; i < 6; i++) + { + Status = AtInitCommonTest(Stages[i], + 0, 0, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetSystemInfo(NULL); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("API Error: AcpiGetSystemInfo(NULL) returned %s," + " expected AE_BAD_PARAMETER\n", + AcpiFormatException(Status)); + return (Status); + } + + OutBuffer.Pointer = NULL; + OutBuffer.Length = sizeof (Info); + + Status = AcpiGetSystemInfo(&OutBuffer); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("API Error: AcpiGetSystemInfo(OutBuffer.Pointer = NULL)" + " returned %s, expected AE_BAD_PARAMETER\n", + AcpiFormatException(Status)); + return (Status); + } + + OutBuffer.Pointer = &Info; + OutBuffer.Length = sizeof (Info); + + Status = AcpiGetSystemInfo(&OutBuffer); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiGetSystemInfo() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + else if (OutBuffer.Length != sizeof (Info)) + { + AapiErrors++; + printf ("API Error: AcpiGetSystemInfo() returned" + " Length %d, expected %d\n", + OutBuffer.Length, sizeof (Info)); + return (AE_ERROR); + } + else if (OutBuffer.Pointer != &Info) + { + AapiErrors++; + printf ("API Error: AcpiGetSystemInfo() succeeded but" + " OutBuffer.Pointer (%p) is not &Info (%p)\n", + OutBuffer.Pointer, &Info); + return (AE_ERROR); + } + if (ACPI_FAILURE(Status = AtCheckSystemInfo(OutBuffer.Pointer))) + { + return (Status); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0043: + */ +ACPI_STATUS +AtInitTest0043(void) +{ + ACPI_STATUS Status; + UINT32 i; + ACPI_BUFFER OutBuffer; + UINT32 Stages[5] = { + AAPITS_INITIALIZE_SS, AAPITS_INITABLES, AAPITS_LOADTABLES, + AAPITS_ENABLE_SS, AAPITS_INITIALIZE_OBJS}; + + for (i = 0; i < 5; i++) + { + Status = AtInitCommonTest(Stages[i], + 0, 0, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + OutBuffer.Length = ACPI_ALLOCATE_BUFFER; + OutBuffer.Pointer = NULL; + + Status = AcpiGetSystemInfo(&OutBuffer); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiGetSystemInfo() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + else if (OutBuffer.Pointer == NULL) + { + AapiErrors++; + printf ("API Error: AcpiGetSystemInfo() succeeded but returned NULL\n"); + return (AE_ERROR); + } + else if (OutBuffer.Length != sizeof (ACPI_SYSTEM_INFO)) + { + AapiErrors++; + printf ("API Error: AcpiGetSystemInfo() returned" + " Length %d, expected %d\n", + OutBuffer.Length, sizeof (ACPI_SYSTEM_INFO)); + return (AE_ERROR); + } + else + { + /* Check ACPI_SYSTEM_INFO structure*/ + if (ACPI_FAILURE(Status = AtCheckSystemInfo(OutBuffer.Pointer))) + { + return (Status); + } + AcpiOsFree(OutBuffer.Pointer); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0044: + */ +ACPI_STATUS +AtInitTest0044(void) +{ + ACPI_STATUS Status; + UINT32 i; + ACPI_BUFFER OutBuffer; + UINT32 Stages[5] = { + AAPITS_INITIALIZE_SS, AAPITS_INITABLES, AAPITS_LOADTABLES, + AAPITS_ENABLE_SS, AAPITS_INITIALIZE_OBJS}; + + for (i = 0; i < 5; i++) + { + Status = AtInitCommonTest(Stages[i], + 0, 0, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = OsxfCtrlSet(OSXF_NUM(AcpiOsAllocate), + 1, AtActD_OneTime, AtActRet_NULL); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test Error: OsxfCtrlSet() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + OutBuffer.Length = ACPI_ALLOCATE_BUFFER; + OutBuffer.Pointer = NULL; + + Status = AcpiGetSystemInfo(&OutBuffer); + if (Status != AE_NO_MEMORY) + { + AapiErrors++; + printf ("API Error: AcpiGetSystemInfo() returned %s,\n" + " expected AE_NO_MEMORY\n", + AcpiFormatException(Status)); + return (Status); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0045: + */ +ACPI_STATUS +AtInitTest0045(void) +{ + ACPI_STATUS Status; + ACPI_BUFFER OutBuffer; + + OutBuffer.Length = ACPI_ALLOCATE_BUFFER; + OutBuffer.Pointer = NULL; + + Status = AcpiGetSystemInfo(&OutBuffer); + if (ACPI_SUCCESS(Status)) + { + AapiErrors++; + printf ("API Error: AcpiGetSystemInfo() returned %s," + " expected FAILURE\n", + AcpiFormatException(Status)); + return (Status); + } + + return (AtInitTest0044()); +} + +/* + * ASSERTION 0046: + */ +ACPI_STATUS +AtInitTest0046(void) +{ + ACPI_STATUS Status; + UINT32 StagesScale = 0; + UINT32 i; + UINT32 Stages[6] = { + 0, AAPITS_INITIALIZE_SS, AAPITS_INITABLES, AAPITS_LOADTABLES, + AAPITS_ENABLE_SS, AAPITS_INITIALIZE_OBJS}; + + for (i = 0; i < 6; i++) + { + StagesScale |= Stages[i]; + + Status = AtInitCommonTest(StagesScale, + 0, 0, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiInstallInitializationHandler(NULL, 0); + if (!ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiInstallInitializationHandler(NULL)" + " returned %s, expected FAILURE\n", + AcpiFormatException(Status)); + return (Status); + } + + if (i < 1) continue; + + Status = AcpiTerminate(); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiTerminate() failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + + /* AcpiOsTerminate redundancy issue */ + if (1) continue; + + Status = OsxfCtrlCheck(ALL_STAT, 1); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: some resources don't released\n"); + return (Status); + } + } + + return (AE_OK); +} + +/* + * AtInitializationHandlerCommon: + */ + +/****************************************************************************** + * + * FUNCTION: AtInitializationHandlerCommon + * + * PARAMETERS: SpecName - Device to apply the special return value + * SpecRet - The Status code to return from the Handler + * ExpectedINVC - Expected value of the invocation counter + * ExpectedINVM - Expected mask of the invoked Methods + * ExpectedNegativeC_STA - Number of negative _STA invocations + * ExpectedNegativeM_STA - Mask of negative _STA invocations + * ExpectedCalls - Total number of Handler calls + * + * RETURN: Status + * + * DESCRIPTION: Common test of Global Initialization Handler installation. + * + *****************************************************************************/ + +ACPI_STATUS +AtInitializationHandlerCommon( + char *AmlName, + UINT8 *SpecName, + ACPI_STATUS SpecRet, + UINT32 ExpectedINVC, + UINT32 ExpectedINVM, + UINT32 ExpectedNegativeC_STA, + UINT32 ExpectedNegativeM_STA, + UINT32 ExpectedCalls) +{ + ACPI_STATUS Status; + UINT32 StagesScale = 0; + UINT32 i, j; + UINT32 Stages[3] = { + AAPITS_INITIALIZE_SS, AAPITS_LOADTABLES, AAPITS_ENABLE_SS}; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet(AmlName))) + { + return (Status); + } + + for (i = 0; i < 3; i++) + { + StagesScale |= Stages[i]; + + Status = AtInitCommonTest(StagesScale, + 0, 0, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + IhFunctionIniCounter = 0; + + Status = AcpiInstallInitializationHandler(AtAcpiInitHandler, 0); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiInstallInitializationHandler()" + " returned %s, expected SUCCESS\n", + AcpiFormatException(Status)); + return (Status); + } + + for (j = i + 1; j < 3; j++) + { + Status = AtInitCommonTest(Stages[j], + 0, 0, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtInitializationHandlerCallsCheck(0))) + { + printf ("AtInitializationHandlerCallsCheck Error" + " after Stage 0x%x (0x%x)\n", + Stages[j], StagesScale); + return (Status); + } + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INVC", 0))) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INVM", 0))) + { + return (Status); + } + + AtAcpiInitHandlerSpecName = SpecName; + AtAcpiInitHandlerSpecRet = SpecRet; + EstimatedINVC = 0; + EstimatedINVM = 0; + + Status = AtInitCommonTest(AAPITS_INITIALIZE_OBJS, + 0, 0, + 0, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (AtAcpiInitHandlerSpecRet != AE_OK) + { + AapiErrors++; + printf ("API Error: None InitializationHandler() call" + " on the Object Name '%s'\n", + AtAcpiInitHandlerSpecName); + return (AE_ERROR); + } + + if (EstimatedINVM & ExpectedNegativeM_STA) + { + AapiErrors++; + printf ("API Error: EstimatedINVM (0x%x) & ExpectedNegativeM_STA" + " (0x%x) != 0 (unexpected call for not present device)\n", + EstimatedINVM, ExpectedNegativeM_STA); + return (AE_ERROR); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INVC", + EstimatedINVC + ExpectedNegativeC_STA))) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INVM", + EstimatedINVM | ExpectedNegativeM_STA))) + { + return (Status); + } + + if (EstimatedINVC != ExpectedINVC) + { + AapiErrors++; + printf ("API Error: EstimatedINVC (%d) != ExpectedINVC (%d)\n", + EstimatedINVC, ExpectedINVC); + return (AE_ERROR); + } + + if (EstimatedINVM != ExpectedINVM) + { + AapiErrors++; + printf ("API Error: EstimatedINVM (0x%x) != ExpectedINVM (0x%x)\n", + EstimatedINVM, ExpectedINVM); + return (AE_ERROR); + } + + if (ACPI_FAILURE(Status = AtInitializationHandlerCallsCheck( + ExpectedCalls))) + { + return (Status); + } + + Status = AtTerminateCtrlCheck(AE_OK, ALL_STAT); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0047: + */ +ACPI_STATUS +AtInitTest0047(void) +{ + return (AtInitializationHandlerCommon( + "init0032.aml", + NULL, AE_OK, 10, TOTAL_MASK, + _STA_NEGATIV_CALLS, _STA_NEGATIV_MASK, 8)); +} + +/* + * ASSERTION 0048: + */ +ACPI_STATUS +AtInitTest0048(void) +{ + ACPI_STATUS Status; + UINT32 StagesScale = 0; + UINT32 i, j; + UINT32 Stages[3] = { + AAPITS_INITIALIZE_SS, AAPITS_LOADTABLES, AAPITS_ENABLE_SS}; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("init0032.aml"))) + { + return (Status); + } + + for (i = 0; i < 3; i++) + { + StagesScale |= Stages[i]; + + Status = AtInitCommonTest(StagesScale, + 0, 0, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + IhFunctionIniCounter = 0; + + Status = AcpiInstallInitializationHandler(AtAcpiInitHandler, 0); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiInstallInitializationHandler()" + " returned %s, expected SUCCESS\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiInstallInitializationHandler(AlternativeAcpiInitHandler, 0); + if (Status != AE_ALREADY_EXISTS) + { + AapiErrors++; + printf ("API Error: AcpiInstallInitializationHandler()" + " returned %s, expected AE_ALREADY_EXISTS\n", + AcpiFormatException(Status)); + return (AE_ERROR); + } + + for (j = i + 1; j < 3; j++) + { + Status = AtInitCommonTest(Stages[j], + 0, 0, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtInitializationHandlerCallsCheck(0))) + { + printf ("AtInitializationHandlerCallsCheck Error" + " after Stage 0x%x (0x%x)\n", + Stages[j], StagesScale); + return (Status); + } + + Status = AcpiInstallInitializationHandler(AlternativeAcpiInitHandler, 0); + if (Status != AE_ALREADY_EXISTS) + { + AapiErrors++; + printf ("API Error: AcpiInstallInitializationHandler()" + " returned %s, expected AE_ALREADY_EXISTS\n", + AcpiFormatException(Status)); + return (AE_ERROR); + } + } + + Status = AtInitCommonTest(AAPITS_INITIALIZE_OBJS, + 0, 0, + 0, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtInitializationHandlerCallsCheck(5))) + { + return (Status); + } + + Status = AtTerminateCtrlCheck(AE_OK, ALL_STAT); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0049: + */ +ACPI_STATUS +AtInitTest0049(void) +{ + ACPI_STATUS Status; + UINT32 RMax = 3; + UINT32 i; + + /* + * Mark the total number of AcpiOS* invocations + */ + Status = OsxfCtrlCheck(TOTAL_STAT, 1); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error 1: AcpiOS* calls withoout Subsystem init., %s\n", + AcpiFormatException(Status)); + return (Status); + } + + for (i = 0; i < RMax; i++) + { + Status = AcpiInstallInitializationHandler(AlternativeAcpiInitHandler, 0); + if (Status != AE_ERROR) + { + AapiErrors++; + printf ("API Error: AcpiInstallInitializationHandler()" + " returned %s, expected AE_ERROR\n", + AcpiFormatException(Status)); + return (AE_ERROR); + } + } + + /* + * Check the total number of AcpiOS* invocations + */ + Status = OsxfCtrlCheck(TOTAL_STAT, 1); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error 2: AcpiOS* calls during AcpiInitializeObjects, %s\n", + AcpiFormatException(Status)); + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0050: + */ +ACPI_STATUS +AtInitTest0050(void) +{ + ACPI_STATUS Status; + UINT32 RMax = 3; + UINT32 i; + + Status = AtInitCommonTest(AAPITS_INITIALIZE_SS, + AAPITS_INITIALIZE_SS, 0, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 0; i < RMax; i++) + { + Status = AcpiInstallInitializationHandler( + AlternativeAcpiInitHandler, 0); + if (Status != AE_ERROR) + { + AapiErrors++; + printf ("API Error: AcpiInstallInitializationHandler()" + " returned %s, expected AE_ERROR\n", + AcpiFormatException(Status)); + return (Status); + } + } + + /* + * Check the total number of AcpiOS* invocations + */ + Status = OsxfCtrlCheck(TOTAL_STAT, 1); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiOS* calls during AcpiInitializeObjects, %s\n", + AcpiFormatException(Status)); + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0051: + */ +ACPI_STATUS +AtInitTest0051(void) +{ + return (AtInitializationHandlerCommon( + "init0032.aml", + (UINT8 *)"DEV5", AE_CTRL_TERMINATE, 5, 0xCE, + 1, 0x20 /* DEV4 */, 5)); +} + +/* + * ASSERTION 0052: + */ +ACPI_STATUS +AtInitTest0052(void) +{ + return (AtInitializationHandlerCommon( + "init0032.aml", + (UINT8 *)"DEV5", AE_CTRL_DEPTH, + 8, TOTAL_MASK & ~0x330, + _STA_NEGATIV_CALLS, _STA_NEGATIV_MASK, 7)); +} + +/* + * ASSERTION 0053: + */ +ACPI_STATUS +AtInitTest0053(void) +{ + ACPI_STATUS Status; + UINT32 AllEnFlags[] = { + ACPI_NO_ADDRESS_SPACE_INIT, + ACPI_NO_HARDWARE_INIT, + ACPI_NO_EVENT_INIT, + ACPI_NO_HANDLER_INIT, + ACPI_NO_ACPI_ENABLE, + /* ACPI_NO_PCI_INIT */}; + UINT32 MaxEnFlags = 5; /* 6 with ACPI_NO_PCI_INIT */ + UINT32 ScaleEnFlags = (1 << MaxEnFlags); + UINT32 EnFlags = 0, i, j; + + for (i = 1; i < ScaleEnFlags; i++) + { + printf ("i == %d\n", i); + + EnFlags = 0; + + for (j = 0; j < MaxEnFlags; j++) + { + if ((i >> j) & 1) + { + EnFlags |= AllEnFlags[j]; + } + } + + /* + * If ACPI events is not initialized then + * the handlers can not be initialized too. + */ + if (EnFlags & ACPI_NO_EVENT_INIT && + !(EnFlags & ACPI_NO_HANDLER_INIT) && + AT_SKIP_NO_HANDLER_INIT) + { + continue; + } + + Status = AtInitCommonTest(AAPITS_INI_LOAD | + AAPITS_ENABLE_SS | AAPITS_INITIALIZE_OBJS, + 0, 0, + EnFlags, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + CHECK_SUBSYSTEM_STATUS(AE_OK); + + Status = AtTerminateCtrlCheck(AE_OK, ALL_STAT); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0054: + */ +ACPI_STATUS +AtInitTest0054(void) +{ + ACPI_STATUS Status; + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + Status = AtExceptionCommonTest(AAPITS_ENABLE_SS, + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + return (AtExceptionCommonTest(AAPITS_ENABLE_SS, + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY)); +} + +/* + * ASSERTION 0055: + */ +ACPI_STATUS +AtInitTest0055(void) +{ + ACPI_STATUS Status; + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + Status = AtExceptionCommonTest(AAPITS_INITIALIZE_OBJS, + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + return (AtExceptionCommonTest(AAPITS_INITIALIZE_OBJS, + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY)); +} + +#define TO_STRING(a) #a + +ACPI_STATUS AllExceptionsCodes[] = { + AE_OK, + AE_ERROR, + AE_NO_ACPI_TABLES, + AE_NO_NAMESPACE, + AE_NO_MEMORY, + AE_NOT_FOUND, + AE_NOT_EXIST, + AE_ALREADY_EXISTS, + AE_TYPE, + AE_NULL_OBJECT, + AE_NULL_ENTRY, + AE_BUFFER_OVERFLOW, + AE_STACK_OVERFLOW, + AE_STACK_UNDERFLOW, + AE_NOT_IMPLEMENTED, + AE_SUPPORT, + AE_LIMIT, + AE_TIME, + AE_ACQUIRE_DEADLOCK, + AE_RELEASE_DEADLOCK, + AE_NOT_ACQUIRED, + AE_ALREADY_ACQUIRED, + AE_NO_HARDWARE_RESPONSE, + AE_NO_GLOBAL_LOCK, + AE_ABORT_METHOD, + AE_SAME_HANDLER, + AE_NO_HANDLER, +// AE_OWNER_ID_LIMIT, + AE_BAD_PARAMETER, + AE_BAD_CHARACTER, + AE_BAD_PATHNAME, + AE_BAD_DATA, + AE_BAD_ADDRESS, + AE_BAD_HEX_CONSTANT, + AE_BAD_OCTAL_CONSTANT, + AE_BAD_DECIMAL_CONSTANT, + AE_BAD_SIGNATURE, + AE_BAD_HEADER, + AE_BAD_CHECKSUM, + AE_BAD_VALUE, + AE_INVALID_TABLE_LENGTH, + AE_AML_BAD_OPCODE, + AE_AML_NO_OPERAND, + AE_AML_OPERAND_TYPE, + AE_AML_OPERAND_VALUE, + AE_AML_UNINITIALIZED_LOCAL, + AE_AML_UNINITIALIZED_ARG, + AE_AML_UNINITIALIZED_ELEMENT, + AE_AML_NUMERIC_OVERFLOW, + AE_AML_REGION_LIMIT, + AE_AML_BUFFER_LIMIT, + AE_AML_PACKAGE_LIMIT, + AE_AML_DIVIDE_BY_ZERO, + AE_AML_BAD_NAME, + AE_AML_NAME_NOT_FOUND, + AE_AML_INTERNAL, + AE_AML_INVALID_SPACE_ID, + AE_AML_STRING_LIMIT, + AE_AML_NO_RETURN_VALUE, + AE_AML_METHOD_LIMIT, + AE_AML_NOT_OWNER, + AE_AML_MUTEX_ORDER, + AE_AML_MUTEX_NOT_ACQUIRED, + AE_AML_INVALID_RESOURCE_TYPE, + AE_AML_INVALID_INDEX, + AE_AML_REGISTER_LIMIT, + AE_AML_NO_WHILE, + AE_AML_ALIGNMENT, + AE_AML_NO_RESOURCE_END_TAG, + AE_AML_BAD_RESOURCE_VALUE, + AE_AML_CIRCULAR_REFERENCE, + AE_AML_BAD_RESOURCE_LENGTH, + AE_CTRL_RETURN_VALUE, + AE_CTRL_PENDING, + AE_CTRL_TERMINATE, + AE_CTRL_TRUE, + AE_CTRL_FALSE, + AE_CTRL_DEPTH, + AE_CTRL_END, + AE_CTRL_TRANSFER, + AE_CTRL_BREAK, + AE_CTRL_CONTINUE, + AE_CTRL_SKIP +}; + +char *AllExceptionsStrings[] = { + TO_STRING(AE_OK), + TO_STRING(AE_ERROR), + TO_STRING(AE_NO_ACPI_TABLES), + TO_STRING(AE_NO_NAMESPACE), + TO_STRING(AE_NO_MEMORY), + TO_STRING(AE_NOT_FOUND), + TO_STRING(AE_NOT_EXIST), + TO_STRING(AE_ALREADY_EXISTS), + TO_STRING(AE_TYPE), + TO_STRING(AE_NULL_OBJECT), + TO_STRING(AE_NULL_ENTRY), + TO_STRING(AE_BUFFER_OVERFLOW), + TO_STRING(AE_STACK_OVERFLOW), + TO_STRING(AE_STACK_UNDERFLOW), + TO_STRING(AE_NOT_IMPLEMENTED), + TO_STRING(AE_SUPPORT), + TO_STRING(AE_LIMIT), + TO_STRING(AE_TIME), + TO_STRING(AE_ACQUIRE_DEADLOCK), + TO_STRING(AE_RELEASE_DEADLOCK), + TO_STRING(AE_NOT_ACQUIRED), + TO_STRING(AE_ALREADY_ACQUIRED), + TO_STRING(AE_NO_HARDWARE_RESPONSE), + TO_STRING(AE_NO_GLOBAL_LOCK), + TO_STRING(AE_ABORT_METHOD), + TO_STRING(AE_SAME_HANDLER), + TO_STRING(AE_WAKE_ONLY_GPE), +// TO_STRING(AE_OWNER_ID_LIMIT), + TO_STRING(AE_BAD_PARAMETER), + TO_STRING(AE_BAD_CHARACTER), + TO_STRING(AE_BAD_PATHNAME), + TO_STRING(AE_BAD_DATA), + TO_STRING(AE_BAD_ADDRESS), + TO_STRING(AE_BAD_HEX_CONSTANT), + TO_STRING(AE_BAD_OCTAL_CONSTANT), + TO_STRING(AE_BAD_DECIMAL_CONSTANT), + TO_STRING(AE_BAD_SIGNATURE), + TO_STRING(AE_BAD_HEADER), + TO_STRING(AE_BAD_CHECKSUM), + TO_STRING(AE_BAD_VALUE), + TO_STRING(AE_INVALID_TABLE_LENGTH), + TO_STRING(AE_AML_BAD_OPCODE), + TO_STRING(AE_AML_NO_OPERAND), + TO_STRING(AE_AML_OPERAND_TYPE), + TO_STRING(AE_AML_OPERAND_VALUE), + TO_STRING(AE_AML_UNINITIALIZED_LOCAL), + TO_STRING(AE_AML_UNINITIALIZED_ARG), + TO_STRING(AE_AML_UNINITIALIZED_ELEMENT), + TO_STRING(AE_AML_NUMERIC_OVERFLOW), + TO_STRING(AE_AML_REGION_LIMIT), + TO_STRING(AE_AML_BUFFER_LIMIT), + TO_STRING(AE_AML_PACKAGE_LIMIT), + TO_STRING(AE_AML_DIVIDE_BY_ZERO), + TO_STRING(AE_AML_BAD_NAME), + TO_STRING(AE_AML_NAME_NOT_FOUND), + TO_STRING(AE_AML_INTERNAL), + TO_STRING(AE_AML_INVALID_SPACE_ID), + TO_STRING(AE_AML_STRING_LIMIT), + TO_STRING(AE_AML_NO_RETURN_VALUE), + TO_STRING(AE_AML_METHOD_LIMIT), + TO_STRING(AE_AML_NOT_OWNER), + TO_STRING(AE_AML_MUTEX_ORDER), + TO_STRING(AE_AML_MUTEX_NOT_ACQUIRED), + TO_STRING(AE_AML_INVALID_RESOURCE_TYPE), + TO_STRING(AE_AML_INVALID_INDEX), + TO_STRING(AE_AML_REGISTER_LIMIT), + TO_STRING(AE_AML_NO_WHILE), + TO_STRING(AE_AML_ALIGNMENT), + TO_STRING(AE_AML_NO_RESOURCE_END_TAG), + TO_STRING(AE_AML_BAD_RESOURCE_VALUE), + TO_STRING(AE_AML_CIRCULAR_REFERENCE), + TO_STRING(AE_AML_BAD_RESOURCE_LENGTH), + TO_STRING(AE_CTRL_RETURN_VALUE), + TO_STRING(AE_CTRL_PENDING), + TO_STRING(AE_CTRL_TERMINATE), + TO_STRING(AE_CTRL_TRUE), + TO_STRING(AE_CTRL_FALSE), + TO_STRING(AE_CTRL_DEPTH), + TO_STRING(AE_CTRL_END), + TO_STRING(AE_CTRL_TRANSFER), + TO_STRING(AE_CTRL_BREAK), + TO_STRING(AE_CTRL_CONTINUE), + TO_STRING(AE_CTRL_SKIP) +}; + +/* + * ASSERTION 0056: + */ +ACPI_STATUS +AtInitTest0056(void) +{ + const char *ExceptionString; + UINT32 i; + UINT32 NumCodes = + sizeof (AllExceptionsCodes) / sizeof (ACPI_STATUS); + + for (i = 0; i < NumCodes; i++) + { + ExceptionString = AcpiFormatException(AllExceptionsCodes[i]); + if (!ExceptionString) + { + AapiErrors++; + printf ("API Error: AcpiFormatException(0x%x) returned NULL\n", + AllExceptionsCodes[i]); + } + else if (strcmp(ExceptionString, AllExceptionsStrings[i]) != 0){ + AapiErrors++; + printf ("API Error: AcpiFormatException(0x%x) returned %s," + " expected %s\n", + AllExceptionsCodes[i], ExceptionString, AllExceptionsStrings[i]); + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0057: + */ +ACPI_STATUS +AtInitTest0057(void) +{ + ACPI_STATUS Status; + const char *ExceptionString; + UINT32 i, k = 0, NumChecked = 0, NumChecks = 10; + UINT32 NumCodes = + sizeof (AllExceptionsCodes) / sizeof (ACPI_STATUS); + + Status = AllExceptionsCodes[k++]; + while (NumChecked < NumChecks) + { + for (i = 0; i < NumCodes; i++) + { + if (Status == AllExceptionsCodes[i]) + { + break; + } + } + if (i < NumCodes) + { + Status++; + k++; + } + else + { + NumChecked++; + ExceptionString = AcpiFormatException(Status); + if (ExceptionString) + { + for (i = 0; i < NumCodes; i++) + { + if (strcmp(ExceptionString, AllExceptionsStrings[i]) == 0) + { + AapiErrors++; + printf ("API Error: AcpiFormatException(0x%x) returned" + " unexpected '%s' related to 0x%x code\n", + Status, ExceptionString, AllExceptionsCodes[i]); + break; + } + } + } + else + { + AapiErrors++; + printf ("API Error: AcpiFormatException(0x%x) for unknown" + " code returned NULL, expected string\n", + Status); + } + if (k < NumCodes) + { + Status = AllExceptionsCodes[k++]; + } + else + { + Status++; + } + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0058: + */ +ACPI_STATUS +AtInitTest0058(void) +{ + ACPI_STATUS Status; + UINT64 MallocCount[4]; + INT64 MallocDiff[4]; + INT64 Diff[4]; + UINT32 RMax = 3; + UINT32 i; + + if (ACPI_MAX_OBJECT_CACHE_DEPTH < 64) + { + TestErrors++; + printf ("Test Error: AtInitTest0058 skipped due to too small" + "ACPI_MAX_OBJECT_CACHE_DEPTH constant (%d)\n", + ACPI_MAX_OBJECT_CACHE_DEPTH); + return (Status); + } + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("init0058.aml"))) + { + return (Status); + } + Status = AtInitCommonTest(AAPITS_INI_LOAD | + AAPITS_ENABLE_SS | AAPITS_INITIALIZE_OBJS, + 0, 0, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + MallocCount[0] = OsxfCtrlGetCalls(OSXF_NUM(AcpiOsAllocate), 1); + Diff[0] = OsxfCtrlGetDiff(MALLOC_STAT); + + Status = AcpiEvaluateObject (NULL, "\\MAIN", NULL, NULL); + + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiEvaluateObject(\\MAIN) returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + MallocCount[1] = OsxfCtrlGetCalls(OSXF_NUM(AcpiOsAllocate), 1); + MallocDiff[0] = MallocCount[1] - MallocCount[0]; + Diff[1] = OsxfCtrlGetDiff(MALLOC_STAT); + + /* + * Specified AML code should initiate memory allocations + * which occupy enough caches positions, but don't exceed + * any cache limit + */ + if ((Diff[1] - Diff[0]) < ACPI_MAX_OBJECT_CACHE_DEPTH / 2) + { + TestErrors++; + printf ("Test Error: AtInitTest0058 skipped due to too weak" + " memory allocation activity (%d)\n", + (UINT32)(Diff[1] - Diff[0])); + return (AE_ERROR); + } + + /* + * Repeat Specified AML code execution + */ + for (i = 0; i < RMax; i++) + { + Status = AcpiEvaluateObject (NULL, "\\MAIN", NULL, NULL); + + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiEvaluateObject(\\MAIN) returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + MallocCount[2] = OsxfCtrlGetCalls(OSXF_NUM(AcpiOsAllocate), 1); + MallocDiff[1] = MallocCount[2] - MallocCount[1]; + Diff[2] = OsxfCtrlGetDiff(MALLOC_STAT); + + /* + * Specified AML code should not initiate needless memory allocations, + * check that objects from caches were used for memory consumption. + */ + if ((MallocDiff[0] - MallocDiff[1]) < (Diff[1] - Diff[0]) / 2) + { + TestErrors++; + printf ("Test Error %d: too little %d memory allocations" + " shortening basing on caches\n", + i, (UINT32)(MallocDiff[0] - MallocDiff[1])); + return (AE_ERROR); + } + if (Diff[2] != Diff[1]) + { + TestErrors++; + printf ("Test Error %d: AtInitTest0058 skipped due to %d memory allocations" + " outside caches\n", + i, (UINT32)(Diff[2] - Diff[1])); + return (AE_ERROR); + } + if (i > 0) + { + if (MallocDiff[2] != MallocDiff[1]) + { + TestErrors++; + printf ("API Error %d: %d memory allocations" + " against %d previous\n", + i, (UINT32)MallocDiff[2], (UINT32)MallocDiff[1]); + return (AE_ERROR); + } + } + MallocCount[1] = MallocCount[2]; + MallocDiff[2] = MallocDiff[1]; + } + + Status = AcpiPurgeCachedObjects(); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiPurgeCachedObjects() failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + + MallocCount[3] = OsxfCtrlGetCalls(OSXF_NUM(AcpiOsAllocate), 1); + Diff[3] = OsxfCtrlGetDiff(MALLOC_STAT); + + /* + * AcpiPurgeCachedObjects is expected to release Cached Objects. + */ + if (Diff[3] != Diff[0]) + { + AapiErrors++; + printf ("API Error: AcpiPurgeCachedObjects is not release %d" + " allocations\n", + (UINT32)(Diff[3] - Diff[0])); + return (AE_ERROR); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0059: extension of 0047 + */ +ACPI_STATUS +AtInitTest0059(void) +{ + return (AtInitializationHandlerCommon( + "init0059.aml", + NULL, AE_OK, 12, TOTAL_MASK | 0xC000, + _STA_NEGATIV_CALLS + 1, _STA_NEGATIV_MASK | 0x20000, + 9)); +} + +/* + * ASSERTION 0060: + */ +ACPI_STATUS +AtInitTest0060(void) +{ + ACPI_STATUS Status; + ACPI_TABLE_HEADER UserTableStructure, *UserTable = &UserTableStructure; + BLD_TABLES_TASK BldTask = {BLD_NO_FADT, 0}; + + memset(&UserTableStructure, 0, sizeof (ACPI_TABLE_HEADER)); + + AtBuildLocalTables(UserTable, BldTask); + + Status = AtSubsystemInit(AAPITS_INITIALIZE_SS, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtInitializeTables(FALSE); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiInitializeTables() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiLoadTables(); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiLoadTables() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiEnableSubsystem(0); + if (Status != AE_NO_ACPI_TABLES) + { + AapiErrors++; + printf ("API error: AcpiEnableSubsystem () returned %s, expected %s\n", + AcpiFormatException(Status), AcpiFormatException(AE_NO_ACPI_TABLES)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0066: + */ +ACPI_STATUS +AtInitTest0066(void) +{ + ACPI_STATUS Status; + UINT8 BenchmarkBuffer[] = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0}; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("init0066.aml"))) + { + return (Status); + } + + Status = AtInitCommonTest(AAPITS_INI_LOAD | + AAPITS_ENABLE_SS, + 0, 0, + AAPITS_EN_FLAGS, 0, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + +/* + Status = AtInitCommonTest(AAPITS_INITIALIZE_OBJS, + 0, 0, + 0, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } +*/ + /* Buffer Fields */ + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\INT0", 64))) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckBuffer("\\MBF0", + sizeof (BenchmarkBuffer), BenchmarkBuffer))) + { + return (Status); + } + + return (AE_OK); +} diff --git a/tests/aapits/atinit.h b/tests/aapits/atinit.h new file mode 100644 index 0000000..fc46e4b --- /dev/null +++ b/tests/aapits/atinit.h @@ -0,0 +1,75 @@ +/****************************************************************************** + * + * Module Name: atinit - predefinitions of tests of the test case + * + *****************************************************************************/ + +#ifndef _ATINIT +#define _ATINIT + +AT_TEST AtInitTest0000; +AT_TEST AtInitTest0001; +AT_TEST AtInitTest0002; +AT_TEST AtInitTest0003; +AT_TEST AtInitTest0004; +AT_TEST AtInitTest0005; +AT_TEST AtInitTest0006; +AT_TEST AtInitTest0007; +AT_TEST AtInitTest0008; +AT_TEST AtInitTest0009; +AT_TEST AtInitTest0010; +AT_TEST AtInitTest0011; +AT_TEST AtInitTest0012; +AT_TEST AtInitTest0013; +AT_TEST AtInitTest0014; +AT_TEST AtInitTest0015; +AT_TEST AtInitTest0016; +AT_TEST AtInitTest0017; +AT_TEST AtInitTest0018; +AT_TEST AtInitTest0019; +AT_TEST AtInitTest0020; +AT_TEST AtInitTest0021; +AT_TEST AtInitTest0121; +AT_TEST AtInitTest0022; +AT_TEST AtInitTest0023; +AT_TEST AtInitTest0024; +AT_TEST AtInitTest0025; +AT_TEST AtInitTest0026; +AT_TEST AtInitTest0027; +AT_TEST AtInitTest0028; +AT_TEST AtInitTest0029; +AT_TEST AtInitTest0030; +AT_TEST AtInitTest0031; +AT_TEST AtInitTest0032; +AT_TEST AtInitTest0033; +AT_TEST AtInitTest0034; +AT_TEST AtInitTest0035; +AT_TEST AtInitTest0036; +AT_TEST AtInitTest0037; +AT_TEST AtInitTest0038; +AT_TEST AtInitTest0039; +AT_TEST AtInitTest0040; +AT_TEST AtInitTest0041; +AT_TEST AtInitTest0042; +AT_TEST AtInitTest0043; +AT_TEST AtInitTest0044; +AT_TEST AtInitTest0045; +AT_TEST AtInitTest0046; +AT_TEST AtInitTest0047; +AT_TEST AtInitTest0048; +AT_TEST AtInitTest0049; +AT_TEST AtInitTest0050; +AT_TEST AtInitTest0051; +AT_TEST AtInitTest0052; +AT_TEST AtInitTest0053; +AT_TEST AtInitTest0054; +AT_TEST AtInitTest0055; +AT_TEST AtInitTest0056; +AT_TEST AtInitTest0057; +AT_TEST AtInitTest0058; +AT_TEST AtInitTest0059; +AT_TEST AtInitTest0060; + +#define AT_INIT_TEST_NUM 61 + +#endif /* _ATINIT */ diff --git a/tests/aapits/atmain.c b/tests/aapits/atmain.c new file mode 100644 index 0000000..eac2230 --- /dev/null +++ b/tests/aapits/atmain.c @@ -0,0 +1,342 @@ +/****************************************************************************** + * + * Module Name: atmain - ACPICA API test suit launcher + * + *****************************************************************************/ + +#define AT_GLOBAL_DATA + +#include "atcommon.h" +#include "atinit.h" +#include "atmemory.h" +#include "athardware.h" +#include "attable.h" +#include "atnamespace.h" +#include "atresource.h" +#include "atfixedevent.h" +#include "atgpe.h" +#include "athandlers.h" +#include "atosxfctrl.h" + +#define _COMPONENT ACPI_TOOLS + ACPI_MODULE_NAME ("atmain") + + +typedef struct at_test_case_descriptor +{ + AT_TEST **Tests; + UINT32 TestsNum; + char *BaseName; +} AT_TEST_CASE_DESC; + +AT_TEST *AtInitTests[AT_INIT_TEST_NUM] = { + AtInitTest0000, AtInitTest0001, AtInitTest0002, AtInitTest0003, + AtInitTest0004, AtInitTest0005, AtInitTest0006, AtInitTest0007, + AtInitTest0008, AtInitTest0009, AtInitTest0010, AtInitTest0011, + AtInitTest0012, AtInitTest0013, AtInitTest0014, AtInitTest0015, + AtInitTest0016, AtInitTest0017, AtInitTest0018, AtInitTest0019, + AtInitTest0020, AtInitTest0021, AtInitTest0022, AtInitTest0023, + AtInitTest0024, AtInitTest0025, AtInitTest0026, AtInitTest0027, + AtInitTest0028, AtInitTest0029, AtInitTest0030, AtInitTest0031, + AtInitTest0032, AtInitTest0033, AtInitTest0034, AtInitTest0035, + AtInitTest0036, AtInitTest0037, AtInitTest0038, AtInitTest0039, + AtInitTest0040, AtInitTest0041, AtInitTest0042, AtInitTest0043, + AtInitTest0044, AtInitTest0045, AtInitTest0046, AtInitTest0047, + AtInitTest0048, AtInitTest0049, AtInitTest0050, AtInitTest0051, + AtInitTest0052, AtInitTest0053, AtInitTest0054, AtInitTest0055, + AtInitTest0056, AtInitTest0057, AtInitTest0058, AtInitTest0059, + AtInitTest0060}; + +AT_TEST *AtMemoryTests[AT_MEMM_TEST_NUM] = { + AtMemoryTest0000}; + +AT_TEST *AtHardwareTests[AT_HDWM_TEST_NUM] = { + AtHardwTest0000, AtHardwTest0001, AtHardwTest0002, AtHardwTest0003, + AtHardwTest0004, AtHardwTest0005, AtHardwTest0006, AtHardwTest0007, + AtHardwTest0008, AtHardwTest0009, AtHardwTest0010, AtHardwTest0011, + AtHardwTest0012, AtHardwTest0013, AtHardwTest0014, AtHardwTest0015, + AtHardwTest0016, AtHardwTest0017, AtHardwTest0018, AtHardwTest0019, + AtHardwTest0020, AtHardwTest0021, AtHardwTest0022, AtHardwTest0023, + AtHardwTest0024, AtHardwTest0025, AtHardwTest0026, AtHardwTest0027, + AtHardwTest0028, AtHardwTest0029, AtHardwTest0030, AtHardwTest0031, + AtHardwTest0032, AtHardwTest0033, AtHardwTest0034, AtHardwTest0035, + AtHardwTest0036, AtHardwTest0037, AtHardwTest0038, AtHardwTest0039, + AtHardwTest0040, AtHardwTest0041}; + +AT_TEST *AtTableTests[AT_TBLM_TEST_NUM] = { + AtTableTest0000, AtTableTest0001, AtTableTest0002, AtTableTest0003, + AtTableTest0004, AtTableTest0005, AtTableTest0006, AtTableTest0007, + AtTableTest0008, AtTableTest0009, AtTableTest0010, AtTableTest0011, + AtTableTest0012, AtTableTest0013, AtTableTest0014, AtTableTest0015, + AtTableTest0016, AtTableTest0017, AtTableTest0018, AtTableTest0019, + AtTableTest0020, AtTableTest0021, AtTableTest0022, AtTableTest0023, + AtTableTest0024, AtTableTest0025, AtTableTest0026, AtTableTest0027, + AtTableTest0028, AtTableTest0029, AtTableTest0030, AtTableTest0031, + AtTableTest0032, AtTableTest0033, AtTableTest0034, AtTableTest0035, + AtTableTest0036, AtTableTest0037, AtTableTest0038, AtTableTest0039, + AtTableTest0040, AtTableTest0041, AtTableTest0042, AtTableTest0043, + AtTableTest0044, AtTableTest0045, AtTableTest0046, AtTableTest0047, + AtTableTest0048, AtTableTest0049, AtTableTest0050, AtTableTest0051, + AtTableTest0052, AtTableTest0053, AtTableTest0054, AtTableTest0055, + AtTableTest0056, AtTableTest0057, AtTableTest0058, AtTableTest0059, + AtTableTest0060, AtTableTest0061}; + +AT_TEST *AtNSpaceTests[AT_NSPM_TEST_NUM] = { + AtNSpaceTest0000, AtNSpaceTest0001, AtNSpaceTest0002, AtNSpaceTest0003, + AtNSpaceTest0004, AtNSpaceTest0005, AtNSpaceTest0006, AtNSpaceTest0007, + NULL, NULL, AtNSpaceTest0010, AtNSpaceTest0011, + AtNSpaceTest0012, AtNSpaceTest0013, AtNSpaceTest0014, AtNSpaceTest0015, + AtNSpaceTest0016, AtNSpaceTest0017, AtNSpaceTest0018, AtNSpaceTest0019, + AtNSpaceTest0020, AtNSpaceTest0021, AtNSpaceTest0022, AtNSpaceTest0023, + NULL, AtNSpaceTest0025, AtNSpaceTest0026, AtNSpaceTest0027, + NULL, AtNSpaceTest0029, AtNSpaceTest0030, AtNSpaceTest0031, + AtNSpaceTest0032, AtNSpaceTest0033, NULL, AtNSpaceTest0035, + AtNSpaceTest0036, AtNSpaceTest0037, NULL, NULL, + AtNSpaceTest0040, AtNSpaceTest0041, AtNSpaceTest0042, AtNSpaceTest0043, + AtNSpaceTest0044, AtNSpaceTest0045, AtNSpaceTest0046, AtNSpaceTest0047, + AtNSpaceTest0048, AtNSpaceTest0049, AtNSpaceTest0050, AtNSpaceTest0051, + AtNSpaceTest0052, AtNSpaceTest0053, AtNSpaceTest0054, AtNSpaceTest0055, + AtNSpaceTest0056, AtNSpaceTest0057, AtNSpaceTest0058, AtNSpaceTest0059, + AtNSpaceTest0060, AtNSpaceTest0067, AtNSpaceTest0062, AtNSpaceTest0063, + AtNSpaceTest0064, AtNSpaceTest0065, AtNSpaceTest0066, AtNSpaceTest0067, + AtNSpaceTest0068, AtNSpaceTest0069, AtNSpaceTest0070, AtNSpaceTest0071, + AtNSpaceTest0072, AtNSpaceTest0073, AtNSpaceTest0074, AtNSpaceTest0075, + AtNSpaceTest0076, AtNSpaceTest0077, AtNSpaceTest0078, AtNSpaceTest0079, + AtNSpaceTest0080, AtNSpaceTest0087, AtNSpaceTest0082, AtNSpaceTest0083, + AtNSpaceTest0084, AtNSpaceTest0085, AtNSpaceTest0086, AtNSpaceTest0087, + AtNSpaceTest0088, AtNSpaceTest0089, AtNSpaceTest0090, AtNSpaceTest0091, + AtNSpaceTest0092, AtNSpaceTest0093, AtNSpaceTest0094, AtNSpaceTest0095, + AtNSpaceTest0096, NULL, AtNSpaceTest0098, AtNSpaceTest0099, + AtNSpaceTest0100, AtNSpaceTest0107, NULL, AtNSpaceTest0103, + AtNSpaceTest0104, AtNSpaceTest0105, AtNSpaceTest0106, AtNSpaceTest0107, + AtNSpaceTest0108, NULL, AtNSpaceTest0110, AtNSpaceTest0111, + AtNSpaceTest0112, AtNSpaceTest0113, AtNSpaceTest0114, AtNSpaceTest0115, + AtNSpaceTest0116, AtNSpaceTest0117, AtNSpaceTest0118, AtNSpaceTest0119, + AtNSpaceTest0120, AtNSpaceTest0121, AtNSpaceTest0122, AtNSpaceTest0123, + AtNSpaceTest0124, AtNSpaceTest0125, AtNSpaceTest0126}; + +AT_TEST *AtResourceTests[AT_RSCM_TEST_NUM] = { + AtRsrcTest0000, AtRsrcTest0001, AtRsrcTest0002, AtRsrcTest0003, + AtRsrcTest0004, AtRsrcTest0005, AtRsrcTest0006, AtRsrcTest0007, + AtRsrcTest0008, AtRsrcTest0009, AtRsrcTest0010, AtRsrcTest0011, + AtRsrcTest0012, AtRsrcTest0013, AtRsrcTest0014, AtRsrcTest0015, + AtRsrcTest0016, AtRsrcTest0017, AtRsrcTest0018, AtRsrcTest0019, + AtRsrcTest0020, AtRsrcTest0021, AtRsrcTest0022, AtRsrcTest0023, + AtRsrcTest0024, AtRsrcTest0025, AtRsrcTest0026, AtRsrcTest0027, + AtRsrcTest0028, AtRsrcTest0029, AtRsrcTest0030, AtRsrcTest0031, + AtRsrcTest0032, AtRsrcTest0033, AtRsrcTest0034, AtRsrcTest0035, + AtRsrcTest0036, AtRsrcTest0037}; + +AT_TEST *AtFixedEvTests[AT_FEVM_TEST_NUM] = { + AtFixEvTest0000, AtFixEvTest0001, AtFixEvTest0002, AtFixEvTest0003, + AtFixEvTest0004, AtFixEvTest0005, AtFixEvTest0006, AtFixEvTest0007, + AtFixEvTest0008, AtFixEvTest0009, AtFixEvTest0010, AtFixEvTest0011, + AtFixEvTest0012, AtFixEvTest0013, AtFixEvTest0014, AtFixEvTest0015, + AtFixEvTest0016, AtFixEvTest0017, AtFixEvTest0018, AtFixEvTest0019}; + +AT_TEST *AtGpeTests[AT_GPEM_TEST_NUM] = { + AtGpeTest0000, AtGpeTest0001, AtGpeTest0002, AtGpeTest0003, + AtGpeTest0004, AtGpeTest0005, AtGpeTest0006, AtGpeTest0007, + AtGpeTest0008, AtGpeTest0009, AtGpeTest0010, AtGpeTest0011, + AtGpeTest0012, AtGpeTest0013, AtGpeTest0014, AtGpeTest0015, + AtGpeTest0016, AtGpeTest0017, AtGpeTest0018, AtGpeTest0019, + AtGpeTest0020, AtGpeTest0021, AtGpeTest0022, AtGpeTest0023, + AtGpeTest0024, AtGpeTest0025, AtGpeTest0026, AtGpeTest0027, + AtGpeTest0028, AtGpeTest0029, AtGpeTest0030, AtGpeTest0031, + AtGpeTest0032, AtGpeTest0033, AtGpeTest0034, AtGpeTest0035, + AtGpeTest0036, AtGpeTest0037, AtGpeTest0038, AtGpeTest0039, + AtGpeTest0040, AtGpeTest0041, AtGpeTest0042, AtGpeTest0043, + AtGpeTest0044, AtGpeTest0045, AtGpeTest0046, AtGpeTest0047}; + +AT_TEST *AtHandlersTests[AT_HNDM_TEST_NUM] = { + AtHndlrTest0000, AtHndlrTest0001, AtHndlrTest0002, AtHndlrTest0003, + AtHndlrTest0004, AtHndlrTest0005, AtHndlrTest0006, AtHndlrTest0007, + AtHndlrTest0008, AtHndlrTest0009, AtHndlrTest0010, AtHndlrTest0011, + AtHndlrTest0012, AtHndlrTest0013, AtHndlrTest0014, AtHndlrTest0015, + AtHndlrTest0016, AtHndlrTest0017, AtHndlrTest0018, AtHndlrTest0019, + AtHndlrTest0020, AtHndlrTest0021, AtHndlrTest0022, AtHndlrTest0023, + AtHndlrTest0024, AtHndlrTest0025, AtHndlrTest0026, AtHndlrTest0027, + AtHndlrTest0028, AtHndlrTest0029, AtHndlrTest0030, AtHndlrTest0031, + AtHndlrTest0032, AtHndlrTest0033, AtHndlrTest0034, AtHndlrTest0035, + AtHndlrTest0036, AtHndlrTest0037, AtHndlrTest0038}; + +#define AT_TEST_CASE_NUM 9 + +AT_TEST_CASE_DESC AtTestCase[AT_TEST_CASE_NUM + 1] = { + {NULL}, + {AtInitTests, AT_INIT_TEST_NUM, "Init"}, + {AtMemoryTests, AT_MEMM_TEST_NUM, "Memory"}, + {AtHardwareTests, AT_HDWM_TEST_NUM, "Hardw"}, + {AtTableTests, AT_TBLM_TEST_NUM, "Table"}, + {AtNSpaceTests, AT_NSPM_TEST_NUM, "NSpace"}, + {AtResourceTests, AT_RSCM_TEST_NUM, "Rsrc"}, + {AtFixedEvTests, AT_FEVM_TEST_NUM, "FixEv"}, + {AtGpeTests, AT_GPEM_TEST_NUM, "Gpe"}, + {AtHandlersTests, AT_HNDM_TEST_NUM, "Hndlr"}, +}; + +static char TestName[33]; + +#define DBG_OS_CTRL_PRINT 1 +#define DBG_OS_REG_EMUL_PRINT 1 +#define DBG_OUTPUT_SET 0 + +extern FILE *AcpiGbl_OutputFile; + +int +ExecuteTest ( + UINT32 test_case, + UINT32 test_num) +{ + int status; + + + AapiTestMode = AT_EMULATION_MODE; + AapiErrors = 0; + TestErrors = 0; + TestSkipped = 0; + TestPass = 0; + AtAMLcodeFileName = NULL; + AtAMLcodeFileDir = NULL; + NullBldTask = ZeroBldTask; + + OsxfCtrlInit(); + + if (!AtTestCase[test_case].Tests[test_num]) + { + printf ("ACPICA API TS err: test num %ld of test case %ld" + " is not implemented\n", + test_num, test_case); + return (AtRetNotImpl); + } + + if (DBG_OUTPUT_SET) + { + AcpiGbl_OutputFile = stdout; + } + + sprintf(TestName, "At%sTest%.4d", + AtTestCase[test_case].BaseName, (int)test_num); + + printf ("%s:\n", TestName); + + AcpiGbl_EnableInterpreterSlack = TRUE; + printf ("AML Interpreter slack mode enabled\n"); + + AtTestCase[test_case].Tests[test_num](); + + /* Print Statistics of OSL iterfaces calls */ + if (DBG_OS_CTRL_PRINT) + { + OsxfCtrlPrint(); + } + + /* Print Statistics of Registers Emulation */ + if (DBG_OS_REG_EMUL_PRINT) + { + OsxfCtrlRegService(1); + } + + AtRegionCleanup(); + + printf ("ACPICA API TS status of %s: ", TestName); + if (TestErrors && AapiErrors) + { + printf ("both FAIL and TEST FAULT," + " %d API errors, %d TEST errors\n", + AapiErrors, TestErrors); + status = AtRetApiErr; + } + else if (AapiErrors) + { + printf ("FAIL, %d API errors\n", AapiErrors); + status = AtRetApiErr; + } + else if (TestErrors) + { + printf ("TEST FAULT, %d TEST errors\n", TestErrors); + status = AtRetTestErr; + } + else if (TestPass && TestSkipped) + { + printf ("PASS, Pass/Skip counters %d/%d\n", + TestPass, TestSkipped); + status = AtRetPass; + } + else if (TestSkipped) + { + printf ("SKIP, counter %d\n", TestSkipped); + status = AtRetSkip; + } + else + { + printf ("PASS\n"); + status = AtRetPass; + } + + return (status); +} + + +int ACPI_SYSTEM_XFACE +main( + int argc, + char **argv) +{ + UINT32 test_case; + UINT32 test_num; + UINT32 i; + UINT32 j; + + + signal (SIGINT, AtSigHandler); + signal (SIGILL, AtSigHandler); + signal (SIGFPE, AtSigHandler); +// signal (SIGSEGV, AtSigHandler); +#ifdef Linux + signal (SIGALRM, AtSigHandler); + (void) alarm(AT_ALARM_PERIOD); +#endif + + if (argc < 3) + { +/* + printf ("ACPICA API TS: " + " should be specified\n"); + return (AtRetBadParam); +*/ + for (i = 7; i < 8 /*AT_TEST_CASE_NUM */; i++) + { + for (j = 0; j < 3 /* AtTestCase[i].TestsNum */; j++) + { + ExecuteTest (7, 0); + } + } + return (0); + } + + test_case = strtoul (argv[1], NULL, 0); + if (test_case < 1 || test_case > AT_TEST_CASE_NUM) + { + printf ("ACPICA API TS err: test case %ld is out of range 1 - %d\n", + test_case, AT_TEST_CASE_NUM); + return (AtRetBadParam); + } + + test_num = strtoul (argv[2], NULL, 0); + if (test_num < 0 || test_num > AtTestCase[test_case].TestsNum) + { + printf ("ACPICA API TS err: test num %ld is out of range 0 - %d\n", + test_num, AtTestCase[test_case].TestsNum); + return (AtRetBadParam); + } + + if (argc > 3) + { + AtAMLcodeFileDir = argv[3]; + } + + ExecuteTest (test_case, test_num); + return (0); + +} diff --git a/tests/aapits/atmemory.c b/tests/aapits/atmemory.c new file mode 100644 index 0000000..0dacd06 --- /dev/null +++ b/tests/aapits/atmemory.c @@ -0,0 +1,33 @@ +/****************************************************************************** + * + * Module Name: atmemory - ACPICA Memory Management API tests + * + *****************************************************************************/ + +#include "atcommon.h" +#include "atmemory.h" +#include "atosxfctrl.h" + +#define _COMPONENT ACPI_TOOLS + ACPI_MODULE_NAME ("atmemory") + +/* + * ASSERTION 0000: + */ +ACPI_STATUS +AtMemoryTest0000(void) +{ + ACPI_STATUS Status; + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + TestSkipped++; + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} diff --git a/tests/aapits/atmemory.h b/tests/aapits/atmemory.h new file mode 100644 index 0000000..5feb7ce --- /dev/null +++ b/tests/aapits/atmemory.h @@ -0,0 +1,14 @@ +/****************************************************************************** + * + * Module Name: atmemory - predefinitions of tests of the test case + * + *****************************************************************************/ + +#ifndef _ATMEMORY +#define _ATMEMORY + +AT_TEST AtMemoryTest0000; + +#define AT_MEMM_TEST_NUM 1 + +#endif /* _ATMEMORY */ diff --git a/tests/aapits/atnamespace.c b/tests/aapits/atnamespace.c new file mode 100644 index 0000000..0652517 --- /dev/null +++ b/tests/aapits/atnamespace.c @@ -0,0 +1,7995 @@ +/****************************************************************************** + * + * Module Name: atnamespace - ACPICA Namespace Access API tests + * + *****************************************************************************/ + +#include "atcommon.h" +#include "atnamespace.h" +#include "atosxfctrl.h" + +#define _COMPONENT ACPI_TOOLS + ACPI_MODULE_NAME ("atnamespace") + +static ACPI_STRING Level0TypeNames0000[] = { + "\\_REV", + "\\_REV", + "\\STR0", + "\\BUF0", + "\\PAC0", + "\\FLU0", + "\\DEV0", + "\\EVE0", + "\\MMM0", + "\\MTX0", + "\\OPR0", + "\\PWR0", + "\\CPU0", + "\\TZN0", + "\\BFL0", +}; + +static ACPI_STRING Level1TypeNames0000[] = { + "\\D1L0.INT0", + "\\D1L0.INT0", + "\\D1L0.STR0", + "\\D1L0.BUF0", + "\\D1L0.PAC0", + "\\D1L0.FLU0", + "\\D1L0.DEV0", + "\\D1L0.EVE0", + "\\D1L0.MMM0", + "\\D1L0.MTX0", + "\\D1L0.OPR0", + "\\D1L0.PWR0", + "\\D1L0.CPU0", + "\\D1L0.TZN0", + "\\D1L0.BFL0", +}; + +static ACPI_STRING LevelATypeNames0000[] = { + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.INT0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.INT0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.STR0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.BUF0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.PAC0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.FLU0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.EVE0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.MMM0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.MTX0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.OPR0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.PWR0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.CPU0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.TZN0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.BFL0", +}; + +static ACPI_STRING LevelAType1Names0000[] = { + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.INT1", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.INT1", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.STR1", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.BUF1", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.PAC1", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.FLU1", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV1", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.EVE1", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.MMM1", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.MTX1", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.OPR1", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.PWR1", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.CPU1", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.TZN1", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.BFL1", +}; + +static ACPI_STRING LevelAType2Names0000[] = { + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.INT2", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.INT2", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.STR2", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.BUF2", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.PAC2", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.FLU2", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV2", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.EVE2", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.MMM2", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.MTX2", + NULL, + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.PWR2", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.CPU2", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.TZN2", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.BFL2", +}; + +static ACPI_STRING LevelAType3Names0000[] = { + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.INT3", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.INT3", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.STR3", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.BUF3", + NULL, + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.FLU3", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV3", + NULL, + NULL, + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.MTX3", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.OPR0", + NULL, + NULL, + NULL, + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.BFL3", +}; + +static ACPI_STRING LevelAType4Names0000[] = { + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.INT4", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.INT4", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.STR4", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.BUF4", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.PAC0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.FLU4", + NULL, + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.EVE0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.MMM0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.MTX4", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.OPR1", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.PWR0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.CPU0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.TZN0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.BFL4", +}; + + +static ACPI_STRING LevelATypeLastNames0000[] = { + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.INT9", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.INT9", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.STR8", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.BUF7", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.PAC2", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.FLU5", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV3", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.EVE2", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.MMM2", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.MTX4", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.OPR1", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.PWR2", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.CPU2", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.TZN2", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.BFL5", +}; + +static ACPI_STRING *LevelATypeNamesArray0000[] = { + LevelATypeNames0000, + LevelAType1Names0000, + LevelAType2Names0000, + LevelAType3Names0000, + LevelAType4Names0000, +}; + +static ACPI_OBJECT_TYPE LevelTypes0000[] = { + ACPI_TYPE_ANY, + ACPI_TYPE_INTEGER, + ACPI_TYPE_STRING, + ACPI_TYPE_BUFFER, + ACPI_TYPE_PACKAGE, + ACPI_TYPE_FIELD_UNIT, + ACPI_TYPE_DEVICE, + ACPI_TYPE_EVENT, + ACPI_TYPE_METHOD, + ACPI_TYPE_MUTEX, + ACPI_TYPE_REGION, + ACPI_TYPE_POWER, + ACPI_TYPE_PROCESSOR, + ACPI_TYPE_THERMAL, + ACPI_TYPE_BUFFER_FIELD, +}; + +static ACPI_STRING EvPathNames0000[] = { + "\\", "INT0", + "\\", "STR0", + "\\", "BUF0", + "\\", "PAC0", + "\\", "FLU0", + "\\", "MMM0", + "\\", "PWR0", + "\\", "CPU0", + "\\", "BFL0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0", "INT0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0", "STR0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0", "BUF0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0", "PAC0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0", "FLU0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0", "MMM0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0", "PWR0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0", "CPU0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0", "BFL0", +}; + +static ACPI_OBJECT_TYPE TypesEvPathNames0000[] = { + ACPI_TYPE_INTEGER, + ACPI_TYPE_STRING, + ACPI_TYPE_BUFFER, + ACPI_TYPE_PACKAGE, + ACPI_TYPE_LOCAL_REGION_FIELD /* ACPI_TYPE_FIELD_UNIT */, + ACPI_TYPE_METHOD, + ACPI_TYPE_POWER, + ACPI_TYPE_PROCESSOR, + ACPI_TYPE_BUFFER_FIELD, + ACPI_TYPE_INTEGER, + ACPI_TYPE_STRING, + ACPI_TYPE_BUFFER, + ACPI_TYPE_PACKAGE, + ACPI_TYPE_LOCAL_REGION_FIELD /* ACPI_TYPE_FIELD_UNIT */, + ACPI_TYPE_METHOD, + ACPI_TYPE_POWER, + ACPI_TYPE_PROCESSOR, + ACPI_TYPE_BUFFER_FIELD, +}; + +static ACPI_STRING AeTypePathNames0000[] = { + "\\", "DEV0", + "\\", "EVE0", + "\\", "MTX0", + "\\", "OPR0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0", "DEV0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0", "EVE0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0", "MTX0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0", "OPR0", +}; + +static ACPI_OBJECT_TYPE TypesAeTypePathNames0000[] = { + ACPI_TYPE_DEVICE, + ACPI_TYPE_EVENT, + ACPI_TYPE_MUTEX, + ACPI_TYPE_REGION, + ACPI_TYPE_DEVICE, + ACPI_TYPE_EVENT, + ACPI_TYPE_MUTEX, + ACPI_TYPE_REGION, +}; + +static ACPI_STRING TermalPathNames0000[] = { + "\\", "TZN0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0", "TZN0", +}; + +static ACPI_OBJECT_TYPE TypesTermalPathNames0000[] = { + ACPI_TYPE_THERMAL, + ACPI_TYPE_THERMAL, +}; + +static ACPI_STRING MethodPathNames0000[] = { + "\\", "M000", + "\\D1L1", "M000", + "\\D1L1.D2L0", "M000", + "\\D1L1.D2L0.D3L0", "M000", + "\\D1L1.D2L0.D3L0.D4L_", "M000", + "\\D1L1.D2L0.D3L0.D4L_.D5L0", "M000", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0", "M000", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0", "M000", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0", "M000", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0", "M000", +}; + + +static ACPI_STRING MethodArgPathNames0000[] = { + "\\D1L1", "M001", + "\\D1L1.D2L0", "M002", + "\\D1L1.D2L0.D3L0", "M003", + "\\D1L1.D2L0.D3L0.D4L_", "M004", + "\\D1L1.D2L0.D3L0.D4L_.D5L0", "M005", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0", "M006", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0", "M007", +}; + +static ACPI_STRING PathNames0000[] = { + "\\", "_SB_", + "\\", "N0L0", + "\\", "N0L1", + "\\", "N0L2", + "\\", "N0L3", + "\\", "L4__", + "\\D1L0", "N0L0", + "\\D1L0", "N0L1", + "\\D1L0", "N0L2", + "\\D1L0", "N0L3", + "\\D1L0", "L4__", + "\\D1L1", "N0L0", + "\\D1L1", "N1L1", + "\\D1L1", "N0L2", + "\\D1L1", "N1L3", + "\\D1L1", "L4__", + "\\D1L2", "N0L0", + "\\D1L2", "N1L1", + "\\D1L2", "N0L2", + "\\D1L2", "N2L3", + "\\D1L2", "L4__", + "\\D1L1.D2L0", "N0L0", + "\\D1L1.D2L0", "N1L1", + "\\D1L1.D2L0", "N0L2", + "\\D1L1.D2L0", "N1L3", + "\\D1L1.D2L0", "L4__", + "\\D1L1.D2L0.D3L0", "N0L0", + "\\D1L1.D2L0.D3L0", "N1L1", + "\\D1L1.D2L0.D3L0", "N0L2", + "\\D1L1.D2L0.D3L0", "N1L3", + "\\D1L1.D2L0.D3L0", "L4__", + "\\D1L1.D2L0.D3L0.D4L_", "N0L0", + "\\D1L1.D2L0.D3L0.D4L_", "N1L1", + "\\D1L1.D2L0.D3L0.D4L_", "N0L2", + "\\D1L1.D2L0.D3L0.D4L_", "N1L3", + "\\D1L1.D2L0.D3L0.D4L_", "L4__", + "\\D1L1.D2L0.D3L0.D4L_.D5L0", "N0L0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0", "N1L1", + "\\D1L1.D2L0.D3L0.D4L_.D5L0", "N0L2", + "\\D1L1.D2L0.D3L0.D4L_.D5L0", "N1L3", + "\\D1L1.D2L0.D3L0.D4L_.D5L0", "L4__", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0", "N0L0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0", "N1L1", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0", "N0L2", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0", "N1L3", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0", "L4__", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0", "N0L0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0", "N1L1", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0", "N0L2", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0", "N1L3", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0", "L4__", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0", "N0L0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0", "N1L1", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0", "N0L2", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0", "N1L3", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0", "L4__", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0", "N0L0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0", "N1L1", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0", "N0L2", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0", "N1L3", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0", "L4__", +}; + +static UINT32 Values0000[] = { + 0, + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, + 0x0100, 0x0101, 0x0102, 0x0103, 0x0104, + 0x0110, 0x0111, 0x0112, 0x0113, 0x0114, + 0x0210, 0x0211, 0x0212, 0x0213, 0x0214, + 0x0120, 0x0121, 0x0122, 0x0123, 0x0124, + 0x0130, 0x0131, 0x0132, 0x0133, 0x0134, + 0x0140, 0x0141, 0x0142, 0x0143, 0x0144, + 0x0150, 0x0151, 0x0152, 0x0153, 0x0154, + 0x0160, 0x0161, 0x0162, 0x0163, 0x0164, + 0x0170, 0x0171, 0x0172, 0x0173, 0x0174, + 0x0180, 0x0181, 0x0182, 0x0183, 0x0184, + 0x0190, 0x0191, 0x0192, 0x0193, 0x0194, +}; + +static ACPI_STRING DevicePathNames0000[] = { + "\\", "D1L1", + "\\D1L1", "D2L0", + "\\D1L1.D2L0", "D3L0", + "\\D1L1.D2L0.D3L0", "D4L_", + "\\D1L1.D2L0.D3L0.D4L_", "D5L0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0", "D6L0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0", "D7L0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0", "D8L0", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0", "D9L0", +}; + +static ACPI_OBJECT_TYPE TypesDevicePathNames0000[] = { + ACPI_TYPE_DEVICE, + ACPI_TYPE_DEVICE, + ACPI_TYPE_DEVICE, + ACPI_TYPE_DEVICE, + ACPI_TYPE_DEVICE, + ACPI_TYPE_DEVICE, + ACPI_TYPE_DEVICE, + ACPI_TYPE_DEVICE, + ACPI_TYPE_DEVICE, + ACPI_TYPE_DEVICE, + ACPI_TYPE_DEVICE, +}; + +#ifdef _MSC_VER +#define ULL_CONST(a) a +#define ULL_POSTFIX +#else +#define ULL_CONST(a) a##ULL +#endif + +typedef struct at_device_info +{ + UINT32 Valid; + UINT32 CurrentStatus; + ACPI_INTEGER Address; + char *HardwareId; + char *UniqueId; +/* UINT8 HighestDstates[4];*/ + UINT32 HighestDstates4; + UINT32 CidCount; +} AT_DEVICE_INFO; + +static AT_DEVICE_INFO DeviceInfo0000[] = { + {0x3f, 0xffffffff, ULL_CONST(0xf00000001), + "PNP0A01", "0", 0xffffff01, 1}, + {0x3f, 0xffffffff, ULL_CONST(0xf00000002), + "PNP0A02", "1", 0xffff02ff, 1}, + {0x3f, 0xffffffef, ULL_CONST(0xf00000003), + "ACPI0A03", "d3l0_UID", 0xff03ffff, 2}, + {0x3d, 0x0ffffff7, ULL_CONST(0xf00000004), + "PNP0A04", "999999999", 0x04ffffff, 1}, + {0x3f, 0x00fffffb, ULL_CONST(0xf00000005), + "PNP0A05", "100000000", 0xffffffff, 1}, + {0x2f, 0x000ffffd, ULL_CONST(0xf00000006), + "PNP0A06", "d6l0_UID", 0x01020304, 1}, + {0x37, 0x0000ffff, ULL_CONST(0xf00000007), + "ACPI0A07", "", 0xff02ff01, 3}, + {0x3b, 0x0000fffe, ULL_CONST(0xf00000008), + "PNP0A08", "d8l0_UID", 0xd1e2f3ff, 1}, + {0x3f, 0x00000000, ULL_CONST(0xf00000009), + "PNP0A09", "d9l0_UID", 0xffffffff, 7}, +}; + +typedef struct at_walk_info +{ + UINT32 NestingLevel; + ACPI_STRING PathName; + UINT32 WalkCount; + UINT32 HandlerCount; + UINT32 XfNestingLevel; +} AT_WALK_INFO; + +static AT_WALK_INFO DeviceWalkInfo0000[] = { + {1, "\\_SB_"}, + {1, "\\DEV0"}, + {1, "\\D1L0"}, + {2, "\\D1L0.DEV0"}, + {1, "\\D1L1"}, + {2, "\\D1L1.D2L0"}, + {3, "\\D1L1.D2L0.D3L0"}, + {4, "\\D1L1.D2L0.D3L0.D4L_"}, + {5, "\\D1L1.D2L0.D3L0.D4L_.D5L0"}, + {6, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0"}, + {7, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0"}, + {1, "\\D1L2"}, + {1, "\\D1L3"}, + {2, "\\D1L3.DEV0"}, +}; + +static AT_WALK_INFO DeviceWalkInfoDepth[] = { + {1, "\\_SB_"}, + {1, "\\DEV0"}, + {1, "\\D1L0"}, + {2, "\\D1L0.DEV0"}, + {1, "\\D1L1"}, + {2, "\\D1L1.D2L0"}, + {3, "\\D1L1.D2L0.D3L0"}, + {4, "\\D1L1.D2L0.D3L0.D4L_"}, + {5, "\\D1L1.D2L0.D3L0.D4L_.D5L0"}, + {1, "\\D1L2"}, + {1, "\\D1L3"}, + {2, "\\D1L3.DEV0"}, +}; + +static AT_WALK_INFO DeviceWalkInfoTerminate[] = { + {1, "\\_SB_"}, + {1, "\\DEV0"}, + {1, "\\D1L0"}, + {2, "\\D1L0.DEV0"}, + {1, "\\D1L1"}, + {2, "\\D1L1.D2L0"}, + {3, "\\D1L1.D2L0.D3L0"}, + {4, "\\D1L1.D2L0.D3L0.D4L_"}, +}; + +static AT_WALK_INFO DeviceWalkInfoError[] = { + {1, "\\_SB_"}, + {1, "\\DEV0"}, + {1, "\\D1L0"}, + {2, "\\D1L0.DEV0"}, + {1, "\\D1L1"}, + {2, "\\D1L1.D2L0"}, + {3, "\\D1L1.D2L0.D3L0"}, + {4, "\\D1L1.D2L0.D3L0.D4L_"}, +}; + +static AT_WALK_INFO DeviceWalkInfo2Dev[] = { + /* Matched HID */ + {4, "\\D1L1.D2L0.D3L0.D4L_"}, + /* Matched CID */ + {7, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0"}, +}; + +static AT_WALK_INFO DeviceWalkInfoDev5[] = { + {5, "\\D1L1.D2L0.D3L0.D4L_.D5L0"}, +}; + +static AT_WALK_INFO DeviceWalkInfoDev7[] = { + {7, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0"}, +}; + +static AT_WALK_INFO DeviceWalkInfoLevel5[] = { + {5, "\\D1L1.D2L0.D3L0.D4L_.D5L0"}, + {6, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0"}, + {7, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0"}, + {8, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0"}, + {9, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0"}, + {10, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DEV0"}, + {10, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV0"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV1"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV2"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV3"}, + {10, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL1"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL1.DEV0"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL1.DEV1"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL1.DEV2"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL1.DEV3"}, + {10, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL2"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL2.DEV0"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL2.DEV1"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL2.DEV2"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL2.DEV3"}, + {10, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL3"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL3.DEV0"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL3.DEV1"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL3.DEV2"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL3.DEV3"}, + {10, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL4"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL4.DEV0"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL4.DEV1"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL4.DEV2"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL4.DEV3"}, + {10, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL5"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL5.DEV0"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL5.DEV1"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL5.DEV2"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL5.DEV3"}, + {10, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL6"}, + {10, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL7"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL7.DEV0"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL7.DEV1"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL7.DEV2"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL7.DEV3"}, + {10, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL8"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL8.DEV0"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL8.DEV1"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL8.DEV2"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL8.DEV3"}, + {10, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL9"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL9.DEV0"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL9.DEV1"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL9.DEV2"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL9.DEV3"}, + {10, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DALA"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DALA.DEV0"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DALA.DEV1"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DALA.DEV2"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DALA.DEV3"}, + {10, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DALB"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DALB.DEV0"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DALB.DEV1"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DALB.DEV2"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DALB.DEV3"}, + {10, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DALC"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DALC.DEV0"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DALC.DEV1"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DALC.DEV2"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DALC.DEV3"}, + {10, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DALD"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DALD.DEV0"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DALD.DEV1"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DALD.DEV2"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DALD.DEV3"}, + {10, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DALE"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DALE.DEV0"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DALE.DEV1"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DALE.DEV2"}, + {11, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DALE.DEV3"}, + {10, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DALZ"}, +}; + +static AT_WALK_INFO TypesWalkInfoLevel2[] = { + {2, "\\D1L3.INT0"}, + {2, "\\D1L3.INT0"}, + {2, "\\D1L3.STR0"}, + {2, "\\D1L3.BUF0"}, + {2, "\\D1L3.PAC0"}, + {2, "\\D1L3.FLU0"}, + {2, "\\D1L3.DEV0"}, + {2, "\\D1L3.EVE0"}, + {2, "\\D1L3.MMM0"}, + {2, "\\D1L3.MTX0"}, + {2, "\\D1L3.OPR0"}, + {2, "\\D1L3.PWR0"}, + {2, "\\D1L3.CPU0"}, + {2, "\\D1L3.TZN0"}, + {2, "\\D1L3.BFL0"}, +}; + +typedef struct at_walk_handler_context +{ + UINT32 RetVal; + UINT32 ActionCounter; + UINT32 InfoCounter; + AT_WALK_INFO *WalkInfo; +} AT_WALK_HANDLER_CONTEXT; + +typedef struct at_attach_data_stat +{ + ACPI_HANDLE Object; + void *Data; +} AT_ATTACH_DATA_STAT; + +#define MAX_ATTACH_DATA_STAT 3 + +static char PathName[AT_PATHNAME_MAX]; + +void +AtCleanPointer(ACPI_OBJECT *Object) +{ + UINT32 i; + + switch (Object->Type) + { + case ACPI_TYPE_STRING: + Object->String.Pointer = NULL; + break; + case ACPI_TYPE_BUFFER: + Object->Buffer.Pointer = NULL; + break; + case ACPI_TYPE_PACKAGE: + for (i = 0; i < Object->Package.Count; i++) + { + AtCleanPointer(&Object->Package.Elements[i]); + } + Object->Package.Elements = NULL; + break; + } +} + +ACPI_STATUS +AtEvaluateObjectCommon( + ACPI_STRING ScopePath, + ACPI_STRING ObjName, + ACPI_OBJECT_LIST *ParameterObjects, + ACPI_BUFFER *ReturnObjectPointer, + ACPI_STATUS ExpectedStatus, + UINT32 ExpectedValue, + UINT32 CheckAction) +{ + ACPI_STATUS Status; + ACPI_STRING Name = ObjName; + ACPI_HANDLE ScopeHandle = NULL; + UINT32 Length = sizeof (ACPI_OBJECT); + + if (CheckAction == 7 && ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_LOAD))) + { + return (Status); + } + + Name = ObjName; + + if (ScopePath && CheckAction != 3 && CheckAction != 8 && + CheckAction != 9) + { + Status = AcpiGetHandle (NULL, ScopePath, &ScopeHandle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("AtEvaluateObjectCommon: AcpiGetHandle(NULL, %s) returned %s\n", + ScopePath, AcpiFormatException(Status)); + return (Status); + } + } + else + { + ScopeHandle = NULL; + } + + switch (CheckAction) + { + case 1: + Name = PathName; + strcpy(Name, ObjName); + Name[strlen(Name) - 1] = '&'; + break; + case 2: + Name = PathName; + strcpy(Name, ObjName); + Name[strlen(Name) - 1] = '\0'; + break; + case 8: + Name = PathName; + strcpy(Name, ScopePath); + Name[strlen(Name) - 1] = '\0'; + strcat(Name, "."); + strcat(Name, ObjName); + break; + case 3: + Name = NULL; + break; + case 4: + ReturnObjectPointer->Length = 1; + ReturnObjectPointer->Pointer = NULL; + break; + case 5: + ReturnObjectPointer->Length = 1; + ReturnObjectPointer->Pointer = ReturnObjectPointer; + break; + case 6: + /* Make namespace having not been loaded by Subsystem shutdown */ + Status = AcpiTerminate(); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("AtEvaluateObjectCommon: AcpiTerminate() failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + break; + case 7: + /* Make Device handle invalid by unloading SSDT table */ + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_UNLOAD))) + { + return (Status); + } + break; + } + + Status = AcpiEvaluateObject (ScopeHandle, Name, + ParameterObjects, ReturnObjectPointer); + + if (Status != ExpectedStatus) + { + AapiErrors++; + printf ("AtEvaluateObjectCommon: AcpiEvaluateObject() returned %s," + " expected %s\n", + AcpiFormatException(Status), + AcpiFormatException(ExpectedStatus)); + return (AE_ERROR); + } + else if (Status != AE_OK) + { + if (CheckAction == 5 && + ReturnObjectPointer->Length != Length /* Object */) + { + AapiErrors++; + printf ("AtEvaluateObjectCommon: AcpiEvaluateObject() returned invalid" + " Length %d, expected %d\n", + (UINT32)ReturnObjectPointer->Length, Length); + return (AE_ERROR); + } + return (AE_OK); + } + + return (AE_OK); +} + +ACPI_STATUS +AtEvaluateObjectTypeCommon( + ACPI_STRING *PathNames, + UINT32 NamesCount, + ACPI_STATUS ExpectedStatus) +{ + ACPI_STATUS Status; + ACPI_OBJECT_LIST *ParameterObjects = NULL; + ACPI_STRING Parent; + ACPI_STRING Child; + UINT32 i; + ACPI_BUFFER ReturnBuffer = {ACPI_ALLOCATE_BUFFER}; + ACPI_BUFFER ReturnObjectAbs = ReturnBuffer; + ACPI_BUFFER ReturnObjectRel = ReturnBuffer; + ACPI_OBJECT *ObjectAbs; + ACPI_OBJECT *ObjectRel; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 0; i < NamesCount; i++) + { + /* Absolute Path */ + + Parent = NULL; + Child = PathName; + strcpy(Child, PathNames[2 * i]); + if (strlen(Child) > 1) + { + strcat(Child, "."); + } + strcat(Child, PathNames[2 * i + 1]); + + Status = AtEvaluateObjectCommon( + Parent, Child, ParameterObjects, &ReturnObjectAbs, + ExpectedStatus, 0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* Relative Path */ + + Parent = PathNames[2 * i]; + Child = PathNames[2 * i + 1]; + + Status = AtEvaluateObjectCommon( + Parent, Child, ParameterObjects, &ReturnObjectRel, + ExpectedStatus, 0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ExpectedStatus != AE_OK) + { + continue; + } + + if (ReturnObjectAbs.Length != ReturnObjectRel.Length) + { + AapiErrors++; + printf ("API Error: Lengths of %s are different: %d != %d\n", + PathNames[2 * i + 1], + (UINT32)ReturnObjectAbs.Length, + (UINT32)ReturnObjectRel.Length); + return (AE_ERROR); + } + + ObjectAbs = (ACPI_OBJECT *)ReturnObjectAbs.Pointer; + ObjectRel = (ACPI_OBJECT *)ReturnObjectRel.Pointer; + + AtCleanPointer(ObjectAbs); + AtCleanPointer(ObjectRel); + + if (ACPI_FAILURE(Status = AtCheckBytes( + PathNames[2 * i + 1], + ReturnObjectAbs.Pointer, ReturnObjectRel.Pointer, + ReturnObjectAbs.Length))) + { + return (Status); + } + + AcpiOsFree(ReturnObjectAbs.Pointer); + ReturnObjectAbs = ReturnBuffer; + AcpiOsFree(ReturnObjectRel.Pointer); + ReturnObjectRel = ReturnBuffer; + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0000: + * + */ +ACPI_STATUS +AtNSpaceTest0000(void) +{ + return (AtEvaluateObjectTypeCommon( + EvPathNames0000, + sizeof (EvPathNames0000) / sizeof (ACPI_STRING) / 2, + AE_OK)); +} + +ACPI_STATUS +AtEvaluateObjectMethodCommon(void) +{ + ACPI_STATUS Status; + UINT32 NamesCount; + ACPI_STRING Parent; + ACPI_STRING Child; + UINT32 i; + ACPI_BUFFER ReturnBuffer = {ACPI_ALLOCATE_BUFFER}; + ACPI_BUFFER ReturnObjectRel = ReturnBuffer; + ACPI_OBJECT *ObjectRel; + UINT32 Length = sizeof (ACPI_OBJECT); + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + NamesCount = sizeof (MethodPathNames0000) / sizeof (ACPI_STRING) / 2; + + for (i = 0; i < NamesCount; i++) + { + printf ("AtEvaluateObjectMethodCommon: %d\n", i); + + /* Absolute Path */ + + Parent = NULL; + Child = PathName; + strcpy(Child, MethodPathNames0000[2 * i]); + if (strlen(Child) > 1) + { + strcat(Child, "."); + } + strcat(Child, MethodPathNames0000[2 * i + 1]); + + Status = AtEvaluateObjectCommon( + Parent, Child, NULL, NULL, + AE_OK, 0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\IOUT", 0x200 + i))) + { + return (Status); + } + + /* Relative Path */ + + Parent = MethodPathNames0000[2 * i]; + Child = MethodPathNames0000[2 * i + 1]; + + Status = AtEvaluateObjectCommon( + Parent, Child, NULL, &ReturnObjectRel, + AE_OK, 0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ReturnObjectRel.Length != Length) + { + AapiErrors++; + printf ("API Error: unexpected Length of result: %d != %d\n", + (UINT32)ReturnObjectRel.Length, Length); + return (AE_ERROR); + } + + ObjectRel = (ACPI_OBJECT *)ReturnObjectRel.Pointer; + + if (ObjectRel->Type != ACPI_TYPE_INTEGER) + { + AapiErrors++; + printf ("API Error: unexpected Type of result: %d != %d\n", + ObjectRel->Type, ACPI_TYPE_INTEGER); + return (AE_ERROR); + } + + if (ObjectRel->Integer.Value != 0x200 + i) + { + AapiErrors++; + printf ("API Error: unexpected Value of result: %d != %d\n", + (UINT32)ObjectRel->Integer.Value, 0x200 + i); + return (AE_ERROR); + } + + AcpiOsFree(ReturnObjectRel.Pointer); + ReturnObjectRel = ReturnBuffer; + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0001: + * + */ +ACPI_STATUS +AtNSpaceTest0001(void) +{ + return (AtEvaluateObjectMethodCommon()); +} + +ACPI_STATUS +AtEvaluateObjectMethodArgCommon(UINT32 MoreArgs) +{ + ACPI_STATUS Status; + ACPI_OBJECT_LIST ParameterObjects; + UINT32 NamesCount; + UINT32 NumArgs; + ACPI_STRING Parent; + ACPI_STRING Child; + UINT32 i, j; + ACPI_BUFFER ReturnBuffer = {ACPI_ALLOCATE_BUFFER}; + ACPI_BUFFER ReturnObjectAbs = ReturnBuffer; + ACPI_BUFFER ReturnObjectRel = ReturnBuffer; + ACPI_OBJECT *ObjectAbs; + ACPI_OBJECT *ObjectRel; +#define OUT_BUF_LEN 8 + UINT8 OutBuffer[OUT_BUF_LEN]; + UINT32 Length = sizeof (ACPI_OBJECT) + OUT_BUF_LEN; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + NamesCount = sizeof (MethodArgPathNames0000) / sizeof (ACPI_STRING) / 2; + + for (i = 0; i < NamesCount; i++) + { + printf ("AtEvaluateObjectMethodCommon: %d\n", i); + + if (MoreArgs) + { + NumArgs = 8; + } + else + { + NumArgs = i + 1; + } + ParameterObjects.Count = NumArgs; + ParameterObjects.Pointer = (ACPI_OBJECT *)malloc( + (NumArgs)* sizeof (ACPI_OBJECT)); + + memset(OutBuffer, 0, OUT_BUF_LEN); + for (j = 0; j < NumArgs; j++) + { + ParameterObjects.Pointer[j].Type = ACPI_TYPE_INTEGER; + ParameterObjects.Pointer[j].Integer.Value = j * 16 + i; + if (j <= i) + { + OutBuffer[j] = (UINT8)(j * 16 + i); + } + } + + /* Absolute Path */ + + Parent = NULL; + Child = PathName; + strcpy(Child, MethodArgPathNames0000[2 * i]); + if (strlen(Child) > 1) + { + strcat(Child, "."); + } + strcat(Child, MethodArgPathNames0000[2 * i + 1]); + + Status = AtEvaluateObjectCommon( + Parent, Child, &ParameterObjects, &ReturnObjectAbs, + AE_OK, 0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ReturnObjectAbs.Length != Length) + { + AapiErrors++; + printf ("API Error: Result Length %d != %d\n", + (UINT32)ReturnObjectAbs.Length, Length); + return (AE_ERROR); + } + + if (ACPI_FAILURE(Status = AtCheckBytes( + MethodArgPathNames0000[2 * i + 1], + (UINT8 *)ReturnObjectAbs.Pointer + sizeof (ACPI_OBJECT), + OutBuffer, OUT_BUF_LEN))) + { + return (Status); + } + + /* Relative Path */ + + Parent = MethodArgPathNames0000[2 * i]; + Child = MethodArgPathNames0000[2 * i + 1]; + + Status = AtEvaluateObjectCommon( + Parent, Child, &ParameterObjects, &ReturnObjectRel, + AE_OK, 0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ReturnObjectAbs.Length != ReturnObjectRel.Length) + { + AapiErrors++; + printf ("API Error: Lengths of %s are different: %d != %d\n", + MethodArgPathNames0000[2 * i + 1], + (UINT32)ReturnObjectAbs.Length, + (UINT32)ReturnObjectRel.Length); + return (AE_ERROR); + } + + ObjectAbs = (ACPI_OBJECT *)ReturnObjectAbs.Pointer; + ObjectRel = (ACPI_OBJECT *)ReturnObjectRel.Pointer; + + if (ObjectRel->Type != ACPI_TYPE_BUFFER) + { + AapiErrors++; + printf ("API Error: unexpected Type of result: %d != %d\n", + ObjectRel->Type, ACPI_TYPE_BUFFER); + return (AE_ERROR); + } + + AtCleanPointer(ObjectAbs); + AtCleanPointer(ObjectRel); + + if (ACPI_FAILURE(Status = AtCheckBytes( + MethodArgPathNames0000[2 * i + 1], + ReturnObjectAbs.Pointer, ReturnObjectRel.Pointer, + ReturnObjectAbs.Length))) + { + return (Status); + } + + AcpiOsFree(ReturnObjectAbs.Pointer); + ReturnObjectAbs = ReturnBuffer; + AcpiOsFree(ReturnObjectRel.Pointer); + ReturnObjectRel = ReturnBuffer; + free(ParameterObjects.Pointer); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0002: + * + */ +ACPI_STATUS +AtNSpaceTest0002(void) +{ + return (AtEvaluateObjectMethodArgCommon(0)); +} + +/* + * ASSERTION 0003: + * + */ +ACPI_STATUS +AtNSpaceTest0003(void) +{ + return (AtEvaluateObjectMethodArgCommon(1)); +} + +/* + * ASSERTION 0004: + * + */ +ACPI_STATUS +AtNSpaceTest0004(void) +{ + ACPI_STATUS Status; + UINT32 NamesCount; + ACPI_STRING Parent; + ACPI_STRING Child; + UINT32 i; + ACPI_BUFFER ReturnBuffer = {ACPI_ALLOCATE_BUFFER}; + ACPI_BUFFER ReturnObject = ReturnBuffer; + ACPI_OBJECT *Object; + UINT32 Length = sizeof (ACPI_OBJECT); + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + NamesCount = sizeof (MethodPathNames0000) / sizeof (ACPI_STRING) / 2; + + for (i = 0; i < NamesCount; i++) + { + printf ("AtEvaluateObjectMethodCommon: %d\n", i); + + Parent = MethodPathNames0000[2 * i]; + Child = MethodPathNames0000[2 * i + 1]; + + /* NULL Result Buffer */ + + Status = AtEvaluateObjectCommon( + Parent, Child, NULL, NULL, + AE_OK, 0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\IOUT", 0x200 + i))) + { + return (Status); + } + + /* non-NULL Result Buffer */ + + Parent = MethodPathNames0000[2 * i]; + Child = MethodPathNames0000[2 * i + 1]; + + Status = AtEvaluateObjectCommon( + Parent, Child, NULL, &ReturnObject, + AE_OK, 0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ReturnObject.Length != Length) + { + AapiErrors++; + printf ("API Error: unexpected Length of result: %d != %d\n", + (UINT32)ReturnObject.Length, Length); + return (AE_ERROR); + } + + Object = (ACPI_OBJECT *)ReturnObject.Pointer; + + if (Object->Type != ACPI_TYPE_INTEGER) + { + AapiErrors++; + printf ("API Error: unexpected Type of result: %d != %d\n", + Object->Type, ACPI_TYPE_INTEGER); + return (AE_ERROR); + } + + if (Object->Integer.Value != 0x200 + i) + { + AapiErrors++; + printf ("API Error: unexpected Value of result: %d != %d\n", + (UINT32)Object->Integer.Value, 0x200 + i); + return (AE_ERROR); + } + + AcpiOsFree(ReturnObject.Pointer); + ReturnObject = ReturnBuffer; + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0005: + * + */ +ACPI_STATUS +AtNSpaceTest0005(void) +{ + ACPI_STATUS Status; + ACPI_STRING Parent = "\\"; + ACPI_STRING Child = "M100"; + ACPI_BUFFER ReturnObject = {ACPI_ALLOCATE_BUFFER}; + UINT32 ExpectedLength = 0; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\IOUT", 0x1FF))) + { + return (Status); + } + + /* NULL Result Buffer */ + + Status = AtEvaluateObjectCommon( + Parent, Child, NULL, NULL, + AE_OK, 0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\IOUT", 0x200))) + { + return (Status); + } + + /* non-NULL Result Buffer */ + + Status = AtEvaluateObjectCommon( + Parent, Child, NULL, &ReturnObject, + AE_OK, 0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (AcpiGbl_EnableInterpreterSlack) + { + ExpectedLength = 16; + } + + if (ReturnObject.Length != ExpectedLength) + { + AapiErrors++; + printf ("API Error: unexpected Length of result: %d != %d\n", + (UINT32)ReturnObject.Length, ExpectedLength); + return (AE_ERROR); + } + + if (ReturnObject.Length) + { + AcpiOsFree(ReturnObject. Pointer); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\IOUT", 0x201))) + { + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0006: + * + */ +ACPI_STATUS +AtNSpaceTest0006(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtEvaluateObjectCommon( + NULL, "\\M001", NULL, NULL, + AE_OK, 0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\ICCS", 0x222))) + { + printf ("AtNSpaceTest0006: AE_OK error M001\n"); + return (Status); + } + + Status = AtEvaluateObjectCommon( + NULL, "\\M001", NULL, NULL, + AE_AML_DIVIDE_BY_ZERO, 0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\ICCS", 0x111))) + { + printf ("AtNSpaceTest0006: AE_AML_DIVIDE_BY_ZERO error M001\n"); + return (Status); + } + + Status = AtEvaluateObjectCommon( + NULL, "\\M101", NULL, NULL, + AE_OK, 0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\ICCS", 0x22002))) + { + printf ("AtNSpaceTest0006: AE_OK error M101\n"); + return (Status); + } + + Status = AtEvaluateObjectCommon( + NULL, "\\M101", NULL, NULL, + AE_AML_DIVIDE_BY_ZERO, 0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\ICCS", 0x11001))) + { + printf ("AtNSpaceTest0006: AE_AML_DIVIDE_BY_ZERO error M101\n"); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0007: + * + */ +ACPI_STATUS +AtNSpaceTest0007(void) +{ + return (AtEvaluateObjectTypeCommon( + AeTypePathNames0000, + sizeof (AeTypePathNames0000) / sizeof (ACPI_STRING) / 2, + AE_TYPE)); +} + +ACPI_STATUS +AtEvaluateObjectExceptionCommon( + UINT32 CheckAction, + ACPI_STATUS ExpectedStatus) +{ + ACPI_STATUS Status; + ACPI_OBJECT_LIST *ParameterObjects = NULL; + ACPI_BUFFER ReturnBuffer = {ACPI_ALLOCATE_BUFFER}; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (CheckAction == 7) + { + Status = AtEvaluateObjectCommon( + "\\AUX2", "SS00", + ParameterObjects, &ReturnBuffer, + ExpectedStatus, 0, CheckAction); + } + else + { + Status = AtEvaluateObjectCommon( + "\\D1L1.D2L0.D3L0.D4L_.D5L0", "L4__", + ParameterObjects, &ReturnBuffer, + ExpectedStatus, 0, CheckAction); + } + + if (ACPI_FAILURE(Status) || CheckAction == 6) + { + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +ACPI_STATUS +AtEvaluateObjectMethodException1( + char *CodeName, + ACPI_STRING MethodName, + ACPI_STATUS ExpectedStatus, + ACPI_STRING ControlName, + UINT32 ExpectedValue) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet(CodeName))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtEvaluateObjectCommon( + NULL, MethodName, NULL, NULL, + ExpectedStatus, 0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, ControlName, ExpectedValue))) + { + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0010: + * + */ +ACPI_STATUS +AtNSpaceTest0010(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0010.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtEvaluateObjectCommon( + NULL, "\\M000", NULL, NULL, + AE_AML_BAD_OPCODE, 0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\I000", 0x0))) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\I001", 0x0))) + { + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0011: + * + */ +ACPI_STATUS +AtNSpaceTest0011(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0011.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtEvaluateObjectCommon( + NULL, "\\M000", NULL, NULL, + AE_AML_NO_OPERAND, 0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\I000", 0x0))) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\I001", 0x1))) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\I002", 0x1))) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\I003", 0x0))) + { + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0012: + * + */ +ACPI_STATUS +AtNSpaceTest0012(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0012.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtEvaluateObjectCommon( + NULL, "\\M000", NULL, NULL, + AE_AML_OPERAND_TYPE, 0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\I000", 0x0))) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\I001", 0x0))) + { + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0013: + * + */ +ACPI_STATUS +AtNSpaceTest0013(void) +{ + return (AtEvaluateObjectMethodException1( + "nmsp0013.aml", + "\\M000", AE_AML_OPERAND_VALUE, + "\\I000", 0x0)); +} + +/* + * ASSERTION 0014: + * + */ +ACPI_STATUS +AtNSpaceTest0014(void) +{ + return (AtEvaluateObjectMethodException1( + "nmsp0014.aml", + "\\M000", (AcpiGbl_EnableInterpreterSlack)? AE_OK: + AE_AML_UNINITIALIZED_LOCAL, + "\\I000", (AcpiGbl_EnableInterpreterSlack)? 0x1: 0x0)); +} + +/* + * ASSERTION 0015: + * + */ +ACPI_STATUS +AtNSpaceTest0015(void) +{ + ACPI_STATUS Status; + + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0015.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtEvaluateObjectCommon( + NULL, "\\M000", NULL, NULL, + (AcpiGbl_EnableInterpreterSlack)? AE_OK: AE_AML_UNINITIALIZED_ARG, 0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\I000", + (AcpiGbl_EnableInterpreterSlack)? 0x1: 0x0))) + { + return (Status); + } + + Status = AtEvaluateObjectCommon( + NULL, "\\M001", NULL, NULL, + (AcpiGbl_EnableInterpreterSlack)? AE_OK: AE_AML_UNINITIALIZED_ARG, 0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\I001", + (AcpiGbl_EnableInterpreterSlack)? 0x1: 0x0))) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckInteger(NULL, "\\I002", + (AcpiGbl_EnableInterpreterSlack)? 0x2: 0x1))) + { + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0016: + * + */ +ACPI_STATUS +AtNSpaceTest0016(void) +{ + return (AtEvaluateObjectMethodException1( + "nmsp0016.aml", + "\\M000", AE_AML_NUMERIC_OVERFLOW, + "\\I000", 0x0)); +} + +/* + * ASSERTION 0017: + * + */ +ACPI_STATUS +AtNSpaceTest0017(void) +{ + return (AtEvaluateObjectMethodException1( + "nmsp0017.aml", + "\\M000", AE_AML_REGION_LIMIT, + "\\I000", 0x1)); +} + +/* + * ASSERTION 0018: + * + */ +ACPI_STATUS +AtNSpaceTest0018(void) +{ + return (AtEvaluateObjectMethodException1( + "nmsp0018.aml", + "\\M000", AE_AML_BUFFER_LIMIT, + "\\I000", 0x1)); +} + +/* + * ASSERTION 0019: + * + */ +ACPI_STATUS +AtNSpaceTest0019(void) +{ + return (AtEvaluateObjectMethodException1( + "nmsp0019.aml", + "\\M000", AE_AML_PACKAGE_LIMIT, + "\\I000", 0x1)); +} + +/* + * ASSERTION 0020: + * + */ +ACPI_STATUS +AtNSpaceTest0020(void) +{ + return (AtEvaluateObjectMethodException1( + "nmsp0020.aml", + "\\M000", AE_AML_STRING_LIMIT, + "\\I000", 0x1)); +} + +/* + * ASSERTION 0021: + * + */ +ACPI_STATUS +AtNSpaceTest0021(void) +{ + return (AtEvaluateObjectMethodException1( + "nmsp0021.aml", + "\\M000", AE_AML_DIVIDE_BY_ZERO, + "\\I000", 0x0)); +} + +/* + * ASSERTION 0022: + * + */ +ACPI_STATUS +AtNSpaceTest0022(void) +{ + AtSetAmlControl(0x49, '!'); + + return (AtEvaluateObjectMethodException1( + "nmsp0022.aml", + "\\M000", AE_AML_BAD_NAME, + "\\I000", 0x0)); +} + +/* + * ASSERTION 0023: + * + */ +ACPI_STATUS +AtNSpaceTest0023(void) +{ + AtSetAmlControl(0x46, 'M'); + + return (AtEvaluateObjectMethodException1( + "nmsp0023.aml", + "\\M000", AE_AML_NAME_NOT_FOUND, + "\\I000", 0x0)); +} + +/* + * ASSERTION 0025: + * + */ +ACPI_STATUS +AtNSpaceTest0025(void) +{ + return (AtEvaluateObjectMethodException1( + "nmsp0025.aml", + "\\M000", AE_AML_INTERNAL, + "\\I000", 0x0)); +} + +/* + * ASSERTION 0026: + * + */ +ACPI_STATUS +AtNSpaceTest0026(void) +{ + return (AtEvaluateObjectExceptionCommon(1, AE_BAD_CHARACTER)); +} + +/* + * ASSERTION 0027: + * + */ +ACPI_STATUS +AtNSpaceTest0027(void) +{ + ACPI_STATUS Status; + + Status = AtEvaluateObjectExceptionCommon(2, AE_BAD_PATHNAME); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AtEvaluateObjectExceptionCommon(8, AE_BAD_PATHNAME)); +} + +/* + * ASSERTION 0029: + * + */ +ACPI_STATUS +AtNSpaceTest0029(void) +{ + return (AtEvaluateObjectExceptionCommon(3, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0030: + * + */ +ACPI_STATUS +AtNSpaceTest0030(void) +{ + return (AtEvaluateObjectExceptionCommon(9, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0031: + * + */ +ACPI_STATUS +AtNSpaceTest0031(void) +{ + return (AtEvaluateObjectExceptionCommon(7, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0032: + * + */ +ACPI_STATUS +AtNSpaceTest0032(void) +{ + return (AtEvaluateObjectExceptionCommon(4, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0033: + * + */ +ACPI_STATUS +AtNSpaceTest0033(void) +{ + return (AtEvaluateObjectExceptionCommon(5, AE_BUFFER_OVERFLOW)); +} + +ACPI_STATUS +AtEvaluateObjectExceptionTest( + ACPI_OSXF OsxfNum, + AT_ACTD_FLAG ActFlag, + UINT32 ActCode, + UINT32 TFst, + ACPI_STATUS Benchmark, + ACPI_STRING ScopePath, + ACPI_STRING ObjName) +{ + ACPI_STATUS Status; + ACPI_OSXF OsxfNumAct; + UINT32 Continue_Cond = 1; + UINT32 CtrlCheck = ALL_STAT; + UINT32 TMax = 10000; + UINT32 i; + ACPI_STRING Name = ObjName; + ACPI_HANDLE ScopeHandle; + + for (i = TFst; (i < TMax) && Continue_Cond; i++) + { + printf ("AtResourceExceptionTest: i = %d\n", i); + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ScopePath) + { + Status = AcpiGetHandle(NULL, ScopePath, &ScopeHandle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiEvaluateObject(NULL, %s)" + " returned %s\n", + ScopePath, AcpiFormatException(Status)); + return (Status); + } + } + else + { + ScopeHandle = NULL; + } + + Status = OsxfCtrlSet(OsxfNum, i, ActFlag, ActCode); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: OsxfCtrlSet returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiEvaluateObject (ScopeHandle, Name, + NULL, NULL); + + if (!(OsxfNumAct = OsxfCtrlGetActOsxf(OsxfNum, 1))) + { + if (i == TFst) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + } + TestPass++; + Continue_Cond = 0; + } + else + { + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiEvaluateObject returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), AcpiFormatException(Benchmark)); + printf (" ObjName '%s', i = %d\n", ObjName, i); + return (AE_ERROR); + } + } + + Status = AtTerminateCtrlCheck(AE_OK, CtrlCheck); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + if (i >= TMax) + { + TestErrors++; + printf ("Test error: there are test cases remained\n"); + return (AE_ERROR); + } + + return (AE_OK); +} + +/* + * ASSERTION 0035: + */ +ACPI_STATUS +AtNSpaceTest0035(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + + Status = AtEvaluateObjectExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY, + "\\D1L1.D2L0.D3L0.D4L_.D5L0", "L4__"); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtEvaluateObjectExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY, + NULL, "\\D1L1.D2L0.D3L0.D4L_.D5L0.L4__"); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtEvaluateObjectExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY, + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0", "PAC1"); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtEvaluateObjectExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY, + NULL, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.PAC1"); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtEvaluateObjectExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY, + "\\D1L1.D2L0.D3L0.D4L_.D5L0", "M000"); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtEvaluateObjectExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY, + NULL, "\\D1L1.D2L0.D3L0.D4L_.D5L0.M000"); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + + Status = AtEvaluateObjectExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY, + "\\D1L1.D2L0.D3L0.D4L_.D5L0", "L4__"); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtEvaluateObjectExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY, + NULL, "\\D1L1.D2L0.D3L0.D4L_.D5L0.L4__"); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtEvaluateObjectExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY, + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0", "PAC1"); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtEvaluateObjectExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY, + NULL, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.PAC1"); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtEvaluateObjectExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY, + "\\D1L1.D2L0.D3L0.D4L_.D5L0", "M000"); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AtEvaluateObjectExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY, + NULL, "\\D1L1.D2L0.D3L0.D4L_.D5L0.M000")); +} + +/* + * ASSERTION 0036: + * + */ +ACPI_STATUS +AtNSpaceTest0036(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtEvaluateObjectCommon( + NULL, "\\D1L1.D2L0.D3L0.D4L0.D5L0.M000", + NULL, NULL, AE_NOT_FOUND, 0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtEvaluateObjectCommon( + "\\D1L1.D2L0.D3L0.D4L_.D5L0", "M001", + NULL, NULL, AE_NOT_FOUND, 0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtEvaluateObjectCommon( + NULL, "\\D1L1.D2L0.D3L0.D4L_.D5L0.M001", + NULL, NULL, AE_NOT_FOUND, 0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0037: + * + */ +ACPI_STATUS +AtNSpaceTest0037(void) +{ + return (AtEvaluateObjectMethodException1( + "nmsp0037.aml", + "\\M000", AE_NULL_OBJECT, + "\\I000", 0x0)); +} + +ACPI_STATUS +AtGetObjectInfoCommon( + ACPI_STRING ObjName, + ACPI_STATUS ExpectedStatus, + ACPI_DEVICE_INFO **Info, + UINT32 CheckAction) +{ + ACPI_STATUS Status; + ACPI_HANDLE ObjHandle; + ACPI_DEVICE_INFO *LocalInfo; + + + if (CheckAction == 3 && ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_LOAD))) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, ObjName, &ObjHandle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("AtGetObjectInfoCommon: AcpiGetHandle(NULL, %s) returned %s\n", + ObjName, AcpiFormatException(Status)); + return (Status); + } + + switch (CheckAction) + { + case 1: + ObjHandle = NULL; + break; + case 2: + /* Make namespace having not been loaded by Subsystem shutdown */ + Status = AcpiTerminate(); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("AtGetObjectInfoCommon: AcpiTerminate() failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + break; + case 3: + /* Make Device handle invalid by unloading SSDT table */ + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_UNLOAD))) + { + return (Status); + } + break; + case 4: + *Info = NULL; + break; + } + + Status = AcpiGetObjectInfo (ObjHandle, &LocalInfo); + *Info = LocalInfo; + + if (Status != ExpectedStatus) + { + AapiErrors++; + printf ("AtGetObjectInfoCommon: AcpiGetObjectInfo() returned %s," + " expected %s\n", + AcpiFormatException(Status), + AcpiFormatException(ExpectedStatus)); + return (AE_ERROR); + } + else if (Status != AE_OK) + { + return (AE_OK); + } + + return (AE_OK); +} + +ACPI_STATUS +AtGetObjectInfoTypeCommon( + ACPI_STRING *PathNames, + UINT32 NamesCount, + ACPI_STATUS ExpectedStatus, + ACPI_OBJECT_TYPE *ExpectedTypes, + AT_DEVICE_INFO *ExpectedInfo) +{ + ACPI_STATUS Status; + ACPI_STRING Node; + UINT32 i; + UINT32 HighestDstates4; + ACPI_DEVICE_INFO *Info; + + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 0; i < NamesCount; i++) + { + /* Absolute Path */ + + Node = PathName; + strcpy(Node, PathNames[2 * i]); + if (strlen(Node) > 1) + { + strcat(Node, "."); + } + strcat(Node, PathNames[2 * i + 1]); + + Status = AtGetObjectInfoCommon( + Node, ExpectedStatus, &Info, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ExpectedStatus != AE_OK) + { + continue; + } + + if (!Info) + { + AapiErrors++; + printf ("API Error: Null return buffer\n"); + return (AE_ERROR); + } + + if (strncmp((ACPI_STRING)&Info->Name, PathNames[2 * i + 1], + sizeof (ACPI_NAME))) + { + AapiErrors++; + printf ("API Error: Name of %s is incorrect (%x)\n", + PathNames[2 * i + 1], + Info->Name); + return (AE_ERROR); + } + + if (Info->Type != ExpectedTypes[i]) + { + AapiErrors++; + printf ("API Error: Type of %s (%d) != (%d)\n", + PathNames[2 * i + 1], + Info->Type, ExpectedTypes[i]); + return (AE_ERROR); + } + + if (Info->Type != ACPI_TYPE_DEVICE && Info->Valid != 0) + { + AapiErrors++; + printf ("API Error: Valid of %s (%d) != (%d)\n", + PathNames[2 * i + 1], + Info->Valid, 0); + return (AE_ERROR); + } + else if (Info->Type == ACPI_TYPE_DEVICE && ExpectedInfo) + { + if (Info->Valid != ExpectedInfo[i].Valid) + { + AapiErrors++; + printf ("API Error: Valid of %s (%d) != (%d)\n", + PathNames[2 * i + 1], + Info->Valid, ExpectedInfo[i].Valid); + return (AE_ERROR); + } + if ((Info->Valid & ACPI_VALID_ADR) && + Info->Address != ExpectedInfo[i].Address) + { + AapiErrors++; +#if ACPI_MACHINE_WIDTH == 64 +#ifdef _MSC_VER + printf ("API Error: Address of %s (0x%I64X) != (0x%I64X)\n", + PathNames[2 * i + 1], + Info->Address, ExpectedInfo[i].Address); +#else + printf ("API Error: Address of %s (0x%llX) != (0x%llX)\n", + PathNames[2 * i + 1], + Info->Address, ExpectedInfo[i].Address); +#endif +#else + printf ("API Error: Address of %s (0x%X) != (0x%X)\n", + PathNames[2 * i + 1], + (UINT32) Info->Address, (UINT32) ExpectedInfo[i].Address); +#endif + return (AE_ERROR); + } + if ((Info->Valid & ACPI_VALID_STA) && + Info->CurrentStatus != ExpectedInfo[i].CurrentStatus) + { + AapiErrors++; + printf ("API Error: CurrentStatus of %s (0x%X) != (0x%X)\n", + PathNames[2 * i + 1], + Info->CurrentStatus, ExpectedInfo[i].CurrentStatus); + return (AE_ERROR); + } + memcpy(&HighestDstates4, Info->HighestDstates, sizeof (HighestDstates4)); + if ((Info->Valid & ACPI_VALID_SXDS) && + HighestDstates4 != ExpectedInfo[i].HighestDstates4) + { + AapiErrors++; + printf ("API Error: CurrentStatus of %s (0x%X) != (0x%X)\n", + PathNames[2 * i + 1], + HighestDstates4, ExpectedInfo[i].HighestDstates4); + return (AE_ERROR); + } + if ((Info->Valid & ACPI_VALID_HID) && + strcmp(Info->HardwareId.String, ExpectedInfo[i].HardwareId)) + { + AapiErrors++; + printf ("API Error: HardwareId of %s (%s) != (%s)\n", + PathNames[2 * i + 1], + Info->HardwareId.String, ExpectedInfo[i].HardwareId); + return (AE_ERROR); + } + if ((Info->Valid & ACPI_VALID_UID) && + /* + strncmp(Info->UniqueId.Value, ExpectedInfo[i].UniqueId.Value, + ACPI_DEVICE_ID_LENGTH)) + * Update highlighting bug 17 + */ + strcmp(Info->UniqueId.String, ExpectedInfo[i].UniqueId)) + { + AapiErrors++; + printf ("API Error: UniqueId of %s (%s) != (%s)\n", + PathNames[2 * i + 1], + Info->UniqueId.String, ExpectedInfo[i].UniqueId); + return (AE_ERROR); + } + if ((Info->Valid & ACPI_VALID_CID) && + Info->CompatibleIdList.Count != ExpectedInfo[i].CidCount) + { + AapiErrors++; + printf ("API Error: CidCount of %s (%d) != (%d)\n", + PathNames[2 * i + 1], + Info->CompatibleIdList.Count, ExpectedInfo[i].CidCount); + return (AE_ERROR); + } + } + + AcpiOsFree(Info); +// ReturnObjBuffer = ReturnBuffer; + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0040: + * + */ +ACPI_STATUS +AtNSpaceTest0040(void) +{ + ACPI_STATUS Status; + + Status = AtGetObjectInfoTypeCommon( + EvPathNames0000, + sizeof (EvPathNames0000) / sizeof (ACPI_STRING) / 2, + AE_OK, TypesEvPathNames0000, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtGetObjectInfoTypeCommon( + AeTypePathNames0000, + sizeof (AeTypePathNames0000) / sizeof (ACPI_STRING) / 2, + AE_OK, TypesAeTypePathNames0000, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtGetObjectInfoTypeCommon( + TermalPathNames0000, + sizeof (TermalPathNames0000) / sizeof (ACPI_STRING) / 2, + AE_OK, TypesTermalPathNames0000, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AtGetObjectInfoTypeCommon( + DevicePathNames0000, + sizeof (DevicePathNames0000) / sizeof (ACPI_STRING) / 2, + AE_OK, TypesDevicePathNames0000, DeviceInfo0000)); +} + +ACPI_STATUS +AtGetObjectInfoException( + ACPI_STATUS ExpectedStatus, + UINT32 Action) +{ + ACPI_STATUS Status; + ACPI_STRING Node = "\\D1L1.D2L0.D3L0.D4L_.D5L0"; + ACPI_DEVICE_INFO *ReturnBuffer; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (Action == 3) + { + Node = "\\AUX2.SS00"; + } + + Status = AtGetObjectInfoCommon( + Node, AE_BAD_PARAMETER, &ReturnBuffer, Action); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0041: + * + */ +ACPI_STATUS +AtNSpaceTest0041(void) +{ + return (AtGetObjectInfoException(AE_BAD_PARAMETER, 3)); +} + +/* + * ASSERTION 0042: + * + */ +ACPI_STATUS +AtNSpaceTest0042(void) +{ + return (AtGetObjectInfoException(AE_BAD_PARAMETER, 4)); +} + +/* + * ASSERTION 0043: + * + */ +ACPI_STATUS +AtNSpaceTest0043(void) +{ + return (AtGetObjectInfoException(AE_BAD_PARAMETER, 1)); +} + +ACPI_STATUS +AtGetObjectInfoExceptionTest( + ACPI_OSXF OsxfNum, + AT_ACTD_FLAG ActFlag, + UINT32 ActCode, + UINT32 TFst, + ACPI_STATUS Benchmark, + ACPI_STRING ObjName) +{ + ACPI_STATUS Status; + ACPI_OSXF OsxfNumAct; + UINT32 Continue_Cond = 1; + UINT32 CtrlCheck = ALL_STAT; + UINT32 TMax = 10000; + UINT32 i; + ACPI_DEVICE_INFO *ReturnBuffer; + ACPI_HANDLE ObjHandle; + + + for (i = TFst; (i < TMax) && Continue_Cond; i++) + { + printf ("AtGetObjectInfoExceptionTest: i = %d\n", i); + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, ObjName, &ObjHandle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiGetHandle(NULL, %s) returned %s\n", + ObjName, AcpiFormatException(Status)); + return (Status); + } + + Status = OsxfCtrlSet(OsxfNum, i, ActFlag, ActCode); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: OsxfCtrlSet returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetObjectInfo (ObjHandle, &ReturnBuffer); + + if (!(OsxfNumAct = OsxfCtrlGetActOsxf(OsxfNum, 1))) + { + if (i == TFst) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + } + TestPass++; + Continue_Cond = 0; + if (Status == AE_OK) + { + AcpiOsFree(ReturnBuffer); + } + } + else + { + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiGetObjectInfo returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + + Status = AtTerminateCtrlCheck(AE_OK, CtrlCheck); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + if (i >= TMax) + { + TestErrors++; + printf ("Test error: there are test cases remained\n"); + return (AE_ERROR); + } + + return (AE_OK); +} + +/* + * ASSERTION 0044: + */ +ACPI_STATUS +AtNSpaceTest0044(void) +{ + ACPI_STATUS Status; + ACPI_STRING Node = "\\D1L1.D2L0.D3L0.D4L_.D5L0"; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + Status = AtGetObjectInfoExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY, Node); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + return (AtGetObjectInfoExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY, Node)); +} + +ACPI_STATUS +AtGetNextObjectCommon( + ACPI_OBJECT_TYPE Type, + ACPI_HANDLE Parent, + ACPI_HANDLE Child, + ACPI_STATUS ExpectedStatus, + ACPI_STRING ExpectedName, + UINT32 CheckAction) +{ + ACPI_STATUS Status; + ACPI_HANDLE OutHandle; + + switch (CheckAction) + { + case 1: + /* Make Device handle invalid by unloading SSDT table*/ + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_UNLOAD))) + { + return (Status); + } + break; + default: + break; + } + + Status = AcpiGetNextObject (Type, Parent, Child, &OutHandle); + + if (Status != ExpectedStatus) + { + AapiErrors++; + printf ("AtGetNextObjectCommon: AcpiGetNextObject(0x%x, 0x%p, 0x%p)" + " returned %s, expected %s\n", + Type, Parent, Child, + AcpiFormatException(Status), + AcpiFormatException(ExpectedStatus)); + return (AE_ERROR); + } + else if (Status != AE_OK) + { + return (AE_OK); + } + + return (AtCheckName(OutHandle, ExpectedName)); +} + +ACPI_STATUS +AtGetNextObjectTypeCommon( + ACPI_STRING ParentName, + ACPI_STRING *StartNames, + ACPI_STRING *ExpectedNames, + UINT32 TypesCount) +{ + ACPI_STATUS Status; + ACPI_HANDLE Parent = NULL; + ACPI_HANDLE Child = NULL; + UINT32 i; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + if (TypesCount != sizeof (LevelTypes0000) / sizeof (ACPI_OBJECT_TYPE)) + { + TestErrors++; + printf ("AtGetNextObjectTypeCommon: different numbers of entities" + "in TypesNames (%d) and LevelTypes0000 (%d)\n", + TypesCount, sizeof (LevelTypes0000) / sizeof (ACPI_OBJECT_TYPE)); + return (AE_ERROR); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ParentName) + { + Status = AcpiGetHandle (NULL, ParentName, &Parent); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("AtGetHandleCommon: AcpiGetHandle(NULL, %s) returned %s\n", + ParentName, AcpiFormatException(Status)); + return (Status); + } + } + + for (i = 0; i < TypesCount; i++) + { + if (LevelTypes0000[i] == ACPI_TYPE_FIELD_UNIT && + AT_SKIP_ACPI_TYPE_FIELD_UNIT_CHECK) + { + printf ("AtGetHandleCommon: ACPI_TYPE_FIELD_UNIT check skipped\n"); + continue; + } + if (StartNames && StartNames[i]) { + Status = AcpiGetHandle (NULL, StartNames[i], &Child); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("AtGetHandleCommon: AcpiGetHandle(NULL, %s) returned %s\n", + StartNames[i], AcpiFormatException(Status)); + return (Status); + } + } + else + { + Child = NULL; + } + Status = AtGetNextObjectCommon( + LevelTypes0000[i], Parent, Child, + (ExpectedNames[i])? AE_OK: AE_NOT_FOUND, ExpectedNames[i], 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0045: + * + */ +ACPI_STATUS +AtNSpaceTest0045(void) +{ + return (AtGetNextObjectTypeCommon( + NULL, NULL, + Level0TypeNames0000, + sizeof (Level0TypeNames0000) / sizeof (ACPI_STRING))); +} + +/* + * ASSERTION 0046: + * + */ +ACPI_STATUS +AtNSpaceTest0046(void) +{ + ACPI_STATUS Status; + + Status = AtGetNextObjectTypeCommon( + "\\D1L0", NULL, + Level1TypeNames0000, + sizeof (Level1TypeNames0000) / sizeof (ACPI_STRING)); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AtGetNextObjectTypeCommon( + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0", NULL, + LevelATypeNames0000, + sizeof (LevelATypeNames0000) / sizeof (ACPI_STRING))); +} + +/* + * ASSERTION 0047: + * + */ +ACPI_STATUS +AtNSpaceTest0047(void) +{ + ACPI_STATUS Status; + UINT32 i; + + for (i = 1; i < 5; i++) + { + Status = AtGetNextObjectTypeCommon( + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0", + LevelATypeNamesArray0000[i - 1], + LevelATypeNamesArray0000[i], + sizeof (Level1TypeNames0000) / sizeof (ACPI_STRING)); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AE_OK); +} + +ACPI_STATUS +AtGetNextObjectException( + ACPI_OBJECT_TYPE Type, + ACPI_STRING ParentName, + ACPI_STRING StartName, + ACPI_STATUS ExpectedStatus, + UINT32 Action) +{ + ACPI_STATUS Status; + ACPI_HANDLE Parent = NULL; + ACPI_HANDLE Child = NULL; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (Action == 1 && ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_LOAD))) + { + return (Status); + } + + if (ParentName) + { + Status = AcpiGetHandle (NULL, ParentName, &Parent); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("AtGetHandleCommon: AcpiGetHandle(NULL, %s) returned %s\n", + ParentName, AcpiFormatException(Status)); + return (Status); + } + } + + if (StartName) { + Status = AcpiGetHandle (NULL, StartName, &Child); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("AtGetHandleCommon: AcpiGetHandle(NULL, %s) returned %s\n", + StartName, AcpiFormatException(Status)); + return (Status); + } + } + else + { + Child = NULL; + } + + Status = AtGetNextObjectCommon( + Type, Parent, Child, + ExpectedStatus, NULL, Action); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0048: + * + */ +ACPI_STATUS +AtNSpaceTest0048(void) +{ + ACPI_STATUS Status; + UINT32 i; + + for (i = 0; i < sizeof (Level1TypeNames0000) / sizeof (ACPI_STRING); i++) + { + Status = AtGetNextObjectException( + LevelTypes0000[i], + "\\AUX2", + NULL, + AE_BAD_PARAMETER, 1); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AE_OK); +} + +static ACPI_STRING SsdtTypeNames0000[] = { + "\\AUX2.INT0", + "\\AUX2.INT0", + "\\AUX2.STR0", + "\\AUX2.BUF0", + "\\AUX2.PAC0", + "\\AUX2.FLU0", + "\\AUX2.DEV0", + "\\AUX2.EVE0", + "\\AUX2.MMM0", + "\\AUX2.MTX0", + "\\AUX2.OPR0", + "\\AUX2.PWR0", + "\\AUX2.CPU0", + "\\AUX2.TZN0", + "\\AUX2.BFL0", +}; + +/* + * ASSERTION 0049: + * + */ +ACPI_STATUS +AtNSpaceTest0049(void) +{ + ACPI_STATUS Status; + UINT32 i; + + for (i = 1; i < sizeof (Level1TypeNames0000) / sizeof (ACPI_STRING); i++) + { + Status = AtGetNextObjectException( + LevelTypes0000[i], + "\\AUX2", + SsdtTypeNames0000[i], + AE_BAD_PARAMETER, 1); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0050: + * + */ +ACPI_STATUS +AtNSpaceTest0050(void) +{ + ACPI_STATUS Status; + UINT32 i; + + for (i = 0; i < sizeof (Level1TypeNames0000) / sizeof (ACPI_STRING); i++) + { + Status = AtGetNextObjectException( + LevelTypes0000[i] + ACPI_TYPE_EXTERNAL_MAX + 1, + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0", + LevelATypeNames0000[i], + AE_BAD_PARAMETER, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0051: + * + */ +ACPI_STATUS +AtNSpaceTest0051(void) +{ + ACPI_STATUS Status; + UINT32 i; + + for (i = 1; i < sizeof (LevelTypes0000) / sizeof (ACPI_OBJECT_TYPE); i++) + { + Status = AtGetNextObjectException( + LevelTypes0000[i], + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0", + LevelATypeLastNames0000[i], + AE_NOT_FOUND, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0052: + * + */ +ACPI_STATUS +AtNSpaceTest0052(void) +{ + ACPI_STATUS Status; + ACPI_STRING ScopePath = PathName; + char *ScopeEndDigit="0123456789ABCDE"; + UINT32 i, n = strlen(ScopeEndDigit); + + for (i = 1; i < sizeof (LevelTypes0000) / sizeof (ACPI_OBJECT_TYPE); i++) + { + if (i >= n) + { + TestErrors++; + printf ("Test Error: too many (%d) > (%d) test scopes\n", + i + 1, n); + return (AE_ERROR); + } + strcpy(ScopePath, "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0"); + PathName[strlen(ScopePath) - 1] = ScopeEndDigit[i]; + Status = AtGetNextObjectException( + LevelTypes0000[i], + ScopePath, + NULL, + AE_NOT_FOUND, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AtGetNextObjectException( + LevelTypes0000[0], /* ANY */ + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DALZ", + NULL, + AE_NOT_FOUND, 0)); +} + +ACPI_STATUS +AtGetNextObjectExceptionTest( + ACPI_OSXF OsxfNum, + AT_ACTD_FLAG ActFlag, + UINT32 ActCode, + UINT32 TFst, + ACPI_STATUS Benchmark, + ACPI_OBJECT_TYPE Type, + ACPI_STRING ParentName, + ACPI_STRING StartName) +{ + ACPI_STATUS Status; + ACPI_OSXF OsxfNumAct; + UINT32 Continue_Cond = 1; + UINT32 CtrlCheck = ALL_STAT; + UINT32 TMax = 10000; + UINT32 i; + ACPI_HANDLE Parent = NULL; + ACPI_HANDLE Child = NULL; + ACPI_HANDLE OutHandle; + + for (i = TFst; (i < TMax) && Continue_Cond; i++) + { + printf ("AtGetNextObjectExceptionTest: i = %d\n", i); + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ParentName) + { + Status = AcpiGetHandle (NULL, ParentName, &Parent); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiGetHandle(NULL, %s) returned %s\n", + ParentName, AcpiFormatException(Status)); + return (Status); + } + } + + if (StartName) { + Status = AcpiGetHandle (NULL, StartName, &Child); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiGetHandle(NULL, %s) returned %s\n", + StartName, AcpiFormatException(Status)); + return (Status); + } + } + else + { + Child = NULL; + } + + /* Empty cash to force actual memory allocations */ + Status = AcpiPurgeCachedObjects(); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiPurgeCachedObjects() failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = OsxfCtrlSet(OsxfNum, i, ActFlag, ActCode); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: OsxfCtrlSet returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetNextObject (Type, Parent, Child, &OutHandle); + + if (!(OsxfNumAct = OsxfCtrlGetActOsxf(OsxfNum, 1))) + { + if (i == TFst) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + } + TestPass++; + Continue_Cond = 0; + } + else + { + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiGetNextObject returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + + Status = AtTerminateCtrlCheck(AE_OK, CtrlCheck); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + if (i >= TMax) + { + TestErrors++; + printf ("Test error: there are test cases remained\n"); + return (AE_ERROR); + } + + return (AE_OK); +} + +/* + * ASSERTION 0053: + */ +ACPI_STATUS +AtNSpaceTest0053(void) +{ + ACPI_STATUS Status; + UINT32 i; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + for (i = 0; i < sizeof (LevelTypes0000) / sizeof (ACPI_OBJECT_TYPE); i++) + { + Status = AtGetNextObjectExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY, LevelTypes0000[i], + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0", + LevelATypeNames0000[i]); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + for (i = 0; i < sizeof (LevelTypes0000) / sizeof (ACPI_OBJECT_TYPE); i++) + { + Status = AtGetNextObjectExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY, LevelTypes0000[i], + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0", + LevelATypeNames0000[i]); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AE_OK); +} + +ACPI_STATUS +AtGetParentCommon( + ACPI_STRING ObjName, + ACPI_STRING Parent, + ACPI_STATUS ExpectedStatus, + UINT32 CheckAction) +{ + ACPI_STATUS Status; + ACPI_HANDLE ObjHandle; + ACPI_HANDLE OutHandle, *OutHandlePointer = &OutHandle; + + + Status = AcpiGetHandle (NULL, ObjName, &ObjHandle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("AtGetParentCommon: AcpiGetHandle(NULL, %s) returned %s\n", + ObjName, AcpiFormatException(Status)); + return (Status); + } + + switch (CheckAction) + { + case 1: + /* Make Device handle invalid by unloading SSDT table*/ + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_UNLOAD))) + { + return (Status); + } + break; + case 2: + OutHandlePointer = NULL; + break; + } + + Status = AcpiGetParent (ObjHandle, OutHandlePointer); + + if (Status != ExpectedStatus) + { + AapiErrors++; + printf ("AtGetParentCommon: AcpiGetParent() returned %s," + " expected %s\n", + AcpiFormatException(Status), + AcpiFormatException(ExpectedStatus)); + return (AE_ERROR); + } + else if (Status != AE_OK) + { + return (AE_OK); + } + + return (AtCheckName(OutHandle, Parent)); +} + +UINT32 +AtCompareConsts( + UINT32 Value1, + UINT32 Value2) +{ + return (Value1 == Value2); +} + +ACPI_STATUS +AtGetParentRawCommon( + ACPI_STATUS ExpectedStatus, + UINT32 CheckAction) +{ + ACPI_STATUS Status; + UINT32 NamesCount = sizeof (PathNames0000) / + sizeof (ACPI_STRING) / 2; + UINT32 ValuesCount = sizeof (Values0000) / + sizeof (UINT32); + ACPI_STRING Parent; + ACPI_STRING Child; + UINT32 i; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + if (!AtCompareConsts(NamesCount, ValuesCount)) + { + printf ("AtGetParentTypeCommon: different numbers of entities" + "in PathNames0000 (%d) and Values0000 (%d)\n", + NamesCount, ValuesCount); + TestErrors++; + return (AE_ERROR); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + for (i = 1; i < NamesCount; i++) + { + Parent = PathNames0000[2 * i]; + Child = PathName; + strcpy(Child, PathNames0000[2 * i]); + if (strlen(Child) > 1) + { + strcat(Child, "."); + } + strcat(Child, PathNames0000[2 * i + 1]); + + Status = AtGetParentCommon(Child, Parent, + ExpectedStatus, CheckAction); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + Parent = "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0"; + for (i = 1; i < sizeof (LevelTypes0000) / sizeof (ACPI_OBJECT_TYPE); i++) + { + Status = AtGetParentCommon(LevelATypeNames0000[i], Parent, + ExpectedStatus, CheckAction); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + Parent = "\\D1L0"; + for (i = 1; i < sizeof (LevelTypes0000) / sizeof (ACPI_OBJECT_TYPE); i++) + { + Status = AtGetParentCommon(Level1TypeNames0000[i], Parent, + ExpectedStatus, CheckAction); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0054: + * + */ +ACPI_STATUS +AtNSpaceTest0054(void) +{ + return (AtGetParentRawCommon(AE_OK, 0)); +} + +/* + * ASSERTION 0055: + * + */ +ACPI_STATUS +AtNSpaceTest0055(void) +{ + ACPI_STATUS Status; + ACPI_STRING Parent = "\\AUX2"; + UINT32 i; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + for (i = 1; i < sizeof (LevelTypes0000) / sizeof (ACPI_OBJECT_TYPE); i++) + { + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_LOAD))) + { + return (Status); + } + + Status = AtGetParentCommon(SsdtTypeNames0000[i], Parent, + AE_BAD_PARAMETER, 1); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtTerminateCtrlCheck(AE_OK, ALL_STAT); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0056: + * + */ +ACPI_STATUS +AtNSpaceTest0056(void) +{ + return (AtGetParentRawCommon(AE_BAD_PARAMETER, 2)); +} + +/* + * ASSERTION 0057: + * + */ +ACPI_STATUS +AtNSpaceTest0057(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtGetParentCommon("\\", NULL, AE_NULL_ENTRY, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +ACPI_STATUS +AtGetParentExceptionTest( + ACPI_OSXF OsxfNum, + AT_ACTD_FLAG ActFlag, + UINT32 ActCode, + UINT32 TFst, + ACPI_STATUS Benchmark, + ACPI_STRING ObjName) +{ + ACPI_STATUS Status; + ACPI_OSXF OsxfNumAct; + UINT32 Continue_Cond = 1; + UINT32 CtrlCheck = ALL_STAT; + UINT32 TMax = 10000; + UINT32 i; + ACPI_HANDLE ObjHandle; + ACPI_HANDLE OutHandle; + + for (i = TFst; (i < TMax) && Continue_Cond; i++) + { + printf ("AtGetParentExceptionTest: i = %d\n", i); + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, ObjName, &ObjHandle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiGetHandle(NULL, %s) returned %s\n", + ObjName, AcpiFormatException(Status)); + return (Status); + } + + /* Empty cash to force actual memory allocations */ + Status = AcpiPurgeCachedObjects(); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiPurgeCachedObjects() failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = OsxfCtrlSet(OsxfNum, i, ActFlag, ActCode); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: OsxfCtrlSet returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetParent (ObjHandle, &OutHandle); + + if (!(OsxfNumAct = OsxfCtrlGetActOsxf(OsxfNum, 1))) + { + if (i == TFst) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + } + TestPass++; + Continue_Cond = 0; + } + else + { + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiGetHandle returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + + Status = AtTerminateCtrlCheck(AE_OK, CtrlCheck); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + if (i >= TMax) + { + TestErrors++; + printf ("Test error: there are test cases remained\n"); + return (AE_ERROR); + } + + return (AE_OK); +} + +/* + * ASSERTION 0058: + */ +ACPI_STATUS +AtNSpaceTest0058(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + Status = AtGetParentExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY, + "\\D1L1.D2L0.D3L0.D4L_.D5L0.L4__"); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + return (AtGetParentExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY, + "\\D1L1.D2L0.D3L0.D4L_.D5L0.L4__")); +} + +ACPI_STATUS +AtGetTypeCommon( + ACPI_STRING ObjName, + ACPI_OBJECT_TYPE ExpectedType, + ACPI_STATUS ExpectedStatus, + UINT32 CheckAction) +{ + ACPI_STATUS Status; + ACPI_HANDLE ObjHandle; + ACPI_OBJECT_TYPE RetType = 0, *RetTypePointer = &RetType; + + + Status = AcpiGetHandle (NULL, ObjName, &ObjHandle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("AtGetTypeCommon: AcpiGetHandle(NULL, %s) returned %s\n", + ObjName, AcpiFormatException(Status)); + return (Status); + } + + switch (CheckAction) + { + case 1: + /* Make Device handle invalid by unloading SSDT table*/ + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_UNLOAD))) + { + return (Status); + } + break; + case 2: + RetTypePointer = NULL; + break; + } + + Status = AcpiGetType (ObjHandle, RetTypePointer); + + if (Status != ExpectedStatus) + { + AapiErrors++; + printf ("AtGetTypeCommon: AcpiGetType() returned %s," + " expected %s\n", + AcpiFormatException(Status), + AcpiFormatException(ExpectedStatus)); + return (AE_ERROR); + } + else if (Status != AE_OK) + { + return (AE_OK); + } + + if (RetType != ExpectedType) + { + AapiErrors++; + printf ("AtGetTypeCommon: AcpiGetType() returned Type 0x%x," + " expected 0x%x\n", + RetType, ExpectedType); + return (AE_ERROR); + } + + return (AE_OK); +} + +ACPI_STATUS +AtGetTypeRawCommon( + ACPI_STATUS ExpectedStatus, + UINT32 CheckAction) +{ + ACPI_STATUS Status; + UINT32 i; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 1; i < sizeof (LevelTypes0000) / sizeof (ACPI_OBJECT_TYPE); i++) + { + if (LevelTypes0000[i] == ACPI_TYPE_FIELD_UNIT && + AT_SKIP_ACPI_TYPE_FIELD_UNIT_CHECK) + { + printf ("AtGetTypeRawCommon: ACPI_TYPE_FIELD_UNIT check skipped\n"); + continue; + } + Status = AtGetTypeCommon(LevelATypeNames0000[i], LevelTypes0000[i], + ExpectedStatus, CheckAction); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + for (i = 1; i < sizeof (LevelTypes0000) / sizeof (ACPI_OBJECT_TYPE); i++) + { + if (LevelTypes0000[i] == ACPI_TYPE_FIELD_UNIT && + AT_SKIP_ACPI_TYPE_FIELD_UNIT_CHECK) + { + printf ("AtGetTypeRawCommon: ACPI_TYPE_FIELD_UNIT check skipped\n"); + continue; + } + Status = AtGetTypeCommon(Level1TypeNames0000[i], LevelTypes0000[i], + ExpectedStatus, CheckAction); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0059: + * + */ +ACPI_STATUS +AtNSpaceTest0059(void) +{ + return (AtGetTypeRawCommon(AE_OK, 0)); +} + +/* + * ASSERTION 0060: + * + */ +ACPI_STATUS +AtNSpaceTest0060(void) +{ + ACPI_STATUS Status; + UINT32 i; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + for (i = 1; i < sizeof (LevelTypes0000) / sizeof (ACPI_OBJECT_TYPE); i++) + { + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_LOAD))) + { + return (Status); + } + + Status = AtGetTypeCommon(SsdtTypeNames0000[i], LevelTypes0000[i], + AE_BAD_PARAMETER, 1); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtTerminateCtrlCheck(AE_OK, ALL_STAT); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0061: + * + */ +ACPI_STATUS +AtNSpaceTest0061(void) +{ + return (AtGetTypeRawCommon(AE_BAD_PARAMETER, 2)); +} + +ACPI_STATUS +AtGetTypeExceptionTest( + ACPI_OSXF OsxfNum, + AT_ACTD_FLAG ActFlag, + UINT32 ActCode, + UINT32 TFst, + ACPI_STATUS Benchmark, + ACPI_STRING ObjName) +{ + ACPI_STATUS Status; + ACPI_OSXF OsxfNumAct; + UINT32 Continue_Cond = 1; + UINT32 CtrlCheck = ALL_STAT; + UINT32 TMax = 10000; + UINT32 i; + ACPI_HANDLE ObjHandle; + ACPI_OBJECT_TYPE OutType; + + for (i = TFst; (i < TMax) && Continue_Cond; i++) + { + printf ("AtResourceExceptionTest: i = %d\n", i); + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, ObjName, &ObjHandle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiGetHandle(NULL, %s) returned %s\n", + ObjName, AcpiFormatException(Status)); + return (Status); + } + + /* Empty cash to force actual memory allocations */ + Status = AcpiPurgeCachedObjects(); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiPurgeCachedObjects() failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = OsxfCtrlSet(OsxfNum, i, ActFlag, ActCode); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: OsxfCtrlSet returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetType (ObjHandle, &OutType); + + if (!(OsxfNumAct = OsxfCtrlGetActOsxf(OsxfNum, 1))) + { + if (i == TFst) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + } + TestPass++; + Continue_Cond = 0; + } + else + { + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiGetHandle returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + + Status = AtTerminateCtrlCheck(AE_OK, CtrlCheck); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + if (i >= TMax) + { + TestErrors++; + printf ("Test error: there are test cases remained\n"); + return (AE_ERROR); + } + + return (AE_OK); +} + +/* + * ASSERTION 0062: + */ +ACPI_STATUS +AtNSpaceTest0062(void) +{ + ACPI_STATUS Status; + UINT32 i; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + for (i = 1; i < sizeof (LevelTypes0000) / sizeof (ACPI_OBJECT_TYPE); i++) + { + Status = AtGetTypeExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY, + LevelATypeNames0000[i]); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + for (i = 1; i < sizeof (LevelTypes0000) / sizeof (ACPI_OBJECT_TYPE); i++) + { + Status = AtGetTypeExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY, + LevelATypeNames0000[i]); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + return (AE_OK); +} + +/******************************************************************************* + * + * FUNCTION: AtCheckHandlePathMapping + * + * PARAMETERS: Handle - Checked Object Parent's ACPI handle + * Pathname - Checked Object ACPI Path + * Value - Benchmark value + * + * RETURN: Status + * + * DESCRIPTION: Check that interpretation of the (Handle, Pathname) pair + * of parameters in the AcpiGetHandle is aligned with the AcpiEvaluateObject + * routine behavior. + * + ******************************************************************************/ + +static ACPI_STATUS +AtCheckHandlePathMapping( + ACPI_HANDLE Handle, + ACPI_STRING Pathname, + ACPI_INTEGER Value) +{ + ACPI_STATUS Status; + ACPI_BUFFER Results; + ACPI_OBJECT Obj, *Object = &Obj; + + /* Initialize the return buffer structure */ + Results.Length = sizeof (Obj); + Results.Pointer = Object; + memset(Results.Pointer, 0, Results.Length); + + Status = AcpiEvaluateObject (Handle, Pathname, NULL, &Results); + + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiEvaluateObject(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + if (Obj.Type != 1) + { + AapiErrors++; + printf ("API Error: Type of %s (%d) is not Integer (1)\n", + Pathname, Obj.Type); + Status = AE_ERROR; + } + else if (Obj.Integer.Value != Value) + { + AapiErrors++; +#ifdef _MSC_VER + printf ("API Error: Value of %s is 0x%I64x instead of expected 0x%I64x\n", + Pathname, Obj.Integer.Value, Value); +#else + printf ("API Error: Value of %s is 0x%llx instead of expected 0x%llx\n", + Pathname, Obj.Integer.Value, Value); +#endif + Status = AE_ERROR; + } + + return (Status); +} + +ACPI_STATUS +AtGetHandleCommon( + ACPI_STRING ScopePath, + ACPI_STRING ObjName, + ACPI_STATUS ExpectedStatus, + UINT32 ExpectedValue, + UINT32 CheckAction) +{ + ACPI_STATUS Status; + ACPI_STRING Name = ObjName; + ACPI_HANDLE ScopeHandle = NULL; + ACPI_HANDLE OutHandle, *OutHandlePointer = &OutHandle; + + if (ScopePath && CheckAction != 6) + { + Status = AcpiGetHandle (NULL, ScopePath, &ScopeHandle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("AtGetHandleCommon: AcpiGetHandle(NULL, %s) returned %s\n", + ScopePath, AcpiFormatException(Status)); + return (Status); + } + } + + switch (CheckAction) + { + case 1: + Name = PathName; + strcpy(Name, ObjName); + Name[strlen(Name) - 1] = '&'; + break; + case 2: + Name = PathName; + strcpy(Name, ObjName); + Name[strlen(Name) + 1] = '\0'; + Name[strlen(Name)] = '_'; + break; + case 8: + Name = PathName; + strcpy(Name, ObjName); + Name[strlen(Name) - 1] = '\0'; + break; + case 3: + Name = NULL; + break; + case 4: + if (ScopeHandle == NULL) + { + TestErrors++; + printf ("AtGetHandleCommon: ScopeHandle == NULL\n"); + return (AE_ERROR); + } + ScopeHandle = NULL; + break; + case 5: + OutHandlePointer = NULL; + break; + case 6: + /* Make namespace having not been loaded by Subsystem shutdown */ + Status = AcpiTerminate(); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("AtGetHandleCommon: AcpiTerminate() failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + Name = PathName; + strcpy(Name, ScopePath); + strcat(Name, "."); + strcat(Name, ObjName); + break; + case 7: + /* Make Device handle invalid by unloading SSDT table*/ + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_UNLOAD))) + { + return (Status); + } + break; + } + + Status = AcpiGetHandle (ScopeHandle, Name, OutHandlePointer); + + if (Status != ExpectedStatus) + { + AapiErrors++; + printf ("AtGetHandleCommon: AcpiGetHandle(%s) returned %s," + " expected %s\n", + Name, + AcpiFormatException(Status), + AcpiFormatException(ExpectedStatus)); + return (AE_ERROR); + } + else if (Status != AE_OK) + { + return (AE_OK); + } + + Status = AtCheckInteger(OutHandle, Name, ExpectedValue); + if (ACPI_FAILURE(Status)) { + return (Status); + } + + /* Check that interpretation of (Handle, Name) pair of parameters + * is aligned with AcpiEvaluateObject behavior + */ + return (AtCheckHandlePathMapping(ScopeHandle, Name, ExpectedValue)); +} + +ACPI_STATUS +AtGetHandleTypeCommon(UINT32 AbsolutePathFlag) +{ + ACPI_STATUS Status; + ACPI_STATUS EXpectedStatus; + UINT32 NamesCount = sizeof (PathNames0000) / + sizeof (ACPI_STRING) / 2; + UINT32 ValuesCount = sizeof (Values0000) / + sizeof (UINT32); + ACPI_STRING Parent; + ACPI_STRING Child; + UINT32 i; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (!AtCompareConsts(NamesCount, ValuesCount)) + { + TestErrors++; + printf ("AtGetHandleTypeCommon: different numbers of entities" + "in PathNames0000 (%d) and Values0000 (%d)\n", + NamesCount, ValuesCount); + return (AE_ERROR); + } + + for (i = 1; i < NamesCount; i++) + { + strcpy(PathName, PathNames0000[2 * i]); + if (strlen(PathName) > 1) + { + strcat(PathName, "."); + } + strcat(PathName, PathNames0000[2 * i + 1]); + if (AbsolutePathFlag) + { + Parent = NULL; + Child = PathName; + } + else + { + Parent = PathNames0000[2 * i]; + Child = PathNames0000[2 * i + 1]; + } + Status = AtGetHandleCommon( + Parent, Child, + AE_OK, Values0000[i], 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (AbsolutePathFlag) + { + EXpectedStatus = (AT_ABS_PATH_WOUT_SLASH)? AE_OK: AE_BAD_PARAMETER; + Status = AtGetHandleCommon( + Parent, Child + 1, + EXpectedStatus, Values0000[i], 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + /* Not NULL Parent and Absolute Path */ + if (!AbsolutePathFlag) + { + Status = AtGetHandleCommon( + Parent, PathName, + AE_OK, Values0000[i], 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0063: + * + */ +ACPI_STATUS +AtNSpaceTest0063(void) +{ + return (AtGetHandleTypeCommon(1)); +} + +/* + * ASSERTION 0064: + * + */ +ACPI_STATUS +AtNSpaceTest0064(void) +{ + return (AtGetHandleTypeCommon(0)); +} + +ACPI_STATUS +AtGetHandleExceptionCommon( + UINT32 CheckAction, + ACPI_STATUS ExpectedStatus) +{ + ACPI_STATUS Status; + UINT32 ExpectedValue = 0x154; /* D5L0.L4 */ + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (CheckAction == 4) { + ExpectedValue = 4; /* value of \L4__ */ + } + Status = AtGetHandleCommon( + "\\D1L1.D2L0.D3L0.D4L_.D5L0", "L4__", + ExpectedStatus, ExpectedValue, CheckAction); + + if (ACPI_FAILURE(Status) || CheckAction == 6) + { + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0065: + * + */ +ACPI_STATUS +AtNSpaceTest0065(void) +{ + return (AtGetHandleExceptionCommon(1, AE_BAD_CHARACTER)); +} + +/* + * ASSERTION 0066: + * + */ +ACPI_STATUS +AtNSpaceTest0066(void) +{ + return (AtGetHandleExceptionCommon(2, AE_BAD_PATHNAME)); +} + +/* + * ASSERTION 0067: + * + */ +ACPI_STATUS +AtNSpaceTest0067(void) +{ + return (AtGetHandleExceptionCommon(3, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0068: + * + */ +ACPI_STATUS +AtNSpaceTest0068(void) +{ + return (AtGetHandleExceptionCommon(4, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0069: + * + */ +ACPI_STATUS +AtNSpaceTest0069(void) +{ + return (AtGetHandleExceptionCommon(5, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0070: + * + */ +ACPI_STATUS +AtNSpaceTest0070(void) +{ + ACPI_STATUS Status; + ACPI_HANDLE OutHandle; + + Status = AtSubsystemInit(AAPITS_INITIALIZE_SS, 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, "\\D1L1.D2L0.D3L0.D4L_.D5L0.L4__", &OutHandle); + + if (Status != AE_NO_NAMESPACE) + { + AapiErrors++; + printf ("AtGetHandleCommon: AcpiGetHandle() returned %s," + " expected %s\n", + AcpiFormatException(Status), + AcpiFormatException(AE_NO_NAMESPACE)); + return (AE_ERROR); + } + + return (AE_OK); +/* + return (AtGetHandleExceptionCommon(6, AE_NO_NAMESPACE)); +*/ +} + +/* + * ASSERTION 0071: + * + */ +ACPI_STATUS +AtNSpaceTest0071(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtGetHandleCommon( + "\\D1L1.D2L0.D3L0.D4L_.D5L0", "L5__", + AE_NOT_FOUND, 0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtGetHandleCommon( + NULL, "\\D1L2.D2L0.D3L0.D4L_.D5L0.L4__", + AE_NOT_FOUND, 0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtGetHandleCommon( + NULL, "\\D1L1.D2L1.D3L1.D4L_.D5L0.L4__", + AE_NOT_FOUND, 0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +ACPI_STATUS +AtGetHandleExceptionTest( + ACPI_OSXF OsxfNum, + AT_ACTD_FLAG ActFlag, + UINT32 ActCode, + UINT32 TFst, + ACPI_STATUS Benchmark, + ACPI_STRING ScopePath, + ACPI_STRING ObjName) +{ + ACPI_STATUS Status; + ACPI_OSXF OsxfNumAct; + UINT32 Continue_Cond = 1; + UINT32 CtrlCheck = ALL_STAT; + UINT32 TMax = 10000; + UINT32 i; + ACPI_STRING Name = ObjName; + ACPI_HANDLE ScopeHandle; + ACPI_HANDLE OutHandle; + + for (i = TFst; (i < TMax) && Continue_Cond; i++) + { + printf ("AtResourceExceptionTest: i = %d\n", i); + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ScopePath) + { + Status = AcpiGetHandle (NULL, ScopePath, &ScopeHandle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiGetHandle(NULL, %s)" + " returned %s\n", + ScopePath, AcpiFormatException(Status)); + return (Status); + } + } + else + { + ScopeHandle = NULL; + } + + Status = OsxfCtrlSet(OsxfNum, i, ActFlag, ActCode); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: OsxfCtrlSet returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetHandle (ScopeHandle, Name, &OutHandle); + + if (!(OsxfNumAct = OsxfCtrlGetActOsxf(OsxfNum, 1))) + { + if (i == TFst) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + } + TestPass++; + Continue_Cond = 0; + } + else + { + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiGetHandle returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + + Status = AtTerminateCtrlCheck(AE_OK, CtrlCheck); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + if (i >= TMax) + { + TestErrors++; + printf ("Test error: there are test cases remained\n"); + return (AE_ERROR); + } + + return (AE_OK); +} + +/* + * ASSERTION 0072: + */ +ACPI_STATUS +AtNSpaceTest0072(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + + Status = AtGetHandleExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY, + "\\D1L1.D2L0.D3L0.D4L_.D5L0", "L4__"); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtGetHandleExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY, + NULL, "\\D1L1.D2L0.D3L0.D4L_.D5L0.L4__"); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + + Status = AtGetHandleExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY, + "\\D1L1.D2L0.D3L0.D4L_.D5L0", "L4__"); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AtGetHandleExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY, + NULL, "\\D1L1.D2L0.D3L0.D4L_.D5L0.L4__")); +} + +/* + * ASSERTION 0073: + */ +ACPI_STATUS +AtNSpaceTest0073(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtGetHandleCommon( + "\\", "^N0L0", + AE_NOT_FOUND, 0, 0); + + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +ACPI_STATUS +AtGetNameCommon( + ACPI_STRING ScopePath, + ACPI_STRING Name, + UINT32 NameType, + ACPI_SIZE AllocLength, + ACPI_STATUS ExpectedStatus, + UINT32 CheckAction) +{ + ACPI_STATUS Status; + ACPI_HANDLE ScopeHandle = NULL; + ACPI_HANDLE OutHandle; + ACPI_BUFFER OutName, *OutNamePointer = &OutName; + UINT32 ScopeLength = strlen(ScopePath); + UINT32 CheckLength = strlen(Name); + ACPI_STRING CheckName; + + if (ScopeLength) + { + Status = AcpiGetHandle (NULL, ScopePath, &ScopeHandle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("AtGetNameCommon: AcpiGetHandle(NULL, %s)" + " returned %s\n", + ScopePath, AcpiFormatException(Status)); + return (Status); + } + } + + Status = AcpiGetHandle (ScopeHandle, Name, &OutHandle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("AtGetNameCommon: AcpiGetHandle(Scope, \"%s\")" + "returned %s\n", + Name, AcpiFormatException(Status)); + return (Status); + } + + OutName.Length = AllocLength; + if (AllocLength == ACPI_ALLOCATE_BUFFER) + { + OutName.Pointer = NULL; + } + else + { + OutName.Pointer = AcpiOsAllocate(OutName.Length); + if (OutName.Pointer == NULL) + { + AapiErrors++; + printf ("AtGetNameCommon: ReturnBuffer(%d) returned NULL\n", + (UINT32)OutName.Length); + return (AE_ERROR); + } + } + + if (NameType == ACPI_FULL_PATHNAME) + { + CheckLength += (ScopeLength + (ScopeLength > 1)); + } + + switch (CheckAction) + { + case 1: + /* Make Device handle invalid by unloading SSDT table*/ + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_UNLOAD))) + { + return (Status); + } + case 2: + OutNamePointer = NULL; + break; + case 3: + OutName.Pointer = NULL; + OutName.Length = 1; + break; + case 4: + OutName.Pointer = OutNamePointer; + OutName.Length = 1; + break; + case 5: + /* Make namespace having not been loaded by Subsystem shutdown */ + Status = AcpiTerminate(); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("AtGetNameCommon: AcpiTerminate() failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + break; + } + + Status = AcpiGetName (OutHandle, NameType, OutNamePointer); + + if (Status != ExpectedStatus) + { + AapiErrors++; + printf ("AtGetNameCommon: AcpiGetName(0x%x) returned %s," + " expected %s\n", NameType, + AcpiFormatException(Status), + AcpiFormatException(ExpectedStatus)); + return (AE_ERROR); + } + else if (Status != AE_OK) + { + if (!(AllocLength == ACPI_ALLOCATE_BUFFER)) + { + AcpiOsFree(OutName.Pointer); + } + if (CheckAction == 4 && + OutName.Length != CheckLength + 1) + { + AapiErrors++; + printf ("AtGetNameCommon: AcpiGetName() returned invalid" + " OutName.Length %d, expected %d\n", + (UINT32)OutName.Length, CheckLength + 1); + return (AE_ERROR); + } + + return (AE_OK); + } + else if ((AllocLength == ACPI_ALLOCATE_BUFFER && + (strlen(OutName.Pointer) + 1) != OutName.Length) || + OutName.Length != CheckLength + 1) + { + AapiErrors++; + printf ("AtGetNameCommon: AcpiGetName(0x%x) returned invalid" + " OutName, strlen %d, OutName.Length %d\n", NameType, + (UINT32)strlen(OutName.Pointer), (UINT32)OutName.Length); + } + else + { + CheckName = OutName.Pointer; + + if (NameType == ACPI_FULL_PATHNAME) + { + if (strncmp(CheckName, ScopePath, ScopeLength)) + { + AapiErrors++; + printf ("AtGetNameCommon: AcpiGetName() returned Name %s," + " expected %s\n", + CheckName, ScopePath); + } + CheckName += ScopeLength; + if (ScopeLength > 1) + { + if (*CheckName != '.') + { + AapiErrors++; + printf ("AtGetNameCommon: AcpiGetName() returned Name" + " delimeter '%c', expected '.'\n", + *CheckName); + } + CheckName += 1; + } + } + + if (strcmp(CheckName, Name)) + { + AapiErrors++; + printf ("AtGetNameCommon: AcpiGetName() returned Name '%s'," + " expected '%s'\n", + CheckName, Name); + } + } + AcpiOsFree(OutName.Pointer); + + return (AE_OK); +} + +ACPI_STATUS +AtGetNameTypeCommon(UINT32 NameType) +{ + ACPI_STATUS Status; + UINT32 NamesCount; + UINT32 i; + UINT32 BufferLength; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + NamesCount = sizeof (PathNames0000) / sizeof (ACPI_STRING) / 2; + + for (i = 0; i < NamesCount; i++) + { + Status = AtGetNameCommon( + PathNames0000[2 * i], + PathNames0000[2 * i + 1], + NameType, + ACPI_ALLOCATE_BUFFER, + AE_OK, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + BufferLength = strlen(PathNames0000[2 * i + 1]) + 1; + if (NameType == ACPI_FULL_PATHNAME) + { + BufferLength += (strlen(PathNames0000[2 * i]) + + (strlen(PathNames0000[2 * i]) > 1)); + } + + Status = AtGetNameCommon( + PathNames0000[2 * i], + PathNames0000[2 * i + 1], + NameType, + BufferLength, + AE_OK, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + if (NameType == ACPI_FULL_PATHNAME) + { + Status = AtGetNameCommon( + "", "\\", + NameType, + 5, + AE_OK, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0074: + * + */ +ACPI_STATUS +AtNSpaceTest0074(void) +{ + return (AtGetNameTypeCommon(ACPI_FULL_PATHNAME)); +} + +/* + * ASSERTION 0075: + * + */ +ACPI_STATUS +AtNSpaceTest0075(void) +{ + return (AtGetNameTypeCommon(ACPI_SINGLE_NAME)); +} + +ACPI_STATUS +AtGetNameExceptionCommon( + UINT32 CheckAction, + ACPI_STATUS ExpectedStatus) +{ + ACPI_STATUS Status; + ACPI_STRING ScopePath = "\\D1L1.D2L0.D3L0.D4L_.D5L0"; + ACPI_STRING Name = "L4__"; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (CheckAction == 1) + { + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_LOAD))) + { + return (Status); + } + ScopePath = "\\AUX2"; + Name = "SS00"; + } + + Status = AtGetNameCommon( + ScopePath, Name, + ACPI_FULL_PATHNAME, + ACPI_ALLOCATE_BUFFER, + ExpectedStatus, CheckAction); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0076: + * + */ +ACPI_STATUS +AtNSpaceTest0076(void) +{ + return (AtGetNameExceptionCommon(1, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0077: + * + */ +ACPI_STATUS +AtNSpaceTest0077(void) +{ + return (AtGetNameExceptionCommon(2, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0078: + * + */ +ACPI_STATUS +AtNSpaceTest0078(void) +{ + return (AtGetNameExceptionCommon(3, AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0079: + * + */ +ACPI_STATUS +AtNSpaceTest0079(void) +{ + return (AtGetNameExceptionCommon(4, AE_BUFFER_OVERFLOW)); +} + +/* + * ASSERTION 0080: + * + */ +ACPI_STATUS +AtNSpaceTest0080(void) +{ + return (AtGetNameExceptionCommon(5, AE_NO_NAMESPACE)); +} + +ACPI_STATUS +AtGetNameExceptionTest( + ACPI_OSXF OsxfNum, + AT_ACTD_FLAG ActFlag, + UINT32 ActCode, + UINT32 TFst, + ACPI_STATUS Benchmark, + ACPI_STRING ScopePath, + ACPI_STRING Name, + UINT32 NameType, + ACPI_SIZE AllocLength) +{ + ACPI_STATUS Status; + ACPI_OSXF OsxfNumAct; + UINT32 Continue_Cond = 1; + UINT32 TMax = 10000; + UINT32 i; + ACPI_HANDLE ScopeHandle; + ACPI_HANDLE OutHandle; + ACPI_BUFFER OutName, *OutNamePointer = &OutName; + + + for (i = TFst; (i < TMax) && Continue_Cond; i++) + { + printf ("AtGetNameExceptionTest: i = %d\n", i); + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, ScopePath, &ScopeHandle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiGetHandle(NULL, %s) returned %s\n", + ScopePath, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetHandle (ScopeHandle, Name, &OutHandle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiGetHandle(Scope, %s) returned %s\n", + Name, AcpiFormatException(Status)); + return (Status); + } + + OutName.Length = AllocLength; + if (AllocLength == ACPI_ALLOCATE_BUFFER) + { + OutName.Pointer = NULL; + } + else + { + OutName.Pointer = AcpiOsAllocate(OutName.Length); + if (OutName.Pointer == NULL) + { + AapiErrors++; + printf ("API Error: AcpiOsAllocate(%d) returned NULL\n", + OutName.Length); + return (AE_ERROR); + } + } + + Status = OsxfCtrlSet(OsxfNum, i, ActFlag, ActCode); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: OsxfCtrlSet returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + + Status = AcpiGetName (OutHandle, NameType, OutNamePointer); + + if (!(AllocLength == ACPI_ALLOCATE_BUFFER) || + Status == AE_OK) + { + AcpiOsFree(OutName.Pointer); + } + + if (!(OsxfNumAct = OsxfCtrlGetActOsxf(OsxfNum, 1))) + { + if (i == TFst) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + } + TestPass++; + Continue_Cond = 0; + } + else + { + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiGetName returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + + Status = AtTerminateCtrlCheck(AE_OK, ALL_STAT); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + if (i >= TMax) + { + TestErrors++; + printf ("Test error: there are test cases remained\n"); + return (AE_ERROR); + } + + return (AE_OK); +} + +/* + * ASSERTION 0081: + */ +ACPI_STATUS +AtNSpaceTest0081(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + + Status = AtGetNameExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY, + "\\D1L1.D2L0.D3L0.D4L_.D5L0", "L4__", + ACPI_FULL_PATHNAME, + ACPI_ALLOCATE_BUFFER); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtGetNameExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY, + "\\D1L1.D2L0.D3L0.D4L_.D5L0", "L4__", + ACPI_FULL_PATHNAME, + 31); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + + Status = AtGetNameExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY, + "\\D1L1.D2L0.D3L0.D4L_.D5L0", "L4__", + ACPI_FULL_PATHNAME, + ACPI_ALLOCATE_BUFFER); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AtGetNameExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY, + "\\D1L1.D2L0.D3L0.D4L_.D5L0", "L4__", + ACPI_FULL_PATHNAME, + 31)); +} + +static UINT32 GetDevicesHandlerCounter; +static UINT32 GetDevicesHandlerReturnValue; +static AT_WALK_HANDLER_CONTEXT GetDevicesHandlerContext; + +ACPI_STATUS +AtGetDevicesHandler ( + ACPI_HANDLE ObjHandle, + UINT32 NestingLevel, + void *Context, + void **ReturnValue) +{ + ACPI_STATUS Status; + ACPI_BUFFER OutName = {AT_PATHNAME_MAX, PathName}; + UINT32 i; + + ++GetDevicesHandlerCounter; + + Status = AcpiGetName (ObjHandle, ACPI_FULL_PATHNAME, &OutName); + + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiGetName(0x%p) returned %s\n", + ObjHandle, AcpiFormatException(Status)); + strcpy(PathName, "????"); + } +/* + printf ("AtGetDevicesHandler %.2d: (%s) ObjHandle %p, Level %d, Context %p\n", + GetDevicesHandlerCounter, PathName, ObjHandle, NestingLevel, Context); +*/ + if (Context != &GetDevicesHandlerContext) { + AapiErrors++; + printf ("AtGetDevicesHandler: Context (%p) !=" + " &GetDevicesHandlerContext (%p)\n", + Context, &GetDevicesHandlerContext); + } + + if (*ReturnValue != &GetDevicesHandlerReturnValue) { + AapiErrors++; + printf ("AtGetDevicesHandler: *ReturnValue (%p) !=" + " &GetDevicesHandlerReturnValue (%p)\n", + *ReturnValue, &GetDevicesHandlerReturnValue); + } + + for (i = 0; i < GetDevicesHandlerContext.InfoCounter; i++) + { + if (strcmp(GetDevicesHandlerContext.WalkInfo[i].PathName, PathName) == 0) + { + GetDevicesHandlerContext.WalkInfo[i].WalkCount++; + GetDevicesHandlerContext.WalkInfo[i].XfNestingLevel = NestingLevel; + GetDevicesHandlerContext.WalkInfo[i].HandlerCount = GetDevicesHandlerCounter; + break; + } + } + + if (GetDevicesHandlerCounter == GetDevicesHandlerContext.ActionCounter) { + return (GetDevicesHandlerContext.RetVal); + } + + return (AE_OK); +} + +ACPI_STATUS +AtGetDevicesCommon( + char *HID, + ACPI_STATUS ExpectedStatus, + UINT32 GetDevicesHandlerRet, + UINT32 ActionCounter, + UINT32 ExpectedCounter, + AT_WALK_INFO *DeviceWalkInfo) +{ + ACPI_STATUS Status; + UINT32 *ReturnValue = &GetDevicesHandlerReturnValue; + UINT32 i; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + GetDevicesHandlerCounter = 0; + GetDevicesHandlerContext.RetVal = GetDevicesHandlerRet; + GetDevicesHandlerContext.InfoCounter = ExpectedCounter; + GetDevicesHandlerContext.WalkInfo = DeviceWalkInfo; + GetDevicesHandlerContext.ActionCounter = ActionCounter; + + Status = AcpiGetDevices ( + HID, AtGetDevicesHandler, + &GetDevicesHandlerContext, (void **)&ReturnValue); + if (Status != ExpectedStatus) + { + AapiErrors++; + printf ("Api Error: AcpiGetDevices(%s) returned %s," + " expected %s\n", + (HID)? HID: "NULL", + AcpiFormatException(Status), AcpiFormatException(ExpectedStatus)); + return (Status); + } + + if (GetDevicesHandlerCounter != ExpectedCounter) + { + AapiErrors++; + printf ("Api Error: GetDevicesHandlerCounter (%d) !=" + "ExpectedCounter (%d)\n", + GetDevicesHandlerCounter, ExpectedCounter); + return (AE_ERROR); + } + + for (i = 0; i < ExpectedCounter; i++) + { + if (DeviceWalkInfo[i].WalkCount == 0) + { + AapiErrors++; + printf ("Api Error: Device '%s' is not met\n", + DeviceWalkInfo[i].PathName); + } + else if (DeviceWalkInfo[i].WalkCount > 1) + { + AapiErrors++; + printf ("Api Error: Device '%s' is met more than once (%d)\n", + DeviceWalkInfo[i].PathName, DeviceWalkInfo[i].WalkCount); + } + else if (DeviceWalkInfo[i].XfNestingLevel != DeviceWalkInfo[i].NestingLevel) + { + AapiErrors++; + printf ("Api Error: NestingLevel of Device '%s' (%d)" + " is expected to be %d\n", + DeviceWalkInfo[i].PathName, + DeviceWalkInfo[i].XfNestingLevel, DeviceWalkInfo[i].NestingLevel); + } + else if (DeviceWalkInfo[i].HandlerCount != i + 1) + { + AapiErrors++; + printf ("Api Error: depth-first rule is violated for %s," + " the walked number (%d) is expected to be %d\n", + DeviceWalkInfo[i].PathName, + DeviceWalkInfo[i].HandlerCount, i + 1); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0082: + */ +ACPI_STATUS +AtNSpaceTest0082(void) +{ + ACPI_STATUS Status; + + Status = AtGetDevicesCommon("PNP0A05", AE_OK, AE_OK, + sizeof (DeviceWalkInfoDev5) / sizeof (AT_WALK_INFO) + 1, + sizeof (DeviceWalkInfoDev5) / sizeof (AT_WALK_INFO), + DeviceWalkInfoDev5); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtGetDevicesCommon("PCI\\VEN_ffff&DEV_dddd&SUBSYS_cccccccc&REV_01", AE_OK, AE_OK, + sizeof (DeviceWalkInfoDev7) / sizeof (AT_WALK_INFO) + 1, + sizeof (DeviceWalkInfoDev7) / sizeof (AT_WALK_INFO), + DeviceWalkInfoDev7); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtGetDevicesCommon("PNP0A04", AE_OK, AE_OK, + sizeof (DeviceWalkInfo2Dev) / sizeof (AT_WALK_INFO) + 1, + sizeof (DeviceWalkInfo2Dev) / sizeof (AT_WALK_INFO), + DeviceWalkInfo2Dev); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0083: + */ +ACPI_STATUS +AtNSpaceTest0083(void) +{ + ACPI_STATUS Status; + + Status = AtGetDevicesCommon("PNP0A04", AE_OK, AE_CTRL_DEPTH, + 1, + 1, + DeviceWalkInfo2Dev); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0084: + */ +ACPI_STATUS +AtNSpaceTest0084(void) +{ + ACPI_STATUS Status; + + Status = AtGetDevicesCommon("PNP0A04", AE_OK, AE_CTRL_TERMINATE, + 1, + 1, + DeviceWalkInfo2Dev); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0085: + */ +ACPI_STATUS +AtNSpaceTest0085(void) +{ + ACPI_STATUS Status; + + Status = AtGetDevicesCommon("PNP0A04", AE_ERROR, AE_ERROR, + 1, + 1, + DeviceWalkInfo2Dev); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0086: + */ +ACPI_STATUS +AtNSpaceTest0086(void) +{ + ACPI_STATUS Status; + + Status = AtGetDevicesCommon(NULL, AE_OK, AE_OK, + sizeof (DeviceWalkInfo0000) / sizeof (AT_WALK_INFO) + 1, + sizeof (DeviceWalkInfo0000) / sizeof (AT_WALK_INFO), + DeviceWalkInfo0000); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtGetDevicesCommon(NULL, AE_OK, AE_CTRL_DEPTH, + 9, + sizeof (DeviceWalkInfoDepth) / sizeof (AT_WALK_INFO), + DeviceWalkInfoDepth); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtGetDevicesCommon(NULL, AE_OK, AE_CTRL_TERMINATE, + sizeof (DeviceWalkInfoTerminate) / sizeof (AT_WALK_INFO), + sizeof (DeviceWalkInfoTerminate) / sizeof (AT_WALK_INFO), + DeviceWalkInfoTerminate); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtGetDevicesCommon(NULL, AE_ERROR, AE_ERROR, + sizeof (DeviceWalkInfoError) / sizeof (AT_WALK_INFO), + sizeof (DeviceWalkInfoError) / sizeof (AT_WALK_INFO), + DeviceWalkInfoError); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0087: + */ +ACPI_STATUS +AtNSpaceTest0087(void) +{ + ACPI_STATUS Status; + UINT32 *ReturnValue = &GetDevicesHandlerReturnValue; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetDevices ( + "PNP0A04", NULL, + &GetDevicesHandlerContext, (void **)&ReturnValue); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("Api Error: AcpiGetDevices( , NULL) returned %s," + " expected %s\n", + AcpiFormatException(Status), AcpiFormatException(AE_BAD_PARAMETER)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +ACPI_STATUS +AtGetDevicesExceptionTest( + ACPI_OSXF OsxfNum, + AT_ACTD_FLAG ActFlag, + UINT32 ActCode, + UINT32 TFst, + ACPI_STATUS Benchmark, + char *HID, + UINT32 GetDevicesHandlerRet, + UINT32 ActionCounter, + UINT32 ExpectedCounter, + AT_WALK_INFO *DeviceWalkInfo) +{ + ACPI_STATUS Status; + ACPI_OSXF OsxfNumAct; + UINT32 Continue_Cond = 1; + UINT32 TMax = 10000; + UINT32 i; + UINT32 *ReturnValue = &GetDevicesHandlerReturnValue; + + + for (i = TFst; (i < TMax) && Continue_Cond; i++) + { + printf ("AtGetDevicesExceptionTest: i = %d\n", i); + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = OsxfCtrlSet(OsxfNum, i, ActFlag, ActCode); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: OsxfCtrlSet returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + GetDevicesHandlerCounter = 0; + GetDevicesHandlerContext.RetVal = GetDevicesHandlerRet; + GetDevicesHandlerContext.InfoCounter = ExpectedCounter; + GetDevicesHandlerContext.WalkInfo = DeviceWalkInfo; + GetDevicesHandlerContext.ActionCounter = ActionCounter; + + Status = AcpiGetDevices ( + HID, AtGetDevicesHandler, + &GetDevicesHandlerContext, (void **)&ReturnValue); + + if (!(OsxfNumAct = OsxfCtrlGetActOsxf(OsxfNum, 1))) + { + if (i == TFst) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + } + TestPass++; + Continue_Cond = 0; + } + else + { + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiGetDevices returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + + Status = AtTerminateCtrlCheck(AE_OK, ALL_STAT); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + if (i >= TMax) + { + TestErrors++; + printf ("Test error: there are test cases remained\n"); + return (AE_ERROR); + } + + return (AE_OK); +} + +/* + * ASSERTION 0088: + */ +ACPI_STATUS +AtNSpaceTest0088(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + + Status = AtGetDevicesExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY, + "PNP0A05", AE_OK, + sizeof (DeviceWalkInfoDev5) / sizeof (AT_WALK_INFO) + 1, + sizeof (DeviceWalkInfoDev5) / sizeof (AT_WALK_INFO), + DeviceWalkInfoDev5); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtGetDevicesExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY, + NULL, AE_OK, + sizeof (DeviceWalkInfo0000) / sizeof (AT_WALK_INFO) + 1, + sizeof (DeviceWalkInfo0000) / sizeof (AT_WALK_INFO), + DeviceWalkInfo0000); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + + Status = AtGetDevicesExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY, + "PNP0A05", AE_OK, + sizeof (DeviceWalkInfoDev5) / sizeof (AT_WALK_INFO) + 1, + sizeof (DeviceWalkInfoDev5) / sizeof (AT_WALK_INFO), + DeviceWalkInfoDev5); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AtGetDevicesExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY, + NULL, AE_OK, + sizeof (DeviceWalkInfo0000) / sizeof (AT_WALK_INFO) + 1, + sizeof (DeviceWalkInfo0000) / sizeof (AT_WALK_INFO), + DeviceWalkInfo0000)); +} + +static UINT32 AttachDataCounter[3]; +static AT_ATTACH_DATA_STAT AttachDataStat[3][MAX_ATTACH_DATA_STAT]; +static UINT8 DataBuffer[3] = {0, 1, 2}; + +#define DEF_ATTACH_DATA_HANDLER(Hid) \ +void \ +AttachDataHandler##Hid( \ + ACPI_HANDLE Object, \ + void *Data) \ +{ \ + UINT32 HandlerId = Hid; \ + UINT32 i; \ + AT_ATTACH_DATA_STAT *Stat = AttachDataStat[HandlerId]; \ + \ + if ((i = AttachDataCounter[HandlerId]++) < MAX_ATTACH_DATA_STAT) \ + { \ + Stat[i].Object = Object; \ + Stat[i].Data = Data; \ + } \ + printf ("AttachDataHandler%d %d: Object 0x%p, Data 0x%p\n", \ + Hid, i, Object, Data); \ + if (Hid == 1) \ + { \ + AcpiDetachData(Object, AttachDataHandler##Hid); \ + } \ +} + +DEF_ATTACH_DATA_HANDLER(0) +DEF_ATTACH_DATA_HANDLER(1) +DEF_ATTACH_DATA_HANDLER(2) + + +/* + * Release GlobalLock concurrently + */ +void ACPI_SYSTEM_XFACE +AtConcurrentMethodCall(void * Context) +{ + ACPI_STATUS Status; + ACPI_STRING Pathname = (ACPI_STRING)Context; + + /* Call a Method, creating an Object and blocking */ + Status = AcpiEvaluateObject (NULL, Pathname, + NULL, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiEvaluateObject(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + } + + return; +} + +ACPI_STATUS +AtAttachDataCommon( + UINT32 UnloadFlag, + UINT32 NumNm, + ACPI_STRING Pathnames[], + UINT32 NumId, + UINT32 HandleId[], + void *Data[], + ACPI_OBJECT_HANDLER Handlers[], + UINT32 HandlerId[], + ACPI_STATUS ExpectedStatus[]) +{ + ACPI_STATUS Status; + ACPI_HANDLE *Objects; + AT_ATTACH_DATA_STAT *Stat; +// UINT32 Function = ACPI_NS_NODE_DEL; + UINT32 i, j, ExpectedCounter; + + if (NumId > 3) + { + TestErrors++; + printf ("Test Error: NumId (%d) > 3\n", NumId); + return (AE_ERROR); + } + + Objects = (ACPI_HANDLE *) malloc(NumNm * sizeof (ACPI_HANDLE)); + if (!Objects) + { + TestErrors++; + printf ("Test Error: no memory for Objects\n"); + return (AE_ERROR); + } + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if ((UnloadFlag == 1) || (UnloadFlag == 2)) + { + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_LOAD))) + { + return (Status); + } + } + + /* Attach to a dynamic Object*/ + if ((UnloadFlag == 3) || (UnloadFlag == 4)) + { + /* Call a Method, creating an Object and blocking */ + Status = AcpiOsExecute(OSL_GPE_HANDLER, AtConcurrentMethodCall, + (UnloadFlag == 3)? "\\BLK0": "\\BLK1"); + if (ACPI_FAILURE (Status)) + { + printf ("API error: AcpiOsExecute() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + AcpiOsSleep(1000); + } + + for (i = 0; i < NumNm; i++) + { + Status = AcpiGetHandle (NULL, Pathnames[i], &Objects[i]); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathnames[i], AcpiFormatException(Status)); + return (Status); + } + } + + if (UnloadFlag == 2) + { + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_UNLOAD))) + { + return (Status); + } + } + + for (i = 0; i < NumId; i++) + { + Status = AcpiAttachData(Objects[HandleId[i]], Handlers[i], Data[i]); + + if (Status != ExpectedStatus[i]) + { + AapiErrors++; + printf ("API error: AcpiAttachData(%s) returned %s," + " expected %s\n", + Pathnames[HandleId[i]], + AcpiFormatException(Status), + AcpiFormatException(ExpectedStatus[i])); + return (AE_ERROR); + } + } + + for (i = 0; i < NumId; i++) + { + if (HandlerId[i] > 2) + { + TestErrors++; + printf ("Test Error: HandlerId[%d] (%d) > 2\n", i, HandlerId[i]); + return (AE_ERROR); + } + if (AttachDataCounter[HandlerId[i]] != 0) + { + AapiErrors++; + printf ("API Error: unexpectedly AttachDataCounter[%d] (%d) != 0\n", + HandlerId[i], AttachDataCounter[HandlerId[i]]); + return (AE_ERROR); + } + } + + if (UnloadFlag == 1) + { + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_UNLOAD))) + { + return (Status); + } + } + + /* Initiate deletion of the dynamic Objects */ + if ((UnloadFlag == 3) || (UnloadFlag == 4)) + { + /* Call a Method releasing the blocked thread */ + Status = AcpiEvaluateObject (NULL, "\\REL0", + NULL, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiEvaluateObject(REL0) returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + } + + if ((UnloadFlag == 1) || (UnloadFlag == 3) || (UnloadFlag == 4)) + { + for (i = 0; i < NumId; i++) + { + ExpectedCounter = 0; + for (j = 0; j < NumId; j++) + { + if ((HandlerId[j] == HandlerId[i]) && + (ExpectedStatus[j] == AE_OK)) + { + ExpectedCounter++; + } + } + if (AttachDataCounter[HandlerId[i]] != ExpectedCounter) + { + AapiErrors++; + printf ("API Error: unexpectedly AttachDataCounter[%d] (%d) != %d\n", + HandlerId[i], AttachDataCounter[HandlerId[i]], ExpectedCounter); + return (AE_ERROR); + } + } + } + else + { + for (i = 0; i < NumId; i++) + { + if (AttachDataCounter[HandlerId[i]] != 0) + { + AapiErrors++; + printf ("API Error: unexpectedly AttachDataCounter[%d] (%d) != %d\n", + HandlerId[i], AttachDataCounter[HandlerId[i]], 0); + return (AE_ERROR); + } + } + } + + Status = AtTerminateCtrlCheck(AE_OK, ALL_STAT); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (!((UnloadFlag == 1) || (UnloadFlag == 3) || (UnloadFlag == 4))) + { + for (i = 0; i < NumId; i++) + { + ExpectedCounter = 0; + for (j = 0; j < NumId; j++) + { + if ((HandlerId[j] == HandlerId[i]) && + (ExpectedStatus[j] == AE_OK)) + { + ExpectedCounter++; + } + } + if (AttachDataCounter[HandlerId[i]] != ExpectedCounter) + { + AapiErrors++; + printf ("API Error: unexpectedly AttachDataCounter[%d] (%d) != %d\n", + HandlerId[i], AttachDataCounter[HandlerId[i]], ExpectedCounter); + return (AE_ERROR); + } + } + } + + for (i = 0; i < NumId; i++) + { + if (ExpectedStatus[i] != AE_OK) + { + continue; + } + + Stat = AttachDataStat[HandlerId[i]]; + if (Stat[0].Object != Objects[HandleId[i]]) + { + AapiErrors++; + printf ("API Error: Handler's Object (0x%p) is different from" + " expected (0x%p)\n", + Stat[0].Object, Objects[HandleId[i]]); + return (AE_ERROR); + } + if (Stat[0].Data != Data[i]) + { + AapiErrors++; + printf ("API Error: Handler's Data (0x%p) is different from" + " expected (0x%p)\n", + Stat[0].Data, &Data[i]); + return (AE_ERROR); + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0089: + * + */ +ACPI_STATUS +AtNSpaceTest0089(void) +{ + ACPI_STRING Pathnames[] = + {"\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV0"}; + UINT32 HandleId[] = {0}; + void *Data[] = {DataBuffer}; + UINT32 HandlerId[] = {0}; + ACPI_OBJECT_HANDLER Handlers[] = {AttachDataHandler0}; + ACPI_STATUS ExpectedStatus[] = {AE_OK}; + + return (AtAttachDataCommon(0, + 1, Pathnames, 1, HandleId, Data, Handlers, HandlerId, ExpectedStatus)); +} + +/* + * ASSERTION 0090: + * + */ +ACPI_STATUS +AtNSpaceTest0090(void) +{ + ACPI_STRING Pathnames[] = + {"\\AUX2.SS00"}; + UINT32 HandleId[] = {0}; + void *Data[] = {DataBuffer}; + UINT32 HandlerId[] = {1}; + ACPI_OBJECT_HANDLER Handlers[] = {AttachDataHandler1}; + ACPI_STATUS ExpectedStatus[] = {AE_OK}; + + return (AtAttachDataCommon(1, + 1, Pathnames, 1, HandleId, Data, Handlers, HandlerId, ExpectedStatus)); +} + +/* + * ASSERTION 0091: + * + */ +ACPI_STATUS +AtNSpaceTest0091(void) +{ + ACPI_STRING Pathnames[] = + {"\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV0"}; + UINT32 HandleId[] = {0, 0, 0}; + void *Data[] = {DataBuffer, DataBuffer + 1, DataBuffer + 2}; + UINT32 HandlerId[] = {0, 1, 2}; + ACPI_OBJECT_HANDLER Handlers[] = {AttachDataHandler0, + AttachDataHandler1, AttachDataHandler2}; + ACPI_STATUS ExpectedStatus[] = {AE_OK, AE_OK, AE_OK}; + + return (AtAttachDataCommon(0, + 1, Pathnames, 3, HandleId, Data, Handlers, HandlerId, ExpectedStatus)); +} + +/* + * ASSERTION 0092: + * + */ +ACPI_STATUS +AtNSpaceTest0092(void) +{ + ACPI_STRING Pathnames[] = + {"\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV0"}; + UINT32 HandleId[] = {0, 0, 0}; + void *Data[] = {DataBuffer, DataBuffer + 1, DataBuffer + 2}; + UINT32 HandlerId[] = {0, 1, 1}; + ACPI_OBJECT_HANDLER Handlers[] = {AttachDataHandler0, + AttachDataHandler0, AttachDataHandler1}; + ACPI_STATUS ExpectedStatus[] = {AE_OK, AE_ALREADY_EXISTS, AE_OK}; + + return (AtAttachDataCommon(0, + 1, Pathnames, 3, HandleId, Data, Handlers, HandlerId, ExpectedStatus)); +} + +/* + * ASSERTION 0093: + * + */ +ACPI_STATUS +AtNSpaceTest0093(void) +{ + ACPI_STRING Pathnames[] = {"\\AUX2.SS00"}; + UINT32 HandleId[] = {0, 0, 0}; + void *Data[] = {DataBuffer, DataBuffer + 1, DataBuffer + 2}; + UINT32 HandlerId[] = {0, 1, 1}; + ACPI_OBJECT_HANDLER Handlers[] = {AttachDataHandler0, + AttachDataHandler0, AttachDataHandler1}; + ACPI_STATUS ExpectedStatus[] = {AE_BAD_PARAMETER, + AE_BAD_PARAMETER, AE_BAD_PARAMETER}; + + return (AtAttachDataCommon(2, + 1, Pathnames, 3, HandleId, Data, Handlers, HandlerId, ExpectedStatus)); +} + +/* + * ASSERTION 0094: + * + */ +ACPI_STATUS +AtNSpaceTest0094(void) +{ + ACPI_STRING Pathnames[] = + {"\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV0"}; + UINT32 HandleId[] = {0, 0, 0}; + void *Data[] = {DataBuffer, DataBuffer + 1, DataBuffer + 2}; + UINT32 HandlerId[] = {0, 1, 2}; + ACPI_OBJECT_HANDLER Handlers[] = {NULL, AttachDataHandler1, NULL}; + ACPI_STATUS ExpectedStatus[] = {AE_BAD_PARAMETER, + AE_OK, AE_BAD_PARAMETER}; + + return (AtAttachDataCommon(0, + 1, Pathnames, 3, HandleId, Data, Handlers, HandlerId, ExpectedStatus)); +} + +/* + * ASSERTION 0095: + * + */ +ACPI_STATUS +AtNSpaceTest0095(void) +{ + ACPI_STRING Pathnames[] = + {"\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV0"}; + UINT32 HandleId[] = {0, 0, 0}; + void *Data[] = {NULL, DataBuffer + 1, NULL}; + UINT32 HandlerId[] = {0, 1, 2}; + ACPI_OBJECT_HANDLER Handlers[] = {AttachDataHandler0, + AttachDataHandler1, AttachDataHandler2}; + ACPI_STATUS ExpectedStatus[] = {AE_BAD_PARAMETER, + AE_OK, AE_BAD_PARAMETER}; + + return (AtAttachDataCommon(0, + 1, Pathnames, 3, HandleId, Data, Handlers, HandlerId, ExpectedStatus)); +} + +ACPI_STATUS +AtAttachDataExceptionTest( + ACPI_OSXF OsxfNum, + AT_ACTD_FLAG ActFlag, + UINT32 ActCode, + UINT32 TFst, + ACPI_STATUS Benchmark, + ACPI_STRING Pathname, + void *Data, + ACPI_OBJECT_HANDLER Handler, + UINT32 HandlerId) +{ + ACPI_STATUS Status; + ACPI_OSXF OsxfNumAct; + UINT32 Continue_Cond = 1; + UINT32 TMax = 10000; + UINT32 i; + ACPI_HANDLE Object; + + + for (i = TFst; (i < TMax) && Continue_Cond; i++) + { + printf ("AtAttachDataExceptionTest: i = %d\n", i); + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Object); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + Status = OsxfCtrlSet(OsxfNum, i, ActFlag, ActCode); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: OsxfCtrlSet returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiAttachData(Object, Handler, Data); + + if (!(OsxfNumAct = OsxfCtrlGetActOsxf(OsxfNum, 1))) + { + if (i == TFst) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + } + TestPass++; + Continue_Cond = 0; + } + else + { + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiAttachData returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + + Status = AtTerminateCtrlCheck(AE_OK, ALL_STAT); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + if (i >= TMax) + { + TestErrors++; + printf ("Test error: there are test cases remained\n"); + return (AE_ERROR); + } + + return (AE_OK); +} + +/* + * ASSERTION 0096: + */ +ACPI_STATUS +AtNSpaceTest0096(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + Status = AtAttachDataExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY, + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV0", + DataBuffer, AttachDataHandler0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + return (AtAttachDataExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY, + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV0", + DataBuffer, AttachDataHandler0, 0)); +} + +UINT8 +AtIsDataHandlerAttached( + UINT32 HandlerId, + UINT32 DetachHandlerId[], + UINT32 DetachNumId, + ACPI_STATUS ExpectedStatus[]) +{ + UINT32 i = 0; + + for (i = 0; i < DetachNumId; i++) + { + if (HandlerId == DetachHandlerId[i] && + ExpectedStatus[i] == AE_OK) + { + return (0); + } + } + return (1); +} + +ACPI_STATUS +AtDetachDataCommon( + UINT32 UnloadFlag, + ACPI_STRING Pathname, + void *Data[], + ACPI_OBJECT_HANDLER Handlers[], + UINT32 HandlerId[], + UINT32 NumId, + ACPI_OBJECT_HANDLER DetachHandlers[], + UINT32 DetachHandlerId[], + UINT32 DetachNumId, + ACPI_STATUS ExpectedStatus[]) +{ + ACPI_STATUS Status; + ACPI_HANDLE Object; + AT_ATTACH_DATA_STAT *Stat; + ACPI_STRING UpdateMethod = "\\M120"; + UINT32 i, j, ExpectedCounter; + + if (NumId > 3) + { + TestErrors++; + printf ("Test Error: NumId (%d) > 3\n", NumId); + return (AE_ERROR); + } + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Object); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + for (i = 0; i < NumId; i++) + { + Status = AcpiAttachData(Object, Handlers[i], Data[i]); + + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiAttachData() returned %s\n", + AcpiFormatException(Status)); + return (AE_ERROR); + } + } + + for (i = 0; i < NumId; i++) + { + if (HandlerId[i] > 2) + { + TestErrors++; + printf ("Test Error: HandlerId[%d] (%d) > 2\n", i, HandlerId[i]); + return (AE_ERROR); + } + if (AttachDataCounter[HandlerId[i]] != 0) + { + AapiErrors++; + printf ("API Error: unexpectedly AttachDataCounter[%d] (%d) != 0\n", + HandlerId[i], AttachDataCounter[HandlerId[i]]); + return (AE_ERROR); + } + } + + if (UnloadFlag == 0) + { + Status = AcpiEvaluateObject (NULL, UpdateMethod, NULL, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiEvaluateObject(%s) returned %s\n", + UpdateMethod, AcpiFormatException(Status)); + return (Status); + } + } + + for (i = 0; i < DetachNumId; i++) + { + Status = AcpiDetachData(Object, DetachHandlers[i]); + + if (Status != ExpectedStatus[i]) + { + AapiErrors++; + printf ("API error: AcpiDetachData() returned %s," + " expected %s\n", + AcpiFormatException(Status), + AcpiFormatException(ExpectedStatus[i])); + return (AE_ERROR); + } + } + + if (UnloadFlag == 1) + { + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_UNLOAD))) + { + return (Status); + } + for (i = 0; i < NumId; i++) + { + ExpectedCounter = 0; + for (j = 0; j < NumId; j++) + { + if ((HandlerId[j] == HandlerId[i]) && + AtIsDataHandlerAttached(HandlerId[i], + DetachHandlerId, DetachNumId, ExpectedStatus)) + { + ExpectedCounter++; + } + } + if (AttachDataCounter[HandlerId[i]] != ExpectedCounter) + { + AapiErrors++; + printf ("API Error: unexpectedly AttachDataCounter[%d] (%d) != %d\n", + HandlerId[i], AttachDataCounter[HandlerId[i]], ExpectedCounter); + return (AE_ERROR); + } + } + } + + Status = AtTerminateCtrlCheck(AE_OK, ALL_STAT); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (UnloadFlag != 1) + { + for (i = 0; i < NumId; i++) + { + ExpectedCounter = 0; + for (j = 0; j < NumId; j++) + { + if ((HandlerId[j] == HandlerId[i]) && + AtIsDataHandlerAttached(HandlerId[i], + DetachHandlerId, DetachNumId, ExpectedStatus)) + { + ExpectedCounter++; + } + } + if (AttachDataCounter[HandlerId[i]] != ExpectedCounter) + { + AapiErrors++; + printf ("API Error: unexpectedly AttachDataCounter[%d] (%d) != %d\n", + HandlerId[i], AttachDataCounter[HandlerId[i]], ExpectedCounter); + return (AE_ERROR); + } + } + } + + for (i = 0; i < NumId; i++) + { + if (!AtIsDataHandlerAttached(HandlerId[i], + DetachHandlerId, DetachNumId, ExpectedStatus)) + { + continue; + } + + Stat = AttachDataStat[HandlerId[i]]; + if (Stat[0].Object != Object) + { + AapiErrors++; + printf ("API Error: Handler's Object (0x%p) is different from" + " expected (0x%p)\n", + Stat[0].Object, Object); + return (AE_ERROR); + } + if (Stat[0].Data != Data[i]) + { + AapiErrors++; + printf ("API Error: Handler's Data (0x%p) is different from" + " expected (0x%p)\n", + Stat[0].Data, &Data[i]); + return (AE_ERROR); + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0098: + * + */ +ACPI_STATUS +AtNSpaceTest0098(void) +{ + void *Data[] = {DataBuffer, DataBuffer + 1, DataBuffer + 2}; + UINT32 HandlerId[] = {0, 1, 2}; + ACPI_OBJECT_HANDLER Handlers[] = {AttachDataHandler0, + AttachDataHandler1, AttachDataHandler2}; + UINT32 DetachHandlerId[] = {0, 2}; + ACPI_OBJECT_HANDLER DetachHandlers[] = {AttachDataHandler0, AttachDataHandler2}; + ACPI_STATUS ExpectedStatus[] = {AE_OK, AE_OK}; + + return (AtDetachDataCommon(0, + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV0", + Data, Handlers, HandlerId, 3, + DetachHandlers, DetachHandlerId, 2, ExpectedStatus)); +} + +/* + * ASSERTION 0099: + * + */ +ACPI_STATUS +AtNSpaceTest0099(void) +{ + void *Data[] = {DataBuffer, DataBuffer + 1, DataBuffer + 2}; + UINT32 HandlerId[] = {0, 1, 2}; + ACPI_OBJECT_HANDLER Handlers[] = {AttachDataHandler0, + AttachDataHandler1, AttachDataHandler2}; + UINT32 DetachHandlerId[] = {0, 2}; + ACPI_OBJECT_HANDLER DetachHandlers[] = {AttachDataHandler0, AttachDataHandler2}; + ACPI_STATUS ExpectedStatus[] = {AE_BAD_PARAMETER, AE_BAD_PARAMETER}; + + return (AtDetachDataCommon(2, + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV0", + Data, Handlers, HandlerId, 0, + DetachHandlers, DetachHandlerId, 2, ExpectedStatus)); +} + +/* + * ASSERTION 0100: + * + */ +ACPI_STATUS +AtNSpaceTest0100(void) +{ + void *Data[] = {DataBuffer, DataBuffer + 1, DataBuffer + 2}; + UINT32 HandlerId[] = {0, 1, 2}; + ACPI_OBJECT_HANDLER Handlers[] = {AttachDataHandler0, + AttachDataHandler1, AttachDataHandler2}; + UINT32 DetachHandlerId[] = {0, 1, 2}; + ACPI_OBJECT_HANDLER DetachHandlers[] = {NULL, + AttachDataHandler1, NULL}; + ACPI_STATUS ExpectedStatus[] = {AE_BAD_PARAMETER, + AE_OK, AE_BAD_PARAMETER}; + + return (AtDetachDataCommon(0, + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV0", + Data, Handlers, HandlerId, 3, + DetachHandlers, DetachHandlerId, 3, ExpectedStatus)); +} + +ACPI_STATUS +AtDetachDataExceptionTest( + ACPI_OSXF OsxfNum, + AT_ACTD_FLAG ActFlag, + UINT32 ActCode, + UINT32 TFst, + ACPI_STATUS Benchmark, + ACPI_STRING Pathname, + void *Data, + ACPI_OBJECT_HANDLER Handler, + UINT32 HandlerId) +{ + ACPI_STATUS Status; + ACPI_OSXF OsxfNumAct; + UINT32 Continue_Cond = 1; + UINT32 TMax = 10000; + UINT32 i; + ACPI_HANDLE Object; + + for (i = TFst; (i < TMax) && Continue_Cond; i++) + { + printf ("AtDettachDataExceptionTest: i = %d\n", i); + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Object); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiAttachData(Object, Handler, Data); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiAttachData() returned %s\n", + AcpiFormatException(Status)); + return (AE_ERROR); + } + + Status = OsxfCtrlSet(OsxfNum, i, ActFlag, ActCode); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: OsxfCtrlSet returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiDetachData(Object, Handler); + + if (!(OsxfNumAct = OsxfCtrlGetActOsxf(OsxfNum, 1))) + { + if (i == TFst) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + } + TestPass++; + Continue_Cond = 0; + } + else + { + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiDetachData returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + + Status = AtTerminateCtrlCheck(AE_OK, ALL_STAT); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + if (i >= TMax) + { + TestErrors++; + printf ("Test error: there are test cases remained\n"); + return (AE_ERROR); + } + + return (AE_OK); +} + +/* + * ASSERTION 0101: + */ +ACPI_STATUS +AtNSpaceTest0101(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + Status = AtDetachDataExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY, + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV0", + DataBuffer, AttachDataHandler0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + return (AtDetachDataExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY, + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV0", + DataBuffer, AttachDataHandler0, 0)); +} + +/* + * ASSERTION 0103: + * + */ +ACPI_STATUS +AtNSpaceTest0103(void) +{ + void *Data[] = {DataBuffer + 1}; + UINT32 HandlerId[] = {1}; + ACPI_OBJECT_HANDLER Handlers[] = {AttachDataHandler1}; + UINT32 DetachHandlerId[] = {0, 1, 2}; + ACPI_OBJECT_HANDLER DetachHandlers[] = {AttachDataHandler0, + AttachDataHandler1, AttachDataHandler2}; + ACPI_STATUS ExpectedStatus[] = {AE_NOT_FOUND, AE_OK, AE_NOT_FOUND}; + + return (AtDetachDataCommon(0, + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV0", + Data, Handlers, HandlerId, 1, + DetachHandlers, DetachHandlerId, 3, ExpectedStatus)); +} + +ACPI_STATUS +AtGetDataCommon( + UINT32 UnloadFlag, + ACPI_STRING Pathname, + void *Data[], + ACPI_OBJECT_HANDLER Handlers[], + UINT32 HandlerId[], + UINT32 NumId, + ACPI_OBJECT_HANDLER GetHandlers[], + UINT32 GetHandlerId[], + UINT32 GetNumId, + ACPI_STATUS ExpectedStatus[]) +{ + ACPI_STATUS Status; + ACPI_HANDLE Object; + AT_ATTACH_DATA_STAT *Stat; + UINT32 i = 0; + void *RetData, **RetDataPointer = &RetData; + + if (NumId > 3) + { + TestErrors++; + printf ("Test Error: NumId (%d) > 3\n", NumId); + return (AE_ERROR); + } + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + if ((UnloadFlag == 1) || (UnloadFlag == 2)) + { + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_LOAD))) + { + return (Status); + } + } + + Status = AcpiGetHandle (NULL, Pathname, &Object); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + for (i = 0; i < NumId; i++) + { + Status = AcpiAttachData(Object, Handlers[i], Data[i]); + + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiAttachData() returned %s\n", + AcpiFormatException(Status)); + return (AE_ERROR); + } + } + + for (i = 0; i < NumId; i++) + { + if (HandlerId[i] > 2) + { + TestErrors++; + printf ("Test Error: HandlerId[%d] (%d) > 2\n", i, HandlerId[i]); + return (AE_ERROR); + } + if (AttachDataCounter[HandlerId[i]] != 0) + { + AapiErrors++; + printf ("API Error: unexpectedly AttachDataCounter[%d] (%d) != 0\n", + HandlerId[i], AttachDataCounter[HandlerId[i]]); + return (AE_ERROR); + } + } + + if (UnloadFlag == 2) + { + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_UNLOAD))) + { + return (Status); + } + } + else if (UnloadFlag == 4) + { + RetDataPointer = NULL; + } + + for (i = 0; i < GetNumId; i++) + { + Status = AcpiGetData(Object, GetHandlers[i], RetDataPointer); + + if (Status != ExpectedStatus[i]) + { + AapiErrors++; + printf ("API error: AcpiGetData() returned %s," + " expected %s\n", + AcpiFormatException(Status), + AcpiFormatException(ExpectedStatus[i])); + return (AE_ERROR); + } + else if (Status == AE_OK && RetData != Data[i]) + { + AapiErrors++; + printf ("API error: AcpiGetData() returned Pointer 0x%p," + " expected 0x%p\n", + RetData, Data[i]); + return (AE_ERROR); + } + } + + if (UnloadFlag == 1) + { + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_UNLOAD))) + { + return (Status); + } + for (i = 0; i < NumId; i++) + { + if (AttachDataCounter[HandlerId[i]] != 1) + { + AapiErrors++; + printf ("API Error: unexpectedly AttachDataCounter[%d] (%d) != 1\n", + HandlerId[i], AttachDataCounter[HandlerId[i]]); + return (AE_ERROR); + } + } + } + + Status = AtTerminateCtrlCheck(AE_OK, ALL_STAT); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (UnloadFlag != 1) + { + for (i = 0; i < NumId; i++) + { + if (AttachDataCounter[HandlerId[i]] != 1) + { + AapiErrors++; + printf ("API Error: unexpectedly AttachDataCounter[%d] (%d) != 1\n", + HandlerId[i], AttachDataCounter[HandlerId[i]]); + return (AE_ERROR); + } + } + } + + for (i = 0; i < NumId; i++) + { + if (AttachDataCounter[HandlerId[i]] != 1) + { + AapiErrors++; + printf ("API Error: Handler called %d times," + " expected to be caled one time only\n", + AttachDataCounter[HandlerId[i]]); + return (AE_ERROR); + } + + Stat = AttachDataStat[HandlerId[i]]; + if (Stat[0].Object != Object) + { + AapiErrors++; + printf ("API Error: Handler's Object (0x%p) is different from" + " expected (0x%p)\n", + Stat[0].Object, Object); + return (AE_ERROR); + } + if (Stat[0].Data != Data[i]) + { + AapiErrors++; + printf ("API Error: Handler's Data (0x%p) is different from" + " expected (0x%p)\n", + Stat[0].Data, &Data[i]); + return (AE_ERROR); + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0104: + * + */ +ACPI_STATUS +AtNSpaceTest0104(void) +{ + void *Data[] = {DataBuffer, DataBuffer + 1, DataBuffer + 2}; + UINT32 HandlerId[] = {0, 1, 2}; + ACPI_OBJECT_HANDLER Handlers[] = {AttachDataHandler0, + AttachDataHandler1, AttachDataHandler2}; + UINT32 GetHandlerId[] = {0, 1, 2}; + ACPI_OBJECT_HANDLER GetHandlers[] = {AttachDataHandler0, + AttachDataHandler1, AttachDataHandler2}; + ACPI_STATUS ExpectedStatus[] = {AE_OK, AE_OK, AE_OK}; + + return (AtGetDataCommon(0, + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV0", + Data, Handlers, HandlerId, 3, + GetHandlers, GetHandlerId, 3, ExpectedStatus)); +} + +/* + * ASSERTION 0105: + * + */ +ACPI_STATUS +AtNSpaceTest0105(void) +{ + void *Data[] = {DataBuffer, DataBuffer + 1, DataBuffer + 2}; + UINT32 HandlerId[] = {0, 1, 2}; + ACPI_OBJECT_HANDLER Handlers[] = {AttachDataHandler0, + AttachDataHandler1, AttachDataHandler2}; + UINT32 GetHandlerId[] = {0, 1, 2}; + ACPI_OBJECT_HANDLER GetHandlers[] = {AttachDataHandler0, + AttachDataHandler1, AttachDataHandler2}; + ACPI_STATUS ExpectedStatus[] = {AE_BAD_PARAMETER, + AE_BAD_PARAMETER, AE_BAD_PARAMETER}; + + return (AtGetDataCommon(2, + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV0", + Data, Handlers, HandlerId, 3, + GetHandlers, GetHandlerId, 3, ExpectedStatus)); +} + +/* + * ASSERTION 0106: + * + */ +ACPI_STATUS +AtNSpaceTest0106(void) +{ + void *Data[] = {DataBuffer, DataBuffer + 1, DataBuffer + 2}; + UINT32 HandlerId[] = {0, 1, 2}; + ACPI_OBJECT_HANDLER Handlers[] = {AttachDataHandler0, + AttachDataHandler1, AttachDataHandler2}; + UINT32 GetHandlerId[] = {0, 1, 2}; + ACPI_OBJECT_HANDLER GetHandlers[] = {NULL, + AttachDataHandler1, NULL}; + ACPI_STATUS ExpectedStatus[] = {AE_BAD_PARAMETER, + AE_OK, AE_BAD_PARAMETER}; + + return (AtGetDataCommon(0, + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV0", + Data, Handlers, HandlerId, 3, + GetHandlers, GetHandlerId, 3, ExpectedStatus)); +} + +/* + * ASSERTION 0107: + * + */ +ACPI_STATUS +AtNSpaceTest0107(void) +{ + void *Data[] = {DataBuffer, DataBuffer + 1, DataBuffer + 2}; + UINT32 HandlerId[] = {0, 1, 2}; + ACPI_OBJECT_HANDLER Handlers[] = {AttachDataHandler0, + AttachDataHandler1, AttachDataHandler2}; + UINT32 GetHandlerId[] = {0, 1, 2}; + ACPI_OBJECT_HANDLER GetHandlers[] = {AttachDataHandler0, + AttachDataHandler1, AttachDataHandler2}; + ACPI_STATUS ExpectedStatus[] = {AE_BAD_PARAMETER, + AE_BAD_PARAMETER, AE_BAD_PARAMETER}; + + return (AtGetDataCommon(4, + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV0", + Data, Handlers, HandlerId, 3, + GetHandlers, GetHandlerId, 3, ExpectedStatus)); +} + +ACPI_STATUS +AtGetDataExceptionTest( + ACPI_OSXF OsxfNum, + AT_ACTD_FLAG ActFlag, + UINT32 ActCode, + UINT32 TFst, + ACPI_STATUS Benchmark, + ACPI_STRING Pathname, + void *Data, + ACPI_OBJECT_HANDLER Handler, + UINT32 HandlerId) +{ + ACPI_STATUS Status; + ACPI_OSXF OsxfNumAct; + UINT32 Continue_Cond = 1; + UINT32 TMax = 10000; + UINT32 i; + ACPI_HANDLE Object; + void *RetData; + + + for (i = TFst; (i < TMax) && Continue_Cond; i++) + { + printf ("AtDettachDataExceptionTest: i = %d\n", i); + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Object); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiAttachData(Object, Handler, Data); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API error: AcpiAttachData() returned %s\n", + AcpiFormatException(Status)); + return (AE_ERROR); + } + + Status = OsxfCtrlSet(OsxfNum, i, ActFlag, ActCode); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: OsxfCtrlSet returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetData(Object, Handler, &RetData); + + if (!(OsxfNumAct = OsxfCtrlGetActOsxf(OsxfNum, 1))) + { + if (i == TFst) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + } + TestPass++; + Continue_Cond = 0; + } + else + { + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiGetData returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + + Status = AtTerminateCtrlCheck(AE_OK, ALL_STAT); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + if (i >= TMax) + { + TestErrors++; + printf ("Test error: there are test cases remained\n"); + return (AE_ERROR); + } + + return (AE_OK); +} + +/* + * ASSERTION 0108: + */ +ACPI_STATUS +AtNSpaceTest0108(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + Status = AtGetDataExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY, + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV0", + DataBuffer, AttachDataHandler0, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + return (AtGetDataExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY, + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV0", + DataBuffer, AttachDataHandler0, 0)); +} + +/* + * ASSERTION 0110: + * + */ +ACPI_STATUS +AtNSpaceTest0110(void) +{ + void *Data[] = {DataBuffer + 1}; + UINT32 HandlerId[] = {1}; + ACPI_OBJECT_HANDLER Handlers[] = {AttachDataHandler1}; + UINT32 DetachHandlerId[] = {0, 1, 2}; + ACPI_OBJECT_HANDLER DetachHandlers[] = {AttachDataHandler0, + AttachDataHandler1, AttachDataHandler2}; + ACPI_STATUS ExpectedStatus[] = {AE_NOT_FOUND, AE_OK, AE_NOT_FOUND}; + + return (AtGetDataCommon(0, + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV0", + Data, Handlers, HandlerId, 1, + DetachHandlers, DetachHandlerId, 3, ExpectedStatus)); +} + +static UINT32 WalkNamespaceHandlerCounter; +static UINT32 WalkNamespaceHandlerReturnValue; +static AT_WALK_HANDLER_CONTEXT WalkNamespaceHandlerContext; + +ACPI_STATUS +AtWalkNamespaceHandler ( + ACPI_HANDLE ObjHandle, + UINT32 NestingLevel, + void *Context, + void **ReturnValue) +{ + ACPI_STATUS Status; + ACPI_BUFFER OutName = {AT_PATHNAME_MAX, PathName}; + UINT32 i; + + ++WalkNamespaceHandlerCounter; + + Status = AcpiGetName (ObjHandle, ACPI_FULL_PATHNAME, &OutName); + + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiGetName(0x%p) returned %s\n", + ObjHandle, AcpiFormatException(Status)); + strcpy(PathName, "????"); + } +/* + printf ("AtWalkNamespaceHandler %.2d: (%s) ObjHandle %p, Level %d, Context %p\n", + WalkNamespaceHandlerCounter, PathName, ObjHandle, NestingLevel, Context); +*/ + printf (" {%d, \"%s\"},\n", + NestingLevel, PathName); + + if (Context != &WalkNamespaceHandlerContext) { + AapiErrors++; + printf ("AtWalkNamespaceHandler: Context (%p) !=" + " &WalkNamespaceHandlerContext (%p)\n", + Context, &WalkNamespaceHandlerContext); + } + + if (*ReturnValue != &WalkNamespaceHandlerReturnValue) { + AapiErrors++; + printf ("AtWalkNamespaceHandler: *ReturnValue (%p) !=" + " &WalkNamespaceHandlerReturnValue (%p)\n", + *ReturnValue, &WalkNamespaceHandlerReturnValue); + } + + for (i = 0; i < WalkNamespaceHandlerContext.InfoCounter; i++) + { + if (strcmp(WalkNamespaceHandlerContext.WalkInfo[i].PathName, PathName) == 0) + { + WalkNamespaceHandlerContext.WalkInfo[i].WalkCount++; + WalkNamespaceHandlerContext.WalkInfo[i].XfNestingLevel = NestingLevel; + WalkNamespaceHandlerContext.WalkInfo[i].HandlerCount = + WalkNamespaceHandlerCounter; + break; + } + } + + if (WalkNamespaceHandlerCounter == WalkNamespaceHandlerContext.ActionCounter) { + return (WalkNamespaceHandlerContext.RetVal); + } + + return (AE_OK); +} + +ACPI_STATUS +AtWalkNamespaceCommon( + ACPI_OBJECT_TYPE Type, + ACPI_STRING StartObjectName, + UINT32 StartObjectDepth, + UINT32 MaxDepth, + ACPI_STATUS ExpectedStatus, + UINT32 WalkNamespaceHandlerRet, + UINT32 ActionCounter, + UINT32 ExpectedCounter, + AT_WALK_INFO *WalkInfo) +{ + ACPI_STATUS Status; + ACPI_HANDLE StartObject; + UINT32 *ReturnValue = &WalkNamespaceHandlerReturnValue; + UINT32 i; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (StartObjectName) + { + Status = AcpiGetHandle (NULL, StartObjectName, &StartObject); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + StartObjectName, AcpiFormatException(Status)); + return (Status); + } + } + else + { + StartObject = ACPI_ROOT_OBJECT; + } + + WalkNamespaceHandlerCounter = 0; + WalkNamespaceHandlerContext.RetVal = WalkNamespaceHandlerRet; + WalkNamespaceHandlerContext.InfoCounter = ExpectedCounter; + WalkNamespaceHandlerContext.WalkInfo = WalkInfo; + WalkNamespaceHandlerContext.ActionCounter = ActionCounter; + + Status = AcpiWalkNamespace ( + Type, StartObject, MaxDepth, AtWalkNamespaceHandler, NULL, + &WalkNamespaceHandlerContext, (void **) &ReturnValue); + if (Status != ExpectedStatus) + { + AapiErrors++; + printf ("Api Error: AcpiWalkNamespace(0x%x) returned %s," + " expected %s\n", + Type, + AcpiFormatException(Status), AcpiFormatException(ExpectedStatus)); + return (Status); + } + + if (WalkNamespaceHandlerCounter != ExpectedCounter) + { + AapiErrors++; + printf ("Api Error: Type 0x%x, WalkNamespaceHandlerCounter (%d) !=" + " ExpectedCounter (%d)\n", + Type, WalkNamespaceHandlerCounter, ExpectedCounter); + return (AE_ERROR); + } + + for (i = 0; i < ExpectedCounter; i++) + { + if (WalkInfo[i].WalkCount == 0) + { + AapiErrors++; + printf ("Api Error: Object '%s' is not met\n", + WalkInfo[i].PathName); + } + else if (WalkInfo[i].WalkCount > 1) + { + AapiErrors++; + printf ("Api Error: Object '%s' is met more than once (%d)\n", + WalkInfo[i].PathName, WalkInfo[i].WalkCount); + } + else if (WalkInfo[i].XfNestingLevel != WalkInfo[i].NestingLevel - + AT_NESTING_LEVEL_REL * StartObjectDepth) + { + AapiErrors++; + printf ("Api Error: NestingLevel of Object '%s' (%d)" + " is expected to be %d\n", + WalkInfo[i].PathName, + WalkInfo[i].XfNestingLevel, + WalkInfo[i].NestingLevel - + AT_NESTING_LEVEL_REL * StartObjectDepth); + } + else if (WalkInfo[i].HandlerCount != i + 1) + { + AapiErrors++; + printf ("Api Error: depth-first rule is violated for %s," + " the walked number (%d) is expected to be %d\n", + WalkInfo[i].PathName, WalkInfo[i].HandlerCount, i + 1); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0111: + */ +ACPI_STATUS +AtNSpaceTest0111(void) +{ + ACPI_STATUS Status; + UINT32 i; + + Status = AtWalkNamespaceCommon(ACPI_TYPE_DEVICE, + NULL, 0, 7, + AE_OK, AE_OK, + sizeof (DeviceWalkInfo0000) / sizeof (AT_WALK_INFO) + 1, + sizeof (DeviceWalkInfo0000) / sizeof (AT_WALK_INFO), + DeviceWalkInfo0000); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtWalkNamespaceCommon(ACPI_TYPE_DEVICE, + "\\", 0, 5, + AE_OK, AE_OK, + sizeof (DeviceWalkInfoDepth) / sizeof (AT_WALK_INFO) + 1, + sizeof (DeviceWalkInfoDepth) / sizeof (AT_WALK_INFO), + DeviceWalkInfoDepth); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtWalkNamespaceCommon(ACPI_TYPE_DEVICE, + "\\D1L1.D2L0.D3L0.D4L_", 4, 12, + AE_OK, AE_OK, + sizeof (DeviceWalkInfoLevel5) / sizeof (AT_WALK_INFO) + 1, + sizeof (DeviceWalkInfoLevel5) / sizeof (AT_WALK_INFO), + DeviceWalkInfoLevel5); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 1; i < sizeof (LevelTypes0000) / sizeof (ACPI_OBJECT_TYPE); i++) + { + if (LevelTypes0000[i] == ACPI_TYPE_FIELD_UNIT && + AT_SKIP_ACPI_TYPE_FIELD_UNIT_CHECK) + { + printf ("ACPI_TYPE_FIELD_UNIT check skipped\n"); + continue; + } + Status = AtWalkNamespaceCommon(LevelTypes0000[i], + "\\D1L3", 1, 1, + AE_OK, AE_OK, + 2, + 1, + TypesWalkInfoLevel2 + i); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0112: + */ +ACPI_STATUS +AtNSpaceTest0112(void) +{ + ACPI_STATUS Status; + + Status = AtWalkNamespaceCommon(ACPI_TYPE_DEVICE, + NULL, 0, 7, + AE_OK, AE_CTRL_DEPTH, + 9, + sizeof (DeviceWalkInfoDepth) / sizeof (AT_WALK_INFO), + DeviceWalkInfoDepth); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0113: + */ +ACPI_STATUS +AtNSpaceTest0113(void) +{ + ACPI_STATUS Status; + + Status = AtWalkNamespaceCommon(ACPI_TYPE_DEVICE, + NULL, 0, 7, + AE_OK, AE_CTRL_TERMINATE, + 9, + 9, + DeviceWalkInfoDepth); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0114: + */ +ACPI_STATUS +AtNSpaceTest0114(void) +{ + ACPI_STATUS Status; + + Status = AtWalkNamespaceCommon(ACPI_TYPE_DEVICE, + NULL, 0, 7, + AE_ERROR, AE_ERROR, + 9, + 9, + DeviceWalkInfoDepth); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0115: + */ +ACPI_STATUS +AtNSpaceTest0115(void) +{ + ACPI_STATUS Status; + + Status = AtWalkNamespaceCommon(ACPI_TYPE_DEVICE, + NULL, 0, 0, + AE_BAD_PARAMETER, AE_OK, + 0, + 0, + DeviceWalkInfo0000); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0116: + */ +ACPI_STATUS +AtNSpaceTest0116(void) +{ + ACPI_STATUS Status; + UINT32 *ReturnValue = &WalkNamespaceHandlerReturnValue; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiWalkNamespace ( + ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT, 10, NULL, NULL, + &WalkNamespaceHandlerContext, (void **)&ReturnValue); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("Api Error: AcpiWalkNamespace( , , , NULL) returned %s," + " expected %s\n", + AcpiFormatException(Status), AcpiFormatException(AE_BAD_PARAMETER)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0117: + */ +ACPI_STATUS +AtNSpaceTest0117(void) +{ + ACPI_STATUS Status; + ACPI_STRING StartObjectName = "\\AUX2"; + ACPI_HANDLE StartObject; + UINT32 *ReturnValue = &WalkNamespaceHandlerReturnValue; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_LOAD))) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, StartObjectName, &StartObject); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + StartObjectName, AcpiFormatException(Status)); + return (Status); + } + + /* Make Object handle invalid by unloading SSDT table */ + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_UNLOAD))) + { + return (Status); + } + + Status = AcpiWalkNamespace ( + ACPI_TYPE_DEVICE, StartObject, 10, AtWalkNamespaceHandler, NULL, + &WalkNamespaceHandlerContext, (void **)&ReturnValue); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("Api Error: AcpiWalkNamespace(invalid StartObject) returned %s," + " expected %s\n", + AcpiFormatException(Status), AcpiFormatException(AE_BAD_PARAMETER)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0118: + */ +ACPI_STATUS +AtNSpaceTest0118(void) +{ + ACPI_STATUS Status; + UINT32 i; + + for (i = ACPI_TYPE_EXTERNAL_MAX + 1; i < 20; i++) + { + Status = AtWalkNamespaceCommon(i, + "\\D1L3", 1, 1, + AE_BAD_PARAMETER, AE_OK, + 0, + 0, + TypesWalkInfoLevel2); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AE_OK); +} + +ACPI_STATUS +AtWalkNamespaceExceptionTest( + ACPI_OSXF OsxfNum, + AT_ACTD_FLAG ActFlag, + UINT32 ActCode, + UINT32 TFst, + ACPI_STATUS Benchmark, + ACPI_OBJECT_TYPE Type, + ACPI_STRING StartObjectName, + UINT32 MaxDepth, + UINT32 WalkNamespaceHandlerRet, + UINT32 ActionCounter, + UINT32 ExpectedCounter, + AT_WALK_INFO *WalkInfo) +{ + ACPI_STATUS Status; + ACPI_OSXF OsxfNumAct; + UINT32 Continue_Cond = 1; + UINT32 TMax = 10000; + UINT32 i; + ACPI_HANDLE StartObject; + UINT32 *ReturnValue = &WalkNamespaceHandlerReturnValue; + + + for (i = TFst; (i < TMax) && Continue_Cond; i++) + { + printf ("AtWalkNamespaceExceptionTest: i = %d\n", i); + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (StartObjectName) + { + Status = AcpiGetHandle (NULL, StartObjectName, &StartObject); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + StartObjectName, AcpiFormatException(Status)); + return (Status); + } + } + else + { + StartObject = ACPI_ROOT_OBJECT; + } + + Status = OsxfCtrlSet(OsxfNum, i, ActFlag, ActCode); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: OsxfCtrlSet returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + WalkNamespaceHandlerCounter = 0; + WalkNamespaceHandlerContext.RetVal = WalkNamespaceHandlerRet; + WalkNamespaceHandlerContext.InfoCounter = ExpectedCounter; + WalkNamespaceHandlerContext.WalkInfo = WalkInfo; + WalkNamespaceHandlerContext.ActionCounter = ActionCounter; + + Status = AcpiWalkNamespace ( + Type, StartObject, MaxDepth, AtWalkNamespaceHandler, NULL, + &WalkNamespaceHandlerContext, (void **)&ReturnValue); + + if (!(OsxfNumAct = OsxfCtrlGetActOsxf(OsxfNum, 1))) + { + if (i == TFst) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + } + TestPass++; + Continue_Cond = 0; + } + else + { + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiWalkNamespace returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + + Status = AtTerminateCtrlCheck(AE_OK, ALL_STAT); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + if (i >= TMax) + { + TestErrors++; + printf ("Test error: there are test cases remained\n"); + return (AE_ERROR); + } + + return (AE_OK); +} + +/* + * ASSERTION 0119: + */ +ACPI_STATUS +AtNSpaceTest0119(void) +{ + ACPI_STATUS Status; + UINT32 i; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0000.aml"))) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + + Status = AtWalkNamespaceExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY, + ACPI_TYPE_DEVICE, NULL, 7, AE_OK, + sizeof (DeviceWalkInfo0000) / sizeof (AT_WALK_INFO) + 1, + sizeof (DeviceWalkInfo0000) / sizeof (AT_WALK_INFO), + DeviceWalkInfo0000); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtWalkNamespaceExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY, + ACPI_TYPE_DEVICE, "\\D1L1.D2L0.D3L0.D4L_", 12, AE_OK, + sizeof (DeviceWalkInfo0000) / sizeof (AT_WALK_INFO) + 1, + sizeof (DeviceWalkInfo0000) / sizeof (AT_WALK_INFO), + DeviceWalkInfo0000); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 1; i < sizeof (LevelTypes0000) / sizeof (ACPI_OBJECT_TYPE); i++) + { + Status = AtWalkNamespaceExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY, + ACPI_TYPE_DEVICE, "\\D1L3", 2, AE_OK, + 2, 1, + TypesWalkInfoLevel2 + i); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + + Status = AtWalkNamespaceExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY, + ACPI_TYPE_DEVICE, NULL, 7, AE_OK, + sizeof (DeviceWalkInfo0000) / sizeof (AT_WALK_INFO) + 1, + sizeof (DeviceWalkInfo0000) / sizeof (AT_WALK_INFO), + DeviceWalkInfo0000); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtWalkNamespaceExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY, + ACPI_TYPE_DEVICE, "\\D1L1.D2L0.D3L0.D4L_", 12, AE_OK, + sizeof (DeviceWalkInfo0000) / sizeof (AT_WALK_INFO) + 1, + sizeof (DeviceWalkInfo0000) / sizeof (AT_WALK_INFO), + DeviceWalkInfo0000); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 1; i < sizeof (LevelTypes0000) / sizeof (ACPI_OBJECT_TYPE); i++) + { + Status = AtWalkNamespaceExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY, + ACPI_TYPE_DEVICE, "\\D1L3", 2, AE_OK, + 2, 1, + TypesWalkInfoLevel2 + i); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0120: + * + */ +ACPI_STATUS +AtNSpaceTest0120(void) +{ + void *Data[] = {DataBuffer}; + UINT32 HandlerId[] = {0}; + ACPI_OBJECT_HANDLER Handlers[] = {AttachDataHandler0}; + UINT32 DetachHandlerId[] = {0}; + ACPI_OBJECT_HANDLER DetachHandlers[] = {AttachDataHandler0}; + ACPI_STATUS ExpectedStatus[] = {AE_OK}; + + return (AtDetachDataCommon(0, + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.INT0", + Data, Handlers, HandlerId, 1, + DetachHandlers, DetachHandlerId, 1, ExpectedStatus)); +} + +/* + * ASSERTION 0121: + * + */ +ACPI_STATUS +AtNSpaceTest0121(void) +{ + return (AtGetHandleExceptionCommon(8, AE_OK)); +} + +/* + * ASSERTION 0122: + * + */ +ACPI_STATUS +AtNSpaceTest0122(void) +{ + ACPI_STRING Pathnames[] = {"\\"}; + UINT32 HandleId[] = {0, 0, 0}; + void *Data[] = {DataBuffer, DataBuffer + 1, DataBuffer + 2}; + UINT32 HandlerId[] = {0, 1, 2}; + ACPI_OBJECT_HANDLER Handlers[] = {AttachDataHandler0, + AttachDataHandler1, AttachDataHandler2}; + ACPI_STATUS ExpectedStatus[] = {AE_OK, AE_OK, AE_OK}; + + return (AtAttachDataCommon(0, + 1, Pathnames, 3, HandleId, Data, Handlers, HandlerId, ExpectedStatus)); +} + +/* + * ASSERTION 0123: + * + */ +ACPI_STATUS +AtNSpaceTest0123(void) +{ + ACPI_STRING Pathnames[] = {"\\BLK0.DEVA"}; + UINT32 HandleId[] = {0, 0, 0}; + void *Data[] = {DataBuffer, DataBuffer + 1, DataBuffer + 2}; + UINT32 HandlerId[] = {0, 1, 2}; + ACPI_OBJECT_HANDLER Handlers[] = {AttachDataHandler0, + AttachDataHandler1, AttachDataHandler2}; + ACPI_STATUS ExpectedStatus[] = {AE_OK, AE_OK, AE_OK}; + + return (AtAttachDataCommon(3, + 1, Pathnames, 3, HandleId, Data, Handlers, HandlerId, ExpectedStatus)); +} + +/* + * ASSERTION 0124: + * + */ +ACPI_STATUS +AtNSpaceTest0124(void) +{ + ACPI_STRING Pathnames[] = + {"\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEVA"}; + UINT32 HandleId[] = {0, 0, 0}; + void *Data[] = {DataBuffer, DataBuffer + 1, DataBuffer + 2}; + UINT32 HandlerId[] = {0, 1, 2}; + ACPI_OBJECT_HANDLER Handlers[] = {AttachDataHandler0, + AttachDataHandler1, AttachDataHandler2}; + ACPI_STATUS ExpectedStatus[] = {AE_OK, AE_OK, AE_OK}; + + return (AtAttachDataCommon(4, + 1, Pathnames, 3, HandleId, Data, Handlers, HandlerId, ExpectedStatus)); +} + +/* + * ASSERTION 0125: + * + */ +ACPI_STATUS +AtNSpaceTest0125(void) +{ + ACPI_STRING Pathnames[] = { + "\\D1L1.D2L0.D3L0.D4L_", + "\\", + "\\D1L1.D2L0.D3L0.D4L_.D5L0.D6L0.D7L0.D8L0.D9L0.DAL0.DEV0"}; + UINT32 HandleId[] = {0, 1, 2}; + void *Data[] = {DataBuffer, DataBuffer + 1, DataBuffer + 2}; + UINT32 HandlerId[] = {0, 1, 2}; + ACPI_OBJECT_HANDLER Handlers[] = {AttachDataHandler0, + AttachDataHandler1, AttachDataHandler2}; + ACPI_STATUS ExpectedStatus[] = {AE_OK, AE_OK, AE_OK}; + + return (AtAttachDataCommon(0, + 3, Pathnames, 3, HandleId, Data, Handlers, HandlerId, ExpectedStatus)); +} + +/* + * ASSERTION 0126: + * BZ 7689 AE_AML_BUFFER_LIMIT reprodusing + * + */ +ACPI_STATUS +AtNSpaceTest0126(void) +{ + ACPI_STATUS Status; + struct acpi_object_list input; + union acpi_object in_params[1]; + char *ParentDev = "\\_SB_.C002.C341.C0F3"; + + typedef unsigned char u8; + typedef unsigned short u16; + enum ATA_CONST {ATA_ID_WORDS = 256}; + struct { + ACPI_HANDLE obj_handle; + u16 id[ATA_ID_WORDS]; /* IDENTIFY xxx DEVICE data */ + } atadev_obj, *atadev = &atadev_obj; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("nmsp0126.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, ParentDev, &atadev->obj_handle); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("AtNSpaceTest0126: AcpiGetHandle(NULL, %s) returned %s\n", + ParentDev, AcpiFormatException(Status)); + return (Status); + } + + /* from drivers/ata/libata-acpi.c */ + + /* Give the drive Identify data to the drive via the _SDD method */ + /* _SDD: set up input parameters */ + input.Count = 1; + input.Pointer = in_params; + in_params[0].Type = ACPI_TYPE_BUFFER; + in_params[0].Buffer.Length = sizeof(atadev->id[0]) * ATA_ID_WORDS; + in_params[0].Buffer.Pointer = (u8 *)atadev->id; + + memset(in_params[0].Buffer.Pointer, 0, in_params[0].Buffer.Length); + + /* Output buffer: _SDD has no output */ + + /* It's OK for _SDD to be missing too. */ + Status = AcpiEvaluateObject(atadev->obj_handle, "_SDD", &input, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("AtNSpaceTest0126: AcpiEvaluateObject(%s) returned %s\n", + "_SDD", AcpiFormatException(Status)); + return (Status); + } + + return (AE_OK); +} diff --git a/tests/aapits/atnamespace.h b/tests/aapits/atnamespace.h new file mode 100644 index 0000000..2da3fd8 --- /dev/null +++ b/tests/aapits/atnamespace.h @@ -0,0 +1,140 @@ +/****************************************************************************** + * + * Module Name: atnamespace - predefinitions of tests of the test case + * + *****************************************************************************/ + +#ifndef _ATNAMESPACE +#define _ATNAMESPACE + +AT_TEST AtNSpaceTest0000; +AT_TEST AtNSpaceTest0001; +AT_TEST AtNSpaceTest0002; +AT_TEST AtNSpaceTest0003; +AT_TEST AtNSpaceTest0004; +AT_TEST AtNSpaceTest0005; +AT_TEST AtNSpaceTest0006; +AT_TEST AtNSpaceTest0007; +AT_TEST AtNSpaceTest0008; +AT_TEST AtNSpaceTest0009; +AT_TEST AtNSpaceTest0010; +AT_TEST AtNSpaceTest0011; +AT_TEST AtNSpaceTest0012; +AT_TEST AtNSpaceTest0013; +AT_TEST AtNSpaceTest0014; +AT_TEST AtNSpaceTest0015; +AT_TEST AtNSpaceTest0016; +AT_TEST AtNSpaceTest0017; +AT_TEST AtNSpaceTest0018; +AT_TEST AtNSpaceTest0019; +AT_TEST AtNSpaceTest0020; +AT_TEST AtNSpaceTest0021; +AT_TEST AtNSpaceTest0022; +AT_TEST AtNSpaceTest0023; +AT_TEST AtNSpaceTest0024; +AT_TEST AtNSpaceTest0025; +AT_TEST AtNSpaceTest0026; +AT_TEST AtNSpaceTest0027; +AT_TEST AtNSpaceTest0028; +AT_TEST AtNSpaceTest0029; +AT_TEST AtNSpaceTest0030; +AT_TEST AtNSpaceTest0031; +AT_TEST AtNSpaceTest0032; +AT_TEST AtNSpaceTest0033; +AT_TEST AtNSpaceTest0034; +AT_TEST AtNSpaceTest0035; +AT_TEST AtNSpaceTest0036; +AT_TEST AtNSpaceTest0037; +AT_TEST AtNSpaceTest0038; +AT_TEST AtNSpaceTest0039; +AT_TEST AtNSpaceTest0040; +AT_TEST AtNSpaceTest0041; +AT_TEST AtNSpaceTest0042; +AT_TEST AtNSpaceTest0043; +AT_TEST AtNSpaceTest0044; +AT_TEST AtNSpaceTest0045; +AT_TEST AtNSpaceTest0046; +AT_TEST AtNSpaceTest0047; +AT_TEST AtNSpaceTest0048; +AT_TEST AtNSpaceTest0049; +AT_TEST AtNSpaceTest0050; +AT_TEST AtNSpaceTest0051; +AT_TEST AtNSpaceTest0052; +AT_TEST AtNSpaceTest0053; +AT_TEST AtNSpaceTest0054; +AT_TEST AtNSpaceTest0055; +AT_TEST AtNSpaceTest0056; +AT_TEST AtNSpaceTest0057; +AT_TEST AtNSpaceTest0058; +AT_TEST AtNSpaceTest0059; +AT_TEST AtNSpaceTest0060; +AT_TEST AtNSpaceTest0061; +AT_TEST AtNSpaceTest0062; +AT_TEST AtNSpaceTest0063; +AT_TEST AtNSpaceTest0064; +AT_TEST AtNSpaceTest0065; +AT_TEST AtNSpaceTest0066; +AT_TEST AtNSpaceTest0067; +AT_TEST AtNSpaceTest0068; +AT_TEST AtNSpaceTest0069; +AT_TEST AtNSpaceTest0070; +AT_TEST AtNSpaceTest0071; +AT_TEST AtNSpaceTest0072; +AT_TEST AtNSpaceTest0073; +AT_TEST AtNSpaceTest0074; +AT_TEST AtNSpaceTest0075; +AT_TEST AtNSpaceTest0076; +AT_TEST AtNSpaceTest0077; +AT_TEST AtNSpaceTest0078; +AT_TEST AtNSpaceTest0079; +AT_TEST AtNSpaceTest0080; +AT_TEST AtNSpaceTest0081; +AT_TEST AtNSpaceTest0082; +AT_TEST AtNSpaceTest0083; +AT_TEST AtNSpaceTest0084; +AT_TEST AtNSpaceTest0085; +AT_TEST AtNSpaceTest0086; +AT_TEST AtNSpaceTest0087; +AT_TEST AtNSpaceTest0088; +AT_TEST AtNSpaceTest0089; +AT_TEST AtNSpaceTest0090; +AT_TEST AtNSpaceTest0091; +AT_TEST AtNSpaceTest0092; +AT_TEST AtNSpaceTest0093; +AT_TEST AtNSpaceTest0094; +AT_TEST AtNSpaceTest0095; +AT_TEST AtNSpaceTest0096; +AT_TEST AtNSpaceTest0097; +AT_TEST AtNSpaceTest0098; +AT_TEST AtNSpaceTest0099; +AT_TEST AtNSpaceTest0100; +AT_TEST AtNSpaceTest0101; +AT_TEST AtNSpaceTest0102; +AT_TEST AtNSpaceTest0103; +AT_TEST AtNSpaceTest0104; +AT_TEST AtNSpaceTest0105; +AT_TEST AtNSpaceTest0106; +AT_TEST AtNSpaceTest0107; +AT_TEST AtNSpaceTest0108; +AT_TEST AtNSpaceTest0109; +AT_TEST AtNSpaceTest0110; +AT_TEST AtNSpaceTest0111; +AT_TEST AtNSpaceTest0112; +AT_TEST AtNSpaceTest0113; +AT_TEST AtNSpaceTest0114; +AT_TEST AtNSpaceTest0115; +AT_TEST AtNSpaceTest0116; +AT_TEST AtNSpaceTest0117; +AT_TEST AtNSpaceTest0118; +AT_TEST AtNSpaceTest0119; +AT_TEST AtNSpaceTest0120; +AT_TEST AtNSpaceTest0121; +AT_TEST AtNSpaceTest0122; +AT_TEST AtNSpaceTest0123; +AT_TEST AtNSpaceTest0124; +AT_TEST AtNSpaceTest0125; +AT_TEST AtNSpaceTest0126; + +#define AT_NSPM_TEST_NUM 127 + +#endif /* _ATNAMESPACE */ diff --git a/tests/aapits/atosxfctrl.c b/tests/aapits/atosxfctrl.c new file mode 100644 index 0000000..84f3fcb --- /dev/null +++ b/tests/aapits/atosxfctrl.c @@ -0,0 +1,860 @@ +#include +#include + +#include "atosxfctrl.h" + +#define _COMPONENT ACPI_OSXF_SERVICES + ACPI_MODULE_NAME ("atosxfctrl") + +UINT32 OsInitialized = 0; + +const char *OsxfNames[] = { + "AcpiOs Total Calls", + "AcpiOsInitialize", + "AcpiOsTerminate", + "AcpiOsGetRootPointer", + "AcpiOsPredefinedOverride", + "AcpiOsTableOverride", + "AcpiOsGetTimer", + "AcpiOsReadable", + "AcpiOsWritable", + "AcpiOsRedirectOutput", + "AcpiOsPrintf", + "AcpiOsVprintf", + "AcpiOsGetLine", + "AcpiOsMapMemory", + "AcpiOsUnmapMemory", + "AcpiOsAllocate", + "AcpiOsFree", + "AcpiOsCreateSemaphore", + "AcpiOsDeleteSemaphore", + "AcpiOsWaitSemaphore", + "AcpiOsSignalSemaphore", + "AcpiOsCreateLock", + "AcpiOsDeleteLock", + "AcpiOsAcquireLock", + "AcpiOsReleaseLock", + "AcpiOsInstallInterruptHandler", + "AcpiOsRemoveInterruptHandler", + "AcpiOsGetThreadId", + "AcpiOsQueueForExecution", + "AcpiOsStall", + "AcpiOsSleep", + "AcpiOsReadPciConfiguration", + "AcpiOsWritePciConfiguration", + "AcpiOsDerivePciId", + "AcpiOsReadPort", + "AcpiOsWritePort", + "AcpiOsReadMemory", + "AcpiOsWriteMemory", + "AcpiOsSignal"}; + +ACPI_OSXF_CONTROL OsxfCtrl[AcpiOsAllC]; + +UINT64 TotalCallsCountMark = 0; /* the mark in OsxfCtrlCheck() */ +UINT64 FinalCallsCountMark = 0; /* the mark in AcpiOsTerminate() */ + +ACPI_OSXF_CONTROL InitOsxfCtrl; + +static ACPI_OSXF_EMUL_REG *RegList; + +static ACPI_OSXF_EMUL_REG *FixedRegs[AtFixeReg_All]; + +/* + * Initialize AcpiOS* interfaces test control data. + * + */ +ACPI_STATUS +OsxfCtrlInit( + void) +{ + UINT32 i; + + for (i = 0; i < AcpiOsAllC; i++) + { + OsxfCtrl[i].CallsCount = 0; + OsxfCtrl[i].SuccessCount = 0; + OsxfCtrl[i].CtrlAct.CallsCount = 0; + } + + InitOsxfCtrl = OsxfCtrl[OSXF_NUM(AcpiOsInitialize)]; + + return (AE_OK); +} + +/* + * Calculate AcpiOS* interfaces calls. + * + */ +ACPI_STATUS +OsxfCtrlGet(ACPI_OSXF OsxfNum, ACPI_OSXF_CONTROL *Ctrl) +{ + if (OsxfNum < AcpiOsAllC) + { + *Ctrl = OsxfCtrl[OsxfNum]; + return (AE_OK); + } + + return (AE_ERROR); +} + +/* + * Get specified AcpiOS* interface calls. + * + */ +UINT64 +OsxfCtrlGetCalls( + ACPI_OSXF OsxfNum, + UINT32 SuccessCountFlag) +{ + UINT64 Count; + + if (SuccessCountFlag) + { + Count = OsxfCtrl[OsxfNum].SuccessCount; + } + else + { + Count = OsxfCtrl[OsxfNum].CallsCount; + } + + return (Count); +} + +/* + * Calculate AcpiOS* interfaces calls. + * + */ +UINT64 +OsxfCtrlTotalCalls( + UINT32 SuccessCountFlag) +{ + UINT64 Count = 0; + UINT32 i; + + if (SuccessCountFlag) + { + for (i = AcpiOsInitializeC; i < AcpiOsAllC; i++) + { + Count += OsxfCtrl[i].SuccessCount; + } + } + else + { + Count = OsxfCtrl[OSXF_NUM(AcpiOsTotal)].CallsCount; + } + + return (Count); +} + +/* + * Set test action data for the specified AcpiOS* interface. + * + */ +ACPI_STATUS +OsxfCtrlSet( + ACPI_OSXF OsxfNum, + UINT64 CallsCount, + AT_ACTD_FLAG ActFlag, + AT_ACT_CODE ActCode) +{ + ACPI_OSXF_CONTROL *Ctrl = &OsxfCtrl[OsxfNum]; + + if (CallsCount > 0 && ActCode < AtActAll && + AtActUndefined < ActCode) + { + if (Ctrl->CtrlAct.ActFlag != AtActD_Permanent && + Ctrl->CtrlAct.CallsCount != 0) + { + printf("OsxfCtrlSet(%s): test error, there is waiting" + " action for CallsCount %d, ActFlag %d, ActCode %d\n", + OSXF_NAME(OsxfNum), (UINT32)Ctrl->CtrlAct.CallsCount, + Ctrl->CtrlAct.ActFlag, Ctrl->CtrlAct.ActCode); + return (AE_ERROR); + } + } + else + { + printf("OsxfCtrlSet(%s): test interface error, should be" + " CallsCount(%d) > 0 && %d < ActCode(%d) < %d\n", + OSXF_NAME(OsxfNum), + (UINT32)CallsCount, ActCode, AtActUndefined, AtActAll); + return (AE_ERROR); + } + + Ctrl->CtrlAct.CallsCount = Ctrl->CallsCount + CallsCount; + Ctrl->CtrlAct.ActFlag = ActFlag; + Ctrl->CtrlAct.ActCode = ActCode; + Ctrl->CtrlAct.ActOsxf = 0; + + return (AE_OK); +} + +/* + * Get the number of AcpiOS* interface which CHCK_RET_STATUS + * condition taked place in. Optionally clean the control data. + * + */ +ACPI_OSXF +OsxfCtrlGetActOsxf( + ACPI_OSXF OsxfNum, + UINT32 Clean) +{ + ACPI_OSXF ActOsxf = OsxfCtrl[OsxfNum].CtrlAct.ActOsxf; + + if (Clean) + { + OsxfCtrl[OsxfNum].CtrlAct.CallsCount = 0; + } + return (ActOsxf); +} + +/* + * Update FinalCallsCountMark + * + */ +void +OsxfUpdateCallsMark(void) +{ + FinalCallsCountMark = OsxfCtrlTotalCalls(0); +} + +/* + * Get the number of overall AcpiOs* calls since the last mark + * + */ +UINT64 +OsxfGetCallsDiff(void) +{ + return (OsxfCtrlTotalCalls(0) - FinalCallsCountMark); +} + +/* + * Check specified conditions on AcpiOsInitialize test control data. + * + */ +ACPI_STATUS +InitOsxfCtrlCheck( + ACPI_STATUS Check_Status) +{ + ACPI_OSXF_CONTROL Ctrl = InitOsxfCtrl; + + InitOsxfCtrl = OsxfCtrl[OSXF_NUM(AcpiOsInitialize)]; + + if ((InitOsxfCtrl.CallsCount != Ctrl.CallsCount + 1) || + (InitOsxfCtrl.SuccessCount != Ctrl.SuccessCount + + (Check_Status == AE_OK))) + { + printf("API error: invalid AcpiOsInitialize call conditions" + " on Status %s\n", AcpiFormatException(Check_Status)); + return (AE_ERROR); + } + return (AE_OK); +} + +/* + * Get specified differencies on AcpiOS* allocation/releasing interfaces calls. + * + */ +INT64 +OsxfCtrlGetDiff( + UINT32 OsxfFlags) +{ + INT64 Diff64 = -1; + UINT32 OsxfNum0, OsxfNum1; + UINT64 NewTotalCallsCount; + + if (OsxfFlags & TOTAL_STAT) + { + NewTotalCallsCount = OsxfCtrlTotalCalls(0); + Diff64 = NewTotalCallsCount - TotalCallsCountMark; + TotalCallsCountMark = NewTotalCallsCount; + } + else + { + switch (OsxfFlags) + { + case OSINIT_STAT: + OsxfNum0 = OSXF_NUM(AcpiOsInitialize); + OsxfNum1 = OSXF_NUM(AcpiOsTerminate); + break; + case MALLOC_STAT: + OsxfNum0 = OSXF_NUM(AcpiOsAllocate); + OsxfNum1 = OSXF_NUM(AcpiOsFree); + break; + case MMAP_STAT: + OsxfNum0 = OSXF_NUM(AcpiOsMapMemory); + OsxfNum1 = OSXF_NUM(AcpiOsUnmapMemory); + break; + case SEMAPH_STAT: + OsxfNum0 = OSXF_NUM(AcpiOsCreateSemaphore); + OsxfNum1 = OSXF_NUM(AcpiOsDeleteSemaphore); + break; + case LOCK_STAT: + OsxfNum0 = OSXF_NUM(AcpiOsCreateLock); + OsxfNum1 = OSXF_NUM(AcpiOsDeleteLock); + break; + default: + OsxfNum0 = OSXF_NUM(AcpiOsTotal); + OsxfNum1 = OSXF_NUM(AcpiOsTotal); + break; + } + + Diff64 = OsxfCtrl[OsxfNum0].SuccessCount - OsxfCtrl[OsxfNum1].SuccessCount; + } + + return (Diff64); +} + +const char *stat_msg[] = { + "OSINIT_STAT", + "MALLOC_STAT", + "MMAP_STAT", + "SEMAPH_STAT", + "LOCK_STAT"}; + +/* + * Check specified conditions on AcpiOS* interfaces test control data. + * + */ +ACPI_STATUS +OsxfCtrlCheck( + UINT32 CondFlags, + UINT32 FreeCond) +{ + INT64 Diff64; + UINT32 i; + UINT32 Diff_Flags = 0; + UINT32 Free_Flag = 0; + UINT32 OsxfNum1; + + if (CondFlags & FREE_STAT) + { + CondFlags &= ~FREE_STAT; + Free_Flag = 1; + } + + if (CondFlags & TOTAL_STAT) + { + CondFlags &= ~TOTAL_STAT; + + Diff64 = OsxfCtrlGetDiff(TOTAL_STAT); + + if (Diff64 < 0) + { + printf("Test error: invalid CallsCount calculation\n"); + return (AE_ERROR); + } + + if ((Diff64 == 0 && (FreeCond == 0)) || + (Diff64 > 0 && (FreeCond != 0))) + { + printf("API error: contradictory %d AcpiOS* invocations" + " on FreeCond %d\n", (UINT32)Diff64, FreeCond); + return (AE_ERROR); + } + } + + if ((ALL_STAT & CondFlags) != CondFlags) + { + printf("Test error: unexpected CondFlags 0x%x\n", + ~ALL_STAT & CondFlags); + return (AE_ERROR); + } + if (!CondFlags) + { + return (AE_OK); + } + for (i = 0; i < 5; i++) + { + if (CondFlags & (1 << i)) + { + Diff64 = OsxfCtrlGetDiff(1 << i); + + if (Diff64 < 0) + { + printf("%s API error: there were invalid" + " freeings, Diff = %d\n", stat_msg[i], (UINT32)Diff64); + return (AE_ERROR); + } + + if ((FreeCond == 0 && Diff64 == 0) || + (FreeCond != 0 && Diff64 != 0)) + { + Diff_Flags |= (1 << i); + } + if (Free_Flag) + { + switch (1 << i) + { + case OSINIT_STAT: + OsxfNum1 = OSXF_NUM(AcpiOsTerminate); + break; + case MALLOC_STAT: + OsxfNum1 = OSXF_NUM(AcpiOsFree); + break; + case MMAP_STAT: + OsxfNum1 = OSXF_NUM(AcpiOsUnmapMemory); + break; + case SEMAPH_STAT: + OsxfNum1 = OSXF_NUM(AcpiOsDeleteSemaphore); + break; + case LOCK_STAT: + OsxfNum1 = OSXF_NUM(AcpiOsDeleteLock); + break; + default: + OsxfNum1 = OSXF_NUM(AcpiOsTotal); + break; + } + + /* Check that all resource releasings resulted in success */ + Diff64 = OsxfCtrl[OsxfNum1].CallsCount - OsxfCtrl[OsxfNum1].SuccessCount; + if (Diff64) + { + printf("%s API error: there were unexpected" + " freeings, Diff = %d\n", stat_msg[i], (UINT32)Diff64); + return (AE_ERROR); + } + } + } + } + if ((FreeCond == 0 && Diff_Flags == CondFlags) || + (FreeCond != 0 && Diff_Flags != 0)) + { + printf("API error: unexpected free conditions," + " FreeCond %d, Diff_Flags = 0x%.2x\n", FreeCond, Diff_Flags); + return (AE_ERROR); + } + + return (AE_OK); +} + +/* + * Print AcpiOS* interfaces test control data. + * + */ +ACPI_STATUS +OsxfCtrlPrint( + void) +{ + UINT32 i; + UINT32 Name_Len; +#define ALIGN_COLUMN 32 + char Align[ALIGN_COLUMN + 1]; + const char *OsxfName; + + OsxfCtrl[AcpiOsTotalC].SuccessCount = OsxfCtrlTotalCalls(1); + + printf("OsxfCtrl data (%d IF total)):\n", AcpiOsAllC); + for (i = 0; i < AcpiOsAllC; i++) + { + if (OsxfCtrl[i].CallsCount) + { + memset(Align, ' ', 32); + OsxfName = OSXF_NAME(i); + if ((Name_Len = strlen(OsxfName)) > ALIGN_COLUMN) + { + Align[0] = 0; + } + else + { + Align[ALIGN_COLUMN - Name_Len] = 0; + } + printf("%s%s%6.1d", OSXF_NAME(i), Align, + (UINT32)OsxfCtrl[i].CallsCount); + if (OsxfCtrl[i].CallsCount != OsxfCtrl[i].SuccessCount) + { + printf(": %6.1d", (UINT32)OsxfCtrl[i].SuccessCount); + } + printf("\n"); + } + } + + return (AE_OK); +} + +/* + * Direct setting to the emulated register. + * + */ +ACPI_STATUS +OsxfCtrlSetReg( + ACPI_OSXF_EMUL_REG *Reg, + UINT32 Value) +{ + UINT32 MaxValue; + + if (!Reg) + { + return (AE_ERROR); + } + + MaxValue = (UINT32)((((1 << (Reg->Width - 1)) - 1) << 1) + 1); + + if (Value > MaxValue) + { + return (AE_ERROR); + } + + Reg->Value = Value; + + return (AE_OK); +} + +/* + * Get the contents of the emulated register. + * + */ +ACPI_STATUS +OsxfCtrlGetReg( + ACPI_OSXF_EMUL_REG *Reg, + UINT32 *Value) +{ + if (!Reg) + { + return (AE_ERROR); + } + + *Value = Reg->Value; + + return (AE_OK); +} + +/* + * Auxiliary an emulated register setting to Ones + * + */ +void +OsxfCtrlSetRegOnes(ACPI_OSXF_EMUL_REG *Reg) +{ + Reg->Value = (UINT32)((((1 << (Reg->Width - 1)) - 1) << 1) + 1); +} + +/* + * Set Fixed ACPI h/w register + * + */ +ACPI_STATUS +OsxfCtrlSetFixedReg( + AT_FIXED_REG_NUM RegNum, + UINT32 Value) +{ + if (RegNum >= AtFixeReg_All) + { + return (AE_ERROR); + } + + return (OsxfCtrlSetReg(FixedRegs[RegNum], Value)); +} + +/* + * Set Fixed ACPI h/w register + * + */ +ACPI_STATUS +OsxfCtrlSetFixedRegOnes( + AT_FIXED_REG_NUM RegNum) +{ + if (RegNum >= AtFixeReg_All) + { + return (AE_ERROR); + } + + OsxfCtrlSetRegOnes(FixedRegs[RegNum]); + + return (AE_OK); +} + +/* + * Get Fixed ACPI h/w register + * + */ +ACPI_STATUS +OsxfCtrlGetFixedReg( + AT_FIXED_REG_NUM RegNum, + UINT32 *Value) +{ + if (RegNum >= AtFixeReg_All) + { + return (AE_ERROR); + } + + return (OsxfCtrlGetReg(FixedRegs[RegNum], Value)); +} + +/* + * Clear Fixed ACPI h/w registers + * + */ +ACPI_STATUS +OsxfCtrlClearFixedRegs(void) +{ + ACPI_STATUS Status = AE_OK; + AT_FIXED_REG_NUM RegNum; + + for (RegNum = 0; RegNum < AtFixeReg_All; RegNum++) + { + Status = OsxfCtrlSetReg(FixedRegs[RegNum], 0); + if (Status != AE_OK) + { + break; + } + } + return (Status); +} + +/* + * Search for installed emulated registers. + * + */ +ACPI_OSXF_EMUL_REG +*OsxfCtrlFingReg( + UINT32 Type, + ACPI_PHYSICAL_ADDRESS Address, + UINT32 Width, + UINT32 CreateFlag) +{ + ACPI_OSXF_EMUL_REG *Reg = RegList; + ACPI_PHYSICAL_ADDRESS Max, Min; + + if (Width == 0 || Width > 32) + { +#if ACPI_MACHINE_WIDTH == 64 +#ifdef _MSC_VER + printf("OsxfCtrlFingReg: unexpected Width %d of Reg 0x%I64x\n", +#else + printf("OsxfCtrlFingReg: unexpected Width %d of Reg 0x%llx\n", +#endif +#else + printf("OsxfCtrlFingReg: unexpected Width %d of Reg 0x%x\n", +#endif + Width, Address); + return (NULL); + } + + while (Reg) + { + Max = MAX(Reg->Address, Address); + Min = MIN(Reg->Address + ACPI_ROUND_BITS_UP_TO_BYTES(Reg->Width), + Address + ACPI_ROUND_BITS_UP_TO_BYTES(Width)); + if (Reg->Type == Type) + { + if (Reg->Address == Address && Reg->Width == Width) + { + return (Reg); + } + else if (Max < Min) + { +#if ACPI_MACHINE_WIDTH == 64 +#ifdef _MSC_VER + printf("OsxfCtrlFingReg: intersection Regs (0x%I64x: 0x%x)" + " and (0x%I64x: 0x%x)\n", +#else + printf("OsxfCtrlFingReg: intersection Regs (0x%llx: 0x%x)" + " and (0x%llx: 0x%x)\n", +#endif +#else + printf("OsxfCtrlFingReg: intersection Regs (0x%x: 0x%x)" + " and (0x%x: 0x%x)\n", +#endif + Reg->Address, Reg->Width, Address, Width); + return (NULL); + } + } + Reg = Reg->Next; + } + if (CreateFlag) + { + Reg = (ACPI_OSXF_EMUL_REG *) malloc(sizeof (ACPI_OSXF_EMUL_REG)); + if (!Reg) + { +#if ACPI_MACHINE_WIDTH == 64 +#ifdef _MSC_VER + printf("OsxfCtrlFingReg: no memory for Reg (0x%I64x: 0x%x)\n", +#else + printf("OsxfCtrlFingReg: no memory for Reg (0x%llx: 0x%x)\n", +#endif +#else + printf("OsxfCtrlFingReg: no memory for Reg (0x%x: 0x%x)\n", +#endif + Reg->Address, Reg->Width); + return (NULL); + } + Reg->Type = Type; + Reg->Address = Address; + Reg->Width = Width; + OsxfCtrlSetRegOnes(Reg); + Reg->ReadCount = 0; + Reg->WriteCount = 0; + Reg->Next = RegList; + RegList = Reg; + } + + return (Reg); +} + +/* + * Write to the emulated register. + * A bit in the fixed ACPI h/w Status registers are + * cleared if the respective written bit is set to 1. + * + */ +ACPI_STATUS +OsxfCtrlWriteReg( + UINT32 Type, + ACPI_PHYSICAL_ADDRESS Address, + UINT32 Value, + UINT32 Width) +{ + ACPI_STATUS Status; + ACPI_OSXF_EMUL_REG *Reg = OsxfCtrlFingReg(Type, Address, Width, 1); + + if (EMUL_STATUS_REG_MODE && + (Reg == FixedRegs[AtPm1aStatus] || Reg == FixedRegs[AtPm1bStatus])) + { + /* Clear bits being set to 1 */ + Value = Reg->Value & ~Value; + } + Status = OsxfCtrlSetReg(Reg, (UINT32) Value); + if (Status == AE_OK) + { + Reg->WriteCount++; + } + return (Status); +} + +/* + * Read out of the emulated register. + * + */ +ACPI_STATUS +OsxfCtrlReadReg( + UINT32 Type, + ACPI_PHYSICAL_ADDRESS Address, + UINT32 *Value, + UINT32 Width) +{ + ACPI_STATUS Status; + ACPI_OSXF_EMUL_REG *Reg = OsxfCtrlFingReg(Type, Address, Width, 1); + + Status = OsxfCtrlGetReg(Reg, Value); + if (Status == AE_OK) + { + Reg->ReadCount++; + } + return (Status); +} + +/* + * Initialize ACPI h/w registers + * + */ +ACPI_STATUS +OsxfCtrlAcpiRegsInit( + ACPI_TABLE_FADT *FADT, + ACPI_GENERIC_ADDRESS XPm1aEnable, + ACPI_GENERIC_ADDRESS XPm1bEnable) +{ + ACPI_OSXF_EMUL_REG *Reg; +#define INIT_REG(Ind, Adr, Size)\ + if (!(Reg = OsxfCtrlFingReg(EMUL_REG_IO,\ + (ACPI_PHYSICAL_ADDRESS)Adr, Size, 1)))\ + {\ + return (AE_ERROR);\ + }\ + FixedRegs[Ind] = Reg + + /* ACPI_REGISTER_PM1_STATUS, 16-bit access */ + INIT_REG(AtPm1aStatus, FADT->XPm1aEventBlock.Address, 16); + INIT_REG(AtPm1bStatus, FADT->XPm1bEventBlock.Address, 16); + + /* ACPI_REGISTER_PM1_ENABLE, 16-bit access */ + INIT_REG(AtPm1aEnable, XPm1aEnable.Address, 16); + INIT_REG(AtPm1bEnable, XPm1bEnable.Address, 16); + + /* ACPI_REGISTER_PM1_CONTROL, 16-bit access */ + INIT_REG(AtPm1aControl, FADT->XPm1aControlBlock.Address, 16); + INIT_REG(AtPm1bControl, FADT->XPm1bControlBlock.Address, 16); + + /* ACPI_REGISTER_PM2_CONTROL, 8-bit access */ + INIT_REG(AtPm2Control, FADT->XPm2ControlBlock.Address, 8); + + /* ACPI_REGISTER_PM_TIMER, 32-bit access */ + INIT_REG(AtPmTimer, FADT->XPmTimerBlock.Address, 32); + + /* ACPI_REGISTER_SMI_COMMAND_BLOCK, 8-bit access */ + INIT_REG(AtSmiCmdBlock, FADT->SmiCommand, 8); + + return (AE_OK); +} + +/* + * Emulated registers service. + * + */ +void +OsxfCtrlRegService(UINT32 ServiceFlag) +{ + ACPI_OSXF_EMUL_REG *Reg = RegList; + UINT32 i = 0; + + while (Reg) + { + if (ServiceFlag == 0) + { + /* Release memory */ + RegList = Reg->Next; + free(Reg); + Reg = RegList; + } + else if (ServiceFlag == 1) + { + /* Print registers summary */ + if (i == 0) + { + printf("OsxfCtrlRegService: registers summary\n"); + } +#if ACPI_MACHINE_WIDTH == 64 +#ifdef _MSC_VER + printf("%.2u (%s Address 0x%I64x: Width %.2u) r/w counts: %u/%u\n", +#else + printf("%.2u (%s Address 0x%llx: Width %.2u) r/w counts: %u/%u\n", +#endif +#else + printf("%.2u (%s Address 0x%.4x: Width %.2u) r/w counts: %u/%u\n", +#endif + i, (Reg->Type == EMUL_REG_SYS)? "SYS": "IO", + Reg->Address, Reg->Width, Reg->ReadCount, Reg->WriteCount); + Reg = Reg->Next; + i++; + } + } +} + +UINT32 +OsxfCtrlRetError( + ACPI_OSXF OsxfNum) +{ + if (OsxfCtrl[AcpiOsTotalC].CtrlAct.CallsCount && + OsxfCtrl[AcpiOsTotalC].CallsCount >= + OsxfCtrl[AcpiOsTotalC].CtrlAct.CallsCount) + { + if (OsxfCtrl[AcpiOsTotalC].CtrlAct.ActCode == AtActRet_ERROR) + { + if (OsxfCtrl[AcpiOsTotalC].CtrlAct.ActFlag == AtActD_OneTime) + { + OsxfCtrl[AcpiOsTotalC].CtrlAct.CallsCount = 0; + } + OsxfCtrl[AcpiOsTotalC].CtrlAct.ActOsxf = OsxfNum; + printf("OsxfCtrlRetError: ret AE_ERROR from %s\n", + OSXF_NAME(OsxfNum)); + return (1); + } + printf("Test error: for %s specified unknown test action %d," + " Calls %d\n", OSXF_NAME(OsxfNum), + OsxfCtrl[AcpiOsTotalC].CtrlAct.ActCode, + (UINT32)OsxfCtrl[AcpiOsTotalC].CtrlAct.CallsCount); + exit(-1); + } + return (0); +} diff --git a/tests/aapits/atosxfctrl.h b/tests/aapits/atosxfctrl.h new file mode 100644 index 0000000..1ec021f --- /dev/null +++ b/tests/aapits/atosxfctrl.h @@ -0,0 +1,400 @@ +/****************************************************************************** + * + * Module Name: atosxfctrl - include for AcpiOs* interfaces control + * + *****************************************************************************/ + +#ifndef _ATOSXFCTRL +#define _ATOSXFCTRL + +#include "acpi.h" +#include "accommon.h" + +/* + * AcpiOs* interfaces enumeration + */ +typedef enum +{ + AcpiOsTotalC, + AcpiOsInitializeC, + AcpiOsTerminateC, + AcpiOsGetRootPointerC, + AcpiOsPredefinedOverrideC, + AcpiOsTableOverrideC, + AcpiOsGetTimerC, + AcpiOsReadableC, + AcpiOsWritableC, + AcpiOsRedirectOutputC, + AcpiOsPrintfC, + AcpiOsVprintfC, + AcpiOsGetLineC, + AcpiOsMapMemoryC, + AcpiOsUnmapMemoryC, + AcpiOsAllocateC, + AcpiOsFreeC, + AcpiOsCreateSemaphoreC, + AcpiOsDeleteSemaphoreC, + AcpiOsWaitSemaphoreC, + AcpiOsSignalSemaphoreC, + AcpiOsCreateLockC, + AcpiOsDeleteLockC, + AcpiOsAcquireLockC, + AcpiOsReleaseLockC, + AcpiOsInstallInterruptHandlerC, + AcpiOsRemoveInterruptHandlerC, + AcpiOsGetThreadIdC, + AcpiOsExecuteC, + AcpiOsStallC, + AcpiOsSleepC, + AcpiOsValidateInterfaceC, + AcpiOsValidateAddressC, + AcpiOsReadPciConfigurationC, + AcpiOsWritePciConfigurationC, + AcpiOsDerivePciIdC, + AcpiOsReadPortC, + AcpiOsWritePortC, + AcpiOsReadMemoryC, + AcpiOsWriteMemoryC, + AcpiOsSignalC, + AcpiOsAllC, +} ACPI_OSXF; + +#define OSXF_NUM(inds) (inds##C) + +/* + * Test action codes + */ +typedef enum +{ + AtActUndefined, + AtActRet_NULL, + AtActRet_OK, + AtActRet_ERROR, + AtActRet_NO_MEMORY, + AtActAll, +} AT_ACT_CODE; + +/* + * Test action duration flags + */ +typedef enum +{ + AtActD_Permanent, + AtActD_OneTime, + AtActD_All, +} AT_ACTD_FLAG; + +typedef struct acpi_os_ctrl_act +{ + UINT64 CallsCount; + AT_ACTD_FLAG ActFlag; + AT_ACT_CODE ActCode; + ACPI_OSXF ActOsxf; +} ACPI_OSXF_CTRL_ACT; + +typedef struct acpi_os_control +{ + UINT64 CallsCount; + UINT64 SuccessCount; + ACPI_OSXF_CTRL_ACT CtrlAct; +} ACPI_OSXF_CONTROL; + +struct acpi_os_emul_reg; + +typedef struct acpi_os_emul_reg +{ + UINT32 Type; + ACPI_PHYSICAL_ADDRESS Address; + UINT32 Value; + UINT32 Width; + UINT32 ReadCount; + UINT32 WriteCount; + struct acpi_os_emul_reg *Next; +} ACPI_OSXF_EMUL_REG; + +#define EMUL_REG_MODE 1 +#define EMUL_STATUS_REG_MODE 1 + +/* + * Emulated registers types + */ +#define EMUL_REG_SYS 0x01 +#define EMUL_REG_IO 0x02 + +/* + * Fixed ACPI h/w emulated registers numbers + */ +typedef enum +{ + AtPm1aStatus, + AtPm1bStatus, + AtPm1aEnable, + AtPm1bEnable, + AtPm1aControl, + AtPm1bControl, + AtPm2Control, + AtPmTimer, + AtSmiCmdBlock, + AtFixeReg_All, +} AT_FIXED_REG_NUM; + +#define MAX(a,b) ((a) < (b))? (b) : (a) +#define MIN(a,b) ((a) < (b))? (a) : (b) + +/* + * Check IF statistics conditions flags + */ +#define OSINIT_STAT 0x01 +#define MALLOC_STAT 0x02 +#define MMAP_STAT 0x04 +#define SEMAPH_STAT 0x08 +#define LOCK_STAT 0x10 +#define TOTAL_STAT 0x20 +#define FREE_STAT 0x40 +#define SUCCESS_STAT (OSINIT_STAT | MALLOC_STAT | MMAP_STAT|\ + SEMAPH_STAT | LOCK_STAT) +#define ALL_STAT (SUCCESS_STAT | FREE_STAT) +#define SYS_STAT (SUCCESS_STAT & ~MMAP_STAT) + +extern const char *OsxfNames[]; + +#define OSXF_NAME(ind) OsxfNames[ind] + +extern ACPI_OSXF_CONTROL OsxfCtrl[]; + +extern UINT32 OsInitialized; +extern UINT64 TotalCallsCountMark; +extern UINT64 FinalCallsCountMark; +extern ACPI_OSXF_CONTROL Init_OsxfCtrl; + + +#define AT_CTRL_DECL1(inds) \ + ACPI_STATUS Status; \ + ACPI_OSXF_CONTROL *Ctrl = &OsxfCtrl[OSXF_NUM(inds)] + +#define AT_CTRL_DECL2(inds) \ + if (!(++OsxfCtrl[AcpiOsTotalC].CallsCount)) \ + { \ + printf("%s error: too many Calls!\n", \ + OSXF_NAME(AcpiOsTotalC)); \ + exit(-1); \ + } \ + if (!(++Ctrl->CallsCount)) \ + { \ + printf("%s error: too many Calls!\n", \ + OSXF_NAME(OSXF_NUM(inds))); \ + exit(-1); \ + } + +#define AT_CTRL_DECL3(inds) \ + ACPI_OSXF_CONTROL *Ctrl = &OsxfCtrl[OSXF_NUM(inds)] + +#define AT_CTRL_SUCCESS0(inds) \ + if (!(++Ctrl->SuccessCount)) \ + { \ + printf("%s error: too many Success Calls!\n", \ + OSXF_NAME(OSXF_NUM(inds))); \ + exit(-1); \ + } + +#define AT_CTRL_SUCCESS(inds) \ + if (ACPI_SUCCESS(Status) && !(++Ctrl->SuccessCount)) \ + { \ + printf("%s error: too many Success Calls!\n", \ + OSXF_NAME(OSXF_NUM(inds))); \ + exit(-1); \ + } + +#define AT_CTRL_DECL(inds) \ + AT_CTRL_DECL1(inds); \ + AT_CTRL_DECL2(inds); + +#define AT_CTRL_DECL0(inds) \ + AT_CTRL_DECL3(inds); \ + AT_CTRL_DECL2(inds); + +#define AT_ACT_EXIT(inds) \ + printf("Test error: for %s unknown test action %d," \ + " CallsCount %d\n", OSXF_NAME(OSXF_NUM(inds)), \ + Ctrl->CtrlAct.ActCode, (UINT32)Ctrl->CtrlAct.CallsCount); \ + exit(-1) + +#define AT_CHCK_RET_STATUS(inds) \ + if (OsxfCtrlRetError(OSXF_NUM(inds))) \ + { \ + return (AE_ERROR); \ + } + +#define AT_CHCK_RET_STATUS2(inds) \ + if (OsxfCtrl[AcpiOsTotalC].CtrlAct.CallsCount && \ + OsxfCtrl[AcpiOsTotalC].CallsCount >= \ + OsxfCtrl[AcpiOsTotalC].CtrlAct.CallsCount) \ + { \ + if (OsxfCtrl[AcpiOsTotalC].CtrlAct.ActCode == AtActRet_ERROR) \ + { \ + if (OsxfCtrl[AcpiOsTotalC].CtrlAct.ActFlag == AtActD_OneTime) { \ + OsxfCtrl[AcpiOsTotalC].CtrlAct.CallsCount = 0; \ + } \ + OsxfCtrl[AcpiOsTotalC].CtrlAct.ActOsxf = OSXF_NUM(inds); \ + return (AE_ERROR); \ + } \ + AT_ACT_EXIT(inds); \ + } + +#define AT_CHCK_RET_ERROR(inds) \ + if (Ctrl->CtrlAct.CallsCount && \ + Ctrl->CallsCount >= Ctrl->CtrlAct.CallsCount) \ + { \ + if (Ctrl->CtrlAct.ActCode == AtActRet_ERROR) \ + { \ + if (Ctrl->CtrlAct.ActFlag == AtActD_OneTime) \ + { \ + Ctrl->CtrlAct.CallsCount = 0; \ + } \ + Ctrl->CtrlAct.ActOsxf = OSXF_NUM(inds); \ + return (AE_ERROR); \ + } \ + AT_ACT_EXIT(inds); \ + } + +#define AT_CHCK_RET_NULL(inds) \ + if (Ctrl->CtrlAct.CallsCount && \ + Ctrl->CallsCount >= Ctrl->CtrlAct.CallsCount) \ + { \ + if (Ctrl->CtrlAct.ActCode == AtActRet_NULL) \ + { \ + if (Ctrl->CtrlAct.ActFlag == AtActD_OneTime) \ + {\ + Ctrl->CtrlAct.CallsCount = 0; \ + } \ + Ctrl->CtrlAct.ActOsxf = OSXF_NUM(inds); \ + return (NULL); \ + } \ + AT_ACT_EXIT(inds); \ + } + +#define AT_CHCK_RET_ZERO(inds) \ + if (Ctrl->CtrlAct.CallsCount && \ + Ctrl->CallsCount >= Ctrl->CtrlAct.CallsCount) \ + { \ + if (Ctrl->CtrlAct.ActCode == AtActRet_NULL) \ + { \ + if (Ctrl->CtrlAct.ActFlag == AtActD_OneTime) \ + {\ + Ctrl->CtrlAct.CallsCount = 0; \ + } \ + Ctrl->CtrlAct.ActOsxf = OSXF_NUM(inds); \ + return (0); \ + } \ + AT_ACT_EXIT(inds); \ + } + +#define AT_CHCK_RET_NO_MEMORY(inds) \ + if (Ctrl->CtrlAct.CallsCount && \ + Ctrl->CallsCount >= Ctrl->CtrlAct.CallsCount) \ + { \ + if (Ctrl->CtrlAct.ActCode == AtActRet_NO_MEMORY) \ + { \ + if (Ctrl->CtrlAct.ActFlag == AtActD_OneTime) \ + { \ + Ctrl->CtrlAct.CallsCount = 0; \ + } \ + Ctrl->CtrlAct.ActOsxf = OSXF_NUM(inds); \ + return (AE_NO_MEMORY); \ + } \ + AT_ACT_EXIT(inds); \ + } + +ACPI_STATUS +OsxfCtrlInit( + void); + +ACPI_STATUS +OsxfCtrlSet( + ACPI_OSXF OsxfNum, + UINT64 CallsCount, + AT_ACTD_FLAG ActFlag, + AT_ACT_CODE ActCode); + +ACPI_OSXF +OsxfCtrlGetActOsxf( + ACPI_OSXF OsxfNum, + UINT32 Clean); + +void +OsxfUpdateCallsMark(void); + +UINT64 +OsxfGetCallsDiff(void); + +ACPI_STATUS +OsxfCtrlPrint( + void); + +ACPI_STATUS +OsxfCtrlCheck( + UINT32 CondFlags, + UINT32 FreeCond); + +ACPI_STATUS +InitOsxfCtrlCheck( + ACPI_STATUS Check_Status); + +UINT64 +OsxfCtrlTotalCalls( + UINT32 SuccessCountFlag); + +UINT64 +OsxfCtrlGetCalls( + ACPI_OSXF OsxfNum, + UINT32 SuccessCountFlag); + +INT64 +OsxfCtrlGetDiff( + UINT32 OsxfFlags); + +ACPI_STATUS +OsxfCtrlSetFixedReg( + AT_FIXED_REG_NUM RegNum, + UINT32 Value); + +ACPI_STATUS +OsxfCtrlSetFixedRegOnes( + AT_FIXED_REG_NUM RegNum); + +ACPI_STATUS +OsxfCtrlGetFixedReg( + AT_FIXED_REG_NUM RegNum, + UINT32 *Value); + +ACPI_STATUS +OsxfCtrlClearFixedRegs(void); + +ACPI_STATUS +OsxfCtrlWriteReg( + UINT32 Type, + ACPI_PHYSICAL_ADDRESS Address, + UINT32 Value, + UINT32 Width); + +ACPI_STATUS +OsxfCtrlReadReg( + UINT32 Type, + ACPI_PHYSICAL_ADDRESS Address, + UINT32 *Value, + UINT32 Width); + +ACPI_STATUS +OsxfCtrlAcpiRegsInit( + ACPI_TABLE_FADT *FADT, + ACPI_GENERIC_ADDRESS XPm1aEnable, + ACPI_GENERIC_ADDRESS XPm1bEnable); + +void +OsxfCtrlRegService(UINT32 ServiceFlag); + +UINT32 +OsxfCtrlRetError( + ACPI_OSXF OsxfNum); + +#endif /* _ATOSXFCTRL */ diff --git a/tests/aapits/atosxfwrap.c b/tests/aapits/atosxfwrap.c new file mode 100644 index 0000000..193b5fc --- /dev/null +++ b/tests/aapits/atosxfwrap.c @@ -0,0 +1,1274 @@ +/****************************************************************************** + * + * Module Name: atosxfwrap.c - ACPICA OSL wrapper + * + * supporting the ACPICA API test suite actions + * + *****************************************************************************/ + +#include + +#include "acpi.h" +#include "accommon.h" + +#include "atcommon.h" +#include "atosxfctrl.h" +#include "atosxfwrap.h" + +#define _COMPONENT ACPI_OS_SERVICES + ACPI_MODULE_NAME ("atosxfwrap") + + +ACPI_STATUS +AcpiOsInitialize (void) +{ + UINT64 Calls = OsxfGetCallsDiff(); + AT_CTRL_DECL(AcpiOsInitialize); + + if (OsInitialized) + { + printf("AcpiOsInitialize: OSL has already been initialized\n"); + return (AE_ERROR); + } + if (Calls) + { + printf("AcpiOsInitialize: there were %u OSL interfaces calls" + " done ahead of OsInitialize\n", (UINT32)Calls); + return (AE_ERROR); + } + + AT_CHCK_RET_STATUS(AcpiOsInitialize); + AT_CHCK_RET_ERROR(AcpiOsInitialize); + + Status = AcpiOsActualInitialize(); + + AT_CTRL_SUCCESS(AcpiOsInitialize); + + if (ACPI_SUCCESS(Status)) + { + OsInitialized = 1; + } + + return (Status); +} + + +ACPI_STATUS +AcpiOsTerminate (void) +{ + AT_CTRL_DECL(AcpiOsTerminate); + + OsxfUpdateCallsMark(); + + AT_CHCK_RET_STATUS(AcpiOsTerminate); + + if (!OsInitialized) + { + printf("AcpiOsTerminate: OSL has not been initialized\n"); +// return (AE_ERROR); + } + +#ifdef ACPI_DBG_TRACK_ALLOCATIONS + if (AT_SKIP_LIST_FREE_CHECK) + { + /* update for components\utilities\utinit.c(360) */ + if (AcpiGbl_GlobalList) + { + AcpiOsFree (AcpiGbl_GlobalList); + AcpiGbl_GlobalList = NULL; + } + if (AcpiGbl_NsNodeList) + { + AcpiOsFree (AcpiGbl_NsNodeList); + AcpiGbl_NsNodeList = NULL; + } + } +#endif + + Status = AcpiOsActualTerminate(); + + AT_CTRL_SUCCESS(AcpiOsInitialize); + + OsInitialized = 0; + + OsxfUpdateCallsMark(); + + return (Status); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsGetRootPointer + * + * PARAMETERS: Flags - Logical or physical addressing mode + * Address - Where the address is returned + * + * RETURN: Status + * + * DESCRIPTION: Gets the root pointer (RSDP) + * + *****************************************************************************/ +/* +ACPI_STATUS +AcpiOsGetRootPointer ( + UINT32 Flags, + ACPI_POINTER *Address) +{ + AT_CTRL_DECL(AcpiOsGetRootPointer); + + AT_CHCK_RET_STATUS(AcpiOsGetRootPointer); + AT_CHCK_RET_ERROR(AcpiOsGetRootPointer); + + if (AtTryAcpiFindRootPointer) + { + Status = AcpiFindRootPointer(Flags, Address); + } + else + { + Status = AcpiOsActualGetRootPointer(Flags, Address); + } + + AT_CTRL_SUCCESS(AcpiOsGetRootPointer); + + return (Status); +} +*/ +ACPI_PHYSICAL_ADDRESS +AcpiOsGetRootPointer ( + void) +{ + ACPI_PHYSICAL_ADDRESS Pointer; + AT_CTRL_DECL0(AcpiOsGetRootPointer); + + AT_CHCK_RET_ZERO(AcpiOsGetRootPointer); + + Pointer = AcpiOsActualGetRootPointer(); + + if (Pointer != 0) + { + AT_CTRL_SUCCESS0(AcpiOsGetRootPointer); + } + + return (Pointer); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsPredefinedOverride + * + * PARAMETERS: InitVal - Initial value of the predefined object + * NewVal - The new value for the object + * + * RETURN: Status, pointer to value. Null pointer returned if not + * overriding. + * + * DESCRIPTION: Allow the OS to override predefined names + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsPredefinedOverride ( + const ACPI_PREDEFINED_NAMES *InitVal, + ACPI_STRING *NewVal) +{ + AT_CTRL_DECL(AcpiOsPredefinedOverride); + + if (!AT_SKIP_OS_PRED_OVERRIDE_CTRL) + { + AT_CHCK_RET_STATUS(AcpiOsPredefinedOverride); + } + + Status = AcpiOsActualPredefinedOverride(InitVal, NewVal); + + AT_CTRL_SUCCESS(AcpiOsPredefinedOverride); + + return (Status); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsTableOverride + * + * PARAMETERS: ExistingTable - Header of current table (probably firmware) + * NewTable - Where an entire new table is returned. + * + * RETURN: Status, pointer to new table. Null pointer returned if no + * table is available to override + * + * DESCRIPTION: Return a different version of a table if one is available + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsTableOverride ( + ACPI_TABLE_HEADER *ExistingTable, + ACPI_TABLE_HEADER **NewTable) +{ + AT_CTRL_DECL(AcpiOsTableOverride); + + AT_CHCK_RET_STATUS(AcpiOsTableOverride); + + Status = AcpiOsActualTableOverride(ExistingTable, NewTable); + + AT_CTRL_SUCCESS(AcpiOsTableOverride); + + return (Status); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsPhysicalTableOverride + * + * PARAMETERS: ExistingTable - Header of current table (probably firmware) + * NewAddress - Where new table address is returned + * (Physical address) + * NewTableLength - Where new table length is returned + * + * RETURN: Status, address/length of new table. Null pointer returned + * if no table is available to override. + * + * DESCRIPTION: Returns AE_SUPPORT, function not used in user space. + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsPhysicalTableOverride ( + ACPI_TABLE_HEADER *ExistingTable, + ACPI_PHYSICAL_ADDRESS *NewAddress, + UINT32 *NewTableLength) +{ + + return (AE_SUPPORT); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsGetTimer + * + * PARAMETERS: None + * + * RETURN: Current ticks in 100-nanosecond units + * + * DESCRIPTION: Get the value of a system timer + * + ******************************************************************************/ + +UINT64 +AcpiOsGetTimer ( + void) +{ + AT_CTRL_DECL0(AcpiOsGetTimer); + + AT_CTRL_SUCCESS0(AcpiOsGetTimer); + + return (AcpiOsActualGetTimer()); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsReadable + * + * PARAMETERS: Pointer - Area to be verified + * Length - Size of area + * + * RETURN: TRUE if readable for entire length + * + * DESCRIPTION: Verify that a pointer is valid for reading + * + *****************************************************************************/ + +BOOLEAN +AcpiOsReadable ( + void *Pointer, + ACPI_SIZE Length) +{ + AT_CTRL_DECL0(AcpiOsReadable); + + AT_CTRL_SUCCESS0(AcpiOsReadable); + + return (AcpiOsActualReadable(Pointer, Length)); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsWritable + * + * PARAMETERS: Pointer - Area to be verified + * Length - Size of area + * + * RETURN: TRUE if writable for entire length + * + * DESCRIPTION: Verify that a pointer is valid for writing + * + *****************************************************************************/ + +BOOLEAN +AcpiOsWritable ( + void *Pointer, + ACPI_SIZE Length) +{ + AT_CTRL_DECL0(AcpiOsWritable); + + AT_CTRL_SUCCESS0(AcpiOsWritable); + + return (AcpiOsActualWritable(Pointer, Length)); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsRedirectOutput + * + * PARAMETERS: Destination - An open file handle/pointer + * + * RETURN: None + * + * DESCRIPTION: Causes redirect of AcpiOsPrintf and AcpiOsVprintf + * + *****************************************************************************/ + +void +AcpiOsRedirectOutput ( + void *Destination) +{ + AT_CTRL_DECL0(AcpiOsRedirectOutput); + + AT_CTRL_SUCCESS0(AcpiOsRedirectOutput); + + AcpiOsActualRedirectOutput(Destination); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsPrintf + * + * PARAMETERS: fmt, ... Standard printf format + * + * RETURN: None + * + * DESCRIPTION: Formatted output + * + *****************************************************************************/ + +void ACPI_INTERNAL_VAR_XFACE +AcpiOsPrintf ( + const char *Fmt, + ...) +{ + va_list Args; + AT_CTRL_DECL0(AcpiOsPrintf); + + + va_start (Args, Fmt); + + AcpiOsActualVprintf (Fmt, Args); + + va_end (Args); + + AT_CTRL_SUCCESS0(AcpiOsPrintf); + + return; +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsVprintf + * + * PARAMETERS: fmt Standard printf format + * args Argument list + * + * RETURN: None + * + * DESCRIPTION: Formatted output with argument list pointer + * + *****************************************************************************/ + +void +AcpiOsVprintf ( + const char *Fmt, + va_list Args) +{ + AT_CTRL_DECL0(AcpiOsVprintf); + + AcpiOsActualVprintf(Fmt, Args); + + AT_CTRL_SUCCESS0(AcpiOsVprintf); + + return; +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsGetLine + * + * PARAMETERS: Buffer + * + * RETURN: Actual bytes read + * + * DESCRIPTION: Formatted input with argument list pointer + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsGetLine ( + char *Buffer, + UINT32 BufferLength, + UINT32 *BytesRead) +{ + UINT32 Actual; + + + AT_CTRL_DECL0(AcpiOsGetLine); + + AT_CTRL_SUCCESS0(AcpiOsGetLine); + + Actual = AcpiOsActualGetLine(Buffer); + if (BytesRead) + { + *BytesRead = Actual; + } + return (AE_OK); +} + +/****************************************************************************** + * + * FUNCTION: AcpiOsMapMemory + * + * PARAMETERS: where Physical address of memory to be mapped + * length How much memory to map + * there Logical address of mapped memory + * + * RETURN: Pointer to mapped memory. Null on error. + * + * DESCRIPTION: Map physical memory into caller's address space + * + *****************************************************************************/ +/* +ACPI_STATUS +AcpiOsMapMemory ( + UINT64 where, + ACPI_SIZE length, + void **there) +{ + AT_CTRL_DECL(AcpiOsMapMemory); + + AT_CHCK_RET_STATUS(AcpiOsMapMemory); + + Status = AcpiOsActualMapMemory(where, length, there); + + AT_CTRL_SUCCESS(AcpiOsMapMemory); + + return (Status); +} +*/ +void * +AcpiOsMapMemory ( + ACPI_PHYSICAL_ADDRESS Where, + ACPI_SIZE Length) +{ + void *Mem; + AT_CTRL_DECL0(AcpiOsMapMemory); + + AT_CHCK_RET_NULL(AcpiOsMapMemory); + + Mem = AcpiOsActualMapMemory(Where, Length); + +/* + printf("AcpiOsMapMemory: Where 0x%X, Length 0x%X, Mem 0x%X\n", + Where, Length, Mem); +*/ + + if (Mem != NULL) + { + AT_CTRL_SUCCESS0(AcpiOsMapMemory); + } + + return (Mem); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsUnmapMemory + * + * PARAMETERS: where Logical address of memory to be unmapped + * length How much memory to unmap + * + * RETURN: None. + * + * DESCRIPTION: Delete a previously created mapping. Where and Length must + * correspond to a previous mapping exactly. + * + *****************************************************************************/ + +void +AcpiOsUnmapMemory ( + void *where, + ACPI_SIZE length) +{ + AT_CTRL_DECL0(AcpiOsUnmapMemory); + + AT_CTRL_SUCCESS0(AcpiOsUnmapMemory); + +/* + printf("AcpiOsUnmapMemory: Where 0x%X, Length 0x%X\n", + where, length); +*/ + + AcpiOsActualUnmapMemory(where, length); + + return; +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsAllocate + * + * PARAMETERS: Size Amount to allocate, in bytes + * + * RETURN: Pointer to the new allocation. Null on error. + * + * DESCRIPTION: Allocate memory. Algorithm is dependent on the OS. + * + *****************************************************************************/ + +void * +AcpiOsAllocate ( + ACPI_SIZE size) +{ + void *Mem; + AT_CTRL_DECL0(AcpiOsAllocate); + + AT_CHCK_RET_NULL(AcpiOsAllocate); + + Mem = AcpiOsActualAllocate(size); + + if (Mem != NULL) + { + AT_CTRL_SUCCESS0(AcpiOsAllocate); + } + + return (Mem); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsFree + * + * PARAMETERS: mem Pointer to previously allocated memory + * + * RETURN: None. + * + * DESCRIPTION: Free memory allocated via AcpiOsAllocate + * + *****************************************************************************/ + +void +AcpiOsFree ( + void *Mem) +{ + AT_CTRL_DECL0(AcpiOsFree); + + AcpiOsActualFree(Mem); + + AT_CTRL_SUCCESS0(AcpiOsFree); + + return; +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsCreateSemaphore + * + * PARAMETERS: MaxUnits - Maximum units that can be sent + * InitialUnits - Units to be assigned to the new semaphore + * OutHandle - Where a handle will be returned + * + * RETURN: Status + * + * DESCRIPTION: Create an OS semaphore + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsCreateSemaphore ( + UINT32 MaxUnits, + UINT32 InitialUnits, + ACPI_HANDLE *OutHandle) +{ + AT_CTRL_DECL(AcpiOsCreateSemaphore); + + AT_CHCK_RET_STATUS(AcpiOsCreateSemaphore); + + AT_CHCK_RET_NO_MEMORY(AcpiOsCreateSemaphore); + + Status = AcpiOsActualCreateSemaphore(MaxUnits, InitialUnits, OutHandle); + + AT_CTRL_SUCCESS(AcpiOsCreateSemaphore); + + return (Status); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsDeleteSemaphore + * + * PARAMETERS: Handle - Handle returned by AcpiOsCreateSemaphore + * + * RETURN: Status + * + * DESCRIPTION: Delete an OS semaphore + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsDeleteSemaphore ( + ACPI_HANDLE Handle) +{ + AT_CTRL_DECL(AcpiOsDeleteSemaphore); + + AT_CHCK_RET_STATUS(AcpiOsDeleteSemaphore); + + Status = AcpiOsActualDeleteSemaphore(Handle); + + AT_CTRL_SUCCESS(AcpiOsDeleteSemaphore); + + return (Status); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsWaitSemaphore + * + * PARAMETERS: Handle - Handle returned by AcpiOsCreateSemaphore + * Units - How many units to wait for + * Timeout - How long to wait + * + * RETURN: Status + * + * DESCRIPTION: Wait for units + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsWaitSemaphore ( + ACPI_HANDLE Handle, + UINT32 Units, + UINT16 Timeout) +{ + AT_CTRL_DECL(AcpiOsWaitSemaphore); + + AT_CHCK_RET_STATUS(AcpiOsWaitSemaphore); + + Status = AcpiOsActualWaitSemaphore(Handle, Units, Timeout); + + AT_CTRL_SUCCESS(AcpiOsWaitSemaphore); + + return (Status); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsSignalSemaphore + * + * PARAMETERS: Handle - Handle returned by AcpiOsCreateSemaphore + * Units - Number of units to send + * + * RETURN: Status + * + * DESCRIPTION: Send units + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsSignalSemaphore ( + ACPI_HANDLE Handle, + UINT32 Units) +{ + AT_CTRL_DECL(AcpiOsSignalSemaphore); + + if (!AT_SKIP_OS_SIGNAL_SEM_CTRL) + { + AT_CHCK_RET_STATUS(AcpiOsSignalSemaphore); + } + + Status = AcpiOsActualSignalSemaphore(Handle, Units); + + AT_CTRL_SUCCESS(AcpiOsSignalSemaphore); + + return (Status); +} + + +ACPI_STATUS +AcpiOsCreateLock ( + ACPI_HANDLE *OutHandle) +{ + AT_CTRL_DECL(AcpiOsCreateLock); + + AT_CHCK_RET_STATUS(AcpiOsCreateLock); + + AT_CHCK_RET_NO_MEMORY(AcpiOsCreateLock); + + Status = AcpiOsActualCreateLock(OutHandle); + + AT_CTRL_SUCCESS(AcpiOsCreateLock); + + return (Status); +} + +void +AcpiOsDeleteLock ( + ACPI_HANDLE Handle) +{ + AT_CTRL_DECL0(AcpiOsDeleteLock); + + AcpiOsActualDeleteLock(Handle); + + AT_CTRL_SUCCESS0(AcpiOsDeleteLock); + + return; +} + + +ACPI_CPU_FLAGS +AcpiOsAcquireLock ( + ACPI_HANDLE Handle) +{ + AT_CTRL_DECL0(AcpiOsAcquireLock); + + AT_CTRL_SUCCESS0(AcpiOsAcquireLock); + + return (AcpiOsActualAcquireLock(Handle)); +} + + +void +AcpiOsReleaseLock ( + ACPI_HANDLE Handle, + ACPI_CPU_FLAGS Flags) +{ + AT_CTRL_DECL0(AcpiOsReleaseLock); + + AT_CTRL_SUCCESS0(AcpiOsReleaseLock); + + AcpiOsActualReleaseLock (Handle, Flags); + + return; +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsInstallInterruptHandler + * + * PARAMETERS: InterruptNumber Level handler should respond to. + * Isr Address of the ACPI interrupt handler + * ExceptPtr Where status is returned + * + * RETURN: Handle to the newly installed handler. + * + * DESCRIPTION: Install an interrupt handler. Used to install the ACPI + * OS-independent handler. + * + *****************************************************************************/ + +UINT32 +AcpiOsInstallInterruptHandler ( + UINT32 InterruptNumber, + ACPI_OSD_HANDLER ServiceRoutine, + void *Context) +{ + AT_CTRL_DECL0(AcpiOsInstallInterruptHandler); + + AT_CTRL_SUCCESS0(AcpiOsInstallInterruptHandler); + + return (AcpiOsActualInstallInterruptHandler( + InterruptNumber, ServiceRoutine, Context)); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsRemoveInterruptHandler + * + * PARAMETERS: Handle Returned when handler was installed + * + * RETURN: Status + * + * DESCRIPTION: Uninstalls an interrupt handler. + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsRemoveInterruptHandler ( + UINT32 InterruptNumber, + ACPI_OSD_HANDLER ServiceRoutine) +{ + AT_CTRL_DECL0(AcpiOsRemoveInterruptHandler); + + AT_CTRL_SUCCESS0(AcpiOsRemoveInterruptHandler); + + return (AcpiOsActualRemoveInterruptHandler( + InterruptNumber, ServiceRoutine)); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsGetThreadId + * + * PARAMETERS: None + * + * RETURN: Id of the running thread + * + * DESCRIPTION: Get the Id of the current (running) thread + * + *****************************************************************************/ + +ACPI_THREAD_ID +AcpiOsGetThreadId ( + void) +{ + AT_CTRL_DECL0(AcpiOsGetThreadId); + + AT_CTRL_SUCCESS0(AcpiOsGetThreadId); + + return (AcpiOsActualGetThreadId()); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsExecute + * + * PARAMETERS: Type - Type of execution + * Function - Address of the function to execute + * Context - Passed as a parameter to the function + * + * RETURN: Status + * + * DESCRIPTION: Execute a new thread + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsExecute ( + ACPI_EXECUTE_TYPE Type, + ACPI_OSD_EXEC_CALLBACK Function, + void *Context) +{ + AT_CTRL_DECL(AcpiOsExecute); + + AT_CHCK_RET_STATUS(AcpiOsExecute); + + Status = AcpiOsActualExecute(Type, Function, Context); + + AT_CTRL_SUCCESS(AcpiOsExecute); + + return (Status); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsStall + * + * PARAMETERS: microseconds To sleep + * + * RETURN: Blocks until sleep is completed. + * + * DESCRIPTION: Sleep at microsecond granularity + * + *****************************************************************************/ + +void +AcpiOsStall ( + UINT32 microseconds) +{ + AT_CTRL_DECL0(AcpiOsStall); + + AT_CTRL_SUCCESS0(AcpiOsStall); + + AcpiOsActualStall(microseconds); + + return; +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsSleep + * + * PARAMETERS: milliseconds To sleep + * + * RETURN: Blocks until sleep is completed. + * + * DESCRIPTION: Sleep at millisecond granularity + * + *****************************************************************************/ + +void +AcpiOsSleep ( + ACPI_INTEGER milliseconds) +{ + AT_CTRL_DECL0(AcpiOsSleep); + + AT_CTRL_SUCCESS0(AcpiOsSleep); + + AcpiOsActualSleep(milliseconds); + + return; +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsValidateInterface + * + * PARAMETERS: Interface - Requested interface to be validated + * + * RETURN: AE_OK if interface is supported, AE_SUPPORT otherwise + * + * DESCRIPTION: Match an interface string to the interfaces supported by the + * host. Strings originate from an AML call to the _OSI method. + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsValidateInterface ( + char *Interface) +{ + AT_CTRL_DECL(AcpiOsValidateInterface); + + AT_CHCK_RET_STATUS(AcpiOsValidateInterface); + + Status = AcpiOsActualValidateInterface(Interface); + + AT_CTRL_SUCCESS(AcpiOsValidateInterface); + + return (Status); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsValidateAddress + * + * PARAMETERS: SpaceId - ACPI space ID + * Address - Physical address + * Length - Address length + * + * RETURN: AE_OK if Address/Length is valid for the SpaceId. Otherwise, + * should return AE_AML_ILLEGAL_ADDRESS. + * + * DESCRIPTION: Validate a system address via the host OS. Used to validate + * the addresses accessed by AML operation regions. + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsValidateAddress ( + UINT8 SpaceId, + ACPI_PHYSICAL_ADDRESS Address, + ACPI_SIZE Length) +{ + AT_CTRL_DECL(AcpiOsValidateAddress); + + AT_CHCK_RET_STATUS(AcpiOsValidateAddress); + + Status = AcpiOsActualValidateAddress(SpaceId, Address, Length); + + AT_CTRL_SUCCESS(AcpiOsValidateAddress); + + return (Status); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsReadPciConfiguration + * + * PARAMETERS: PciId Seg/Bus/Dev + * Register Device Register + * Value Buffer where value is placed + * Width Number of bits + * + * RETURN: Status + * + * DESCRIPTION: Read data from PCI configuration space + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsReadPciConfiguration ( + ACPI_PCI_ID *PciId, + UINT32 Register, + UINT64 *Value, + UINT32 Width) +{ + AT_CTRL_DECL(AcpiOsReadPciConfiguration); + + AT_CHCK_RET_STATUS(AcpiOsReadPciConfiguration); + + Status = AcpiOsActualReadPciConfiguration(PciId, Register, Value, Width); + + AT_CTRL_SUCCESS(AcpiOsReadPciConfiguration); + + return (Status); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsWritePciConfiguration + * + * PARAMETERS: PciId Seg/Bus/Dev + * Register Device Register + * Value Value to be written + * Width Number of bits + * + * RETURN: Status. + * + * DESCRIPTION: Write data to PCI configuration space + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsWritePciConfiguration ( + ACPI_PCI_ID *PciId, + UINT32 Register, + ACPI_INTEGER Value, + UINT32 Width) +{ + AT_CTRL_DECL(AcpiOsWritePciConfiguration); + + AT_CHCK_RET_STATUS(AcpiOsWritePciConfiguration); + + Status = AcpiOsActualWritePciConfiguration(PciId, Register, Value, Width); + + AT_CTRL_SUCCESS(AcpiOsWritePciConfiguration); + + return (Status); +} + +/* TEMPORARY STUB FUNCTION */ +void +AcpiOsDerivePciId( + ACPI_HANDLE rhandle, + ACPI_HANDLE chandle, + ACPI_PCI_ID **PciId) +{ + AT_CTRL_DECL0(AcpiOsDerivePciId); + + AcpiOsActualDerivePciId(rhandle, chandle, PciId); + + AT_CTRL_SUCCESS0(AcpiOsDerivePciId); + + return; +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsReadPort + * + * PARAMETERS: Address Address of I/O port/register to read + * Value Where value is placed + * Width Number of bits + * + * RETURN: Value read from port + * + * DESCRIPTION: Read data from an I/O port or register + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsReadPort ( + ACPI_IO_ADDRESS Address, + UINT32 *Value, + UINT32 Width) +{ + AT_CTRL_DECL(AcpiOsReadPort); + + AT_CHCK_RET_STATUS(AcpiOsReadPort); + + if (!EMUL_REG_MODE) { + Status = AcpiOsActualReadPort(Address, Value, Width); + } + else + { + Status = OsxfCtrlReadReg(EMUL_REG_IO, Address, Value, Width); + } + + AT_CTRL_SUCCESS(AcpiOsReadPort); + + return (Status); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsWritePort + * + * PARAMETERS: Address Address of I/O port/register to write + * Value Value to write + * Width Number of bits + * + * RETURN: None + * + * DESCRIPTION: Write data to an I/O port or register + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsWritePort ( + ACPI_IO_ADDRESS Address, + UINT32 Value, + UINT32 Width) +{ + AT_CTRL_DECL(AcpiOsWritePort); + + AT_CHCK_RET_STATUS(AcpiOsWritePort); + + AT_CHCK_RET_ERROR(AcpiOsWritePort); + + if (!EMUL_REG_MODE) { + Status = AcpiOsActualWritePort(Address, Value, Width); + } + else + { + Status = OsxfCtrlWriteReg(EMUL_REG_IO, Address, Value, Width); + } + + AT_CTRL_SUCCESS(AcpiOsWritePort); + + return (Status); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsReadMemory + * + * PARAMETERS: Address Physical Memory Address to read + * Value Where value is placed + * Width Number of bits + * + * RETURN: Value read from physical memory address. Always returned + * as a 64-bit integer, regardless of the read width. + * + * DESCRIPTION: Read data from a physical memory address + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsReadMemory ( + ACPI_PHYSICAL_ADDRESS Address, + UINT64 *Value, + UINT32 Width) +{ + UINT32 Value32; + + + AT_CTRL_DECL(AcpiOsReadMemory); + + AT_CHCK_RET_STATUS(AcpiOsReadMemory); + + if (!EMUL_REG_MODE) { + Status = AcpiOsActualReadMemory(Address, Value, Width); + } + else + { + Status = OsxfCtrlReadReg(EMUL_REG_SYS, Address, &Value32, Width); + *Value = (UINT64) Value32; + } + + AT_CTRL_SUCCESS(AcpiOsReadMemory); + + return (Status); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsWriteMemory + * + * PARAMETERS: Address Physical Memory Address to write + * Value Value to write + * Width Number of bits + * + * RETURN: None + * + * DESCRIPTION: Write data to a physical memory address + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsWriteMemory ( + ACPI_PHYSICAL_ADDRESS Address, + UINT64 Value, + UINT32 Width) +{ + AT_CTRL_DECL(AcpiOsWriteMemory); + + AT_CHCK_RET_STATUS(AcpiOsWriteMemory); + + if (!EMUL_REG_MODE) { + Status = AcpiOsActualWriteMemory(Address, Value, Width); + } + else + { + Status = OsxfCtrlWriteReg(EMUL_REG_SYS, Address, (UINT32) Value, Width); + } + + AT_CTRL_SUCCESS(AcpiOsWriteMemory); + + return (Status); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsSignal + * + * PARAMETERS: Function ACPI CA signal function code + * Info Pointer to function-dependent structure + * + * RETURN: Status + * + * DESCRIPTION: Miscellaneous functions + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsSignal ( + UINT32 Function, + void *Info) +{ + AT_CTRL_DECL(AcpiOsSignal); + + AT_CHCK_RET_STATUS(AcpiOsSignal); + + Status = AcpiOsActualSignal(Function, Info); + + AT_CTRL_SUCCESS(AcpiOsSignal); + + return (Status); +} diff --git a/tests/aapits/atosxfwrap.h b/tests/aapits/atosxfwrap.h new file mode 100644 index 0000000..7a24be3 --- /dev/null +++ b/tests/aapits/atosxfwrap.h @@ -0,0 +1,342 @@ +/****************************************************************************** + * + * Module Name: atosxfwrap - include for AcpiOs* interfaces wrapping + * derived from acpixf.h + * + *****************************************************************************/ + +#ifndef _AT_OSXF_WRAP +#define _AT_OSXF_WRAP + +/* + * OSL Initialization and shutdown primitives + */ +ACPI_STATUS +AcpiOsActualInitialize ( + void); + +ACPI_STATUS +AcpiOsActualTerminate ( + void); + + +/* + * ACPI Table interfaces + */ +/* +ACPI_STATUS +AcpiOsActualGetRootPointer ( + UINT32 Flags, + ACPI_POINTER *Address); +*/ +ACPI_PHYSICAL_ADDRESS +AcpiOsActualGetRootPointer ( + void); + +ACPI_STATUS +AcpiOsActualPredefinedOverride ( + const ACPI_PREDEFINED_NAMES *InitVal, + ACPI_STRING *NewVal); + +ACPI_STATUS +AcpiOsActualTableOverride ( + ACPI_TABLE_HEADER *ExistingTable, + ACPI_TABLE_HEADER **NewTable); + + +/* + * Synchronization primitives + */ +ACPI_STATUS +AcpiOsActualCreateSemaphore ( + UINT32 MaxUnits, + UINT32 InitialUnits, + ACPI_HANDLE *OutHandle); + +ACPI_STATUS +AcpiOsActualDeleteSemaphore ( + ACPI_HANDLE Handle); + +ACPI_STATUS +AcpiOsActualWaitSemaphore ( + ACPI_HANDLE Handle, + UINT32 Units, + UINT16 Timeout); + +ACPI_STATUS +AcpiOsActualSignalSemaphore ( + ACPI_HANDLE Handle, + UINT32 Units); + +ACPI_STATUS +AcpiOsActualCreateLock ( + ACPI_HANDLE *OutHandle); + +void +AcpiOsActualDeleteLock ( + ACPI_HANDLE Handle); + +ACPI_CPU_FLAGS +AcpiOsActualAcquireLock ( + ACPI_HANDLE Handle); + +void +AcpiOsActualReleaseLock ( + ACPI_HANDLE Handle, + ACPI_CPU_FLAGS Flags); + + +/* + * Memory allocation and mapping + */ +void * +AcpiOsActualAllocate ( + ACPI_SIZE Size); + +void +AcpiOsActualFree ( + void * Memory); + +/* +ACPI_STATUS +AcpiOsActualMapMemory ( + ACPI_PHYSICAL_ADDRESS PhysicalAddress, + ACPI_SIZE Size, + void **LogicalAddress); +*/ +void * +AcpiOsActualMapMemory ( + ACPI_PHYSICAL_ADDRESS Where, + ACPI_SIZE Length); + +void +AcpiOsActualUnmapMemory ( + void *LogicalAddress, + ACPI_SIZE Size); + +ACPI_STATUS +AcpiOsActualGetPhysicalAddress ( + void *LogicalAddress, + ACPI_PHYSICAL_ADDRESS *PhysicalAddress); + + +/* + * Memory/Object Cache + */ +ACPI_STATUS +AcpiOsActualCreateCache ( + char *CacheName, + UINT16 ObjectSize, + UINT16 MaxDepth, + ACPI_CACHE_T **ReturnCache); + +ACPI_STATUS +AcpiOsActualDeleteCache ( + ACPI_CACHE_T *Cache); + +ACPI_STATUS +AcpiOsActualPurgeCache ( + ACPI_CACHE_T *Cache); + +void * +AcpiOsActualAcquireObject ( + ACPI_CACHE_T *Cache); + +ACPI_STATUS +AcpiOsActualReleaseObject ( + ACPI_CACHE_T *Cache, + void *Object); + + +/* + * Interrupt handlers + */ +ACPI_STATUS +AcpiOsActualInstallInterruptHandler ( + UINT32 InterruptNumber, + ACPI_OSD_HANDLER ServiceRoutine, + void *Context); + +ACPI_STATUS +AcpiOsActualRemoveInterruptHandler ( + UINT32 InterruptNumber, + ACPI_OSD_HANDLER ServiceRoutine); + + +/* + * Threads and Scheduling + */ +ACPI_THREAD_ID +AcpiOsActualGetThreadId ( + void); + +ACPI_STATUS +AcpiOsActualExecute ( + ACPI_EXECUTE_TYPE Type, + ACPI_OSD_EXEC_CALLBACK Function, + void *Context); + +void +AcpiOsActualWaitEventsComplete ( + void *Context); + +void +AcpiOsActualSleep ( + ACPI_INTEGER Milliseconds); + +void +AcpiOsActualStall ( + UINT32 Microseconds); + +ACPI_STATUS +AcpiOsActualValidateInterface ( + char *Interface); + +ACPI_STATUS +AcpiOsActualValidateAddress ( + UINT8 SpaceId, + ACPI_PHYSICAL_ADDRESS Address, + ACPI_SIZE Length); + +/* + * Platform and hardware-independent I/O interfaces + */ +ACPI_STATUS +AcpiOsActualReadPort ( + ACPI_IO_ADDRESS Address, + UINT32 *Value, + UINT32 Width); + +ACPI_STATUS +AcpiOsActualWritePort ( + ACPI_IO_ADDRESS Address, + UINT32 Value, + UINT32 Width); + + +/* + * Platform and hardware-independent physical memory interfaces + */ +ACPI_STATUS +AcpiOsActualReadMemory ( + ACPI_PHYSICAL_ADDRESS Address, + UINT64 *Value, + UINT32 Width); + +ACPI_STATUS +AcpiOsActualWriteMemory ( + ACPI_PHYSICAL_ADDRESS Address, + UINT64 Value, + UINT32 Width); + + +/* + * Platform and hardware-independent PCI configuration space access + * Note: Can't use "Register" as a parameter, changed to "Reg" -- + * certain compilers complain. + */ +ACPI_STATUS +AcpiOsActualReadPciConfiguration ( + ACPI_PCI_ID *PciId, + UINT32 Reg, + void *Value, + UINT32 Width); + +ACPI_STATUS +AcpiOsActualWritePciConfiguration ( + ACPI_PCI_ID *PciId, + UINT32 Reg, + ACPI_INTEGER Value, + UINT32 Width); + +/* + * Interim function needed for PCI IRQ routing + */ +void +AcpiOsActualDerivePciId( + ACPI_HANDLE Rhandle, + ACPI_HANDLE Chandle, + ACPI_PCI_ID **PciId); + +/* + * Miscellaneous + */ +BOOLEAN +AcpiOsActualReadable ( + void *Pointer, + ACPI_SIZE Length); + +BOOLEAN +AcpiOsActualWritable ( + void *Pointer, + ACPI_SIZE Length); + +UINT64 +AcpiOsActualGetTimer ( + void); + +ACPI_STATUS +AcpiOsActualSignal ( + UINT32 Function, + void *Info); + +/* + * Debug print routines + */ +void ACPI_INTERNAL_VAR_XFACE +AcpiOsActualPrintf ( + const char *Format, + ...); + +void +AcpiOsActualVprintf ( + const char *Format, + va_list Args); + +void +AcpiOsActualRedirectOutput ( + void *Destination); + + +/* + * Debug input + */ +UINT32 +AcpiOsActualGetLine ( + char *Buffer); + + +/* + * Directory manipulation + */ +void * +AcpiOsActualOpenDirectory ( + char *Pathname, + char *WildcardSpec, + char RequestedFileType); + +/* RequesteFileType values */ + +#define REQUEST_FILE_ONLY 0 +#define REQUEST_DIR_ONLY 1 + + +char * +AcpiOsActualGetNextFilename ( + void *DirHandle); + +void +AcpiOsActualCloseDirectory ( + void *DirHandle); + +/* + * Debug + */ +void +AcpiOsActualDbgAssert( + void *FailedAssertion, + void *FileName, + UINT32 LineNumber, + char *Message); + +#endif /* _AT_OSXF_WRAP */ diff --git a/tests/aapits/atresource.c b/tests/aapits/atresource.c new file mode 100644 index 0000000..c4584ab --- /dev/null +++ b/tests/aapits/atresource.c @@ -0,0 +1,3283 @@ +/****************************************************************************** + * + * Module Name: atresource - ACPICA Resource Management API tests + * + *****************************************************************************/ + +#include "atcommon.h" +#include "atresource.h" +#include "atosxfctrl.h" + +#define _COMPONENT ACPI_TOOLS + ACPI_MODULE_NAME ("atresource") + + +#if ACPI_MACHINE_WIDTH == 64 +#define RT0000_DEV0_CRS_LEN 0xCA0 +#else +#define RT0000_DEV0_CRS_LEN 0x8C0 +#endif +/* + * ASSERTION 0000: + */ +ACPI_STATUS +AtRsrcTest0000(void) +{ + ACPI_STATUS Status; + ACPI_BUFFER OutBuffer = {ACPI_ALLOCATE_BUFFER}; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\DEV0"; + ACPI_RESOURCE *CurrentResource; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetCurrentResources (Device, &OutBuffer); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetCurrentResources(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + if (OutBuffer.Length != RT0000_DEV0_CRS_LEN) + { + AapiErrors++; + printf ("API Error: AcpiGetCurrentResources(%s) returned Length %d," + " expected %d\n", + Pathname, OutBuffer.Length, RT0000_DEV0_CRS_LEN); + return (AE_ERROR); + } + + /* + * OutBuffer should be parsed and all field of ACPI_RESOURCE + * structure should be checked + */ + + CurrentResource = (ACPI_RESOURCE *)OutBuffer.Pointer; + + /* IRQ (Level, ActiveLow, Shared) {0} */ + + if (CurrentResource->Type != ACPI_RESOURCE_TYPE_IRQ) + { + AapiErrors++; + printf ("Api Error: Resource->Type (%d) != ACPI_RESOURCE_TYPE_IRQ\n", + CurrentResource->Type); + } + + if (CurrentResource->Length < ACPI_RS_SIZE (ACPI_RESOURCE_IRQ)) + { + AapiErrors++; + printf ("Api Error: Resource->Length (%d) < %d\n", + CurrentResource->Length, ACPI_RS_SIZE (ACPI_RESOURCE_IRQ)); + } + + if (CurrentResource->Data.Irq.Triggering != 0) /* Level-Triggered */ + { + AapiErrors++; + printf ("Api Error: Irq.Triggering (%d) != 0\n", + CurrentResource->Data.Irq.Triggering); + } + + if (CurrentResource->Data.Irq.Polarity != 1) /* Active-Low */ + { + AapiErrors++; + printf ("Api Error: Irq.Polarity (%d) != 1\n", + CurrentResource->Data.Irq.Polarity); + } + + if (CurrentResource->Data.Irq.Sharable != 1) /* Interrupt is sharable */ + { + AapiErrors++; + printf ("Api Error: Irq.Sharable (%d) != 1\n", + CurrentResource->Data.Irq.Sharable); + } + + if (CurrentResource->Data.Irq.InterruptCount != 1) + { + AapiErrors++; + printf ("Api Error: Irq.InterruptCount (%d) != 1\n", + CurrentResource->Data.Irq.InterruptCount); + } + + if (CurrentResource->Data.Irq.Interrupts[0] != 0) + { + AapiErrors++; + printf ("Api Error: Irq.Interrupts[0] (%d) != 0\n", + CurrentResource->Data.Irq.Interrupts[0]); + } + + AcpiOsFree(OutBuffer.Pointer); + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0001: + */ +ACPI_STATUS +AtRsrcTest0001(void) +{ + ACPI_STATUS Status; + ACPI_BUFFER OutBuffer = {ACPI_ALLOCATE_BUFFER}; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\AUX2.DEV0"; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_LOAD))) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + /* Make Device handle invalid by unloading SSDT table*/ + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_UNLOAD))) + { + return (Status); + } + + Status = AcpiGetCurrentResources (Device, &OutBuffer); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("Api Error: AcpiGetCurrentResources(%s) returned %s," + " expected AE_BAD_PARAMETER\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0002: + */ +ACPI_STATUS +AtRsrcTest0002(void) +{ + ACPI_STATUS Status; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\DEV0"; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetCurrentResources (Device, NULL); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("Api Error: AcpiGetCurrentResources(%s) returned %s," + " expected AE_BAD_PARAMETER\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0003: + */ +ACPI_STATUS +AtRsrcTest0003(void) +{ + ACPI_STATUS Status; + ACPI_BUFFER OutBuffer; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\DEV0"; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + OutBuffer.Length = 1; + OutBuffer.Pointer = NULL; + + Status = AcpiGetCurrentResources (Device, &OutBuffer); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("Api Error: AcpiGetCurrentResources(%s) returned %s," + " expected AE_BAD_PARAMETER\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0004: + */ +ACPI_STATUS +AtRsrcTest0004(void) +{ + ACPI_STATUS Status; + ACPI_BUFFER OutBuffer = {ACPI_ALLOCATE_BUFFER}; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\M000"; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetCurrentResources (Device, &OutBuffer); + if (Status != AE_TYPE) + { + AapiErrors++; + printf ("Api Error: AcpiGetCurrentResources(%s) returned %s," + " expected AE_TYPE\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0005: + */ +ACPI_STATUS +AtRsrcTest0005(void) +{ + ACPI_STATUS Status; + ACPI_BUFFER OutBuffer; + UINT32 BufferSpace; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\DEV0"; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + OutBuffer.Length = 4; + OutBuffer.Pointer = &BufferSpace; + + Status = AcpiGetCurrentResources (Device, &OutBuffer); + if (Status != AE_BUFFER_OVERFLOW) + { + AapiErrors++; + printf ("Api Error: AcpiGetCurrentResources(%s) returned %s," + " expected AE_BUFFER_OVERFLOW\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + if (OutBuffer.Length != RT0000_DEV0_CRS_LEN) + { + AapiErrors++; + printf ("API Error: AcpiGetCurrentResources(%s) returned Length %d," + " expected %d\n", + Pathname, OutBuffer.Length, RT0000_DEV0_CRS_LEN); + return (AE_ERROR); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +ACPI_STATUS +AtGetCurrentResourcesExceptionTest( + ACPI_OSXF OsxfNum, + AT_ACTD_FLAG ActFlag, + UINT32 ActCode, + UINT32 TFst, + ACPI_STATUS Benchmark) +{ + ACPI_STATUS Status; + ACPI_OSXF OsxfNumAct; + UINT32 Continue_Cond = 1; + UINT32 CtrlCheck = ALL_STAT; + UINT32 TMax = 10000; + UINT32 i; + ACPI_BUFFER OutBuffer = {ACPI_ALLOCATE_BUFFER}; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\DEV0"; + + + for (i = TFst; (i < TMax) && Continue_Cond; i++) + { + printf ("AtGetCurrentResourcesExceptionTest: i = %d\n", i); + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + Status = OsxfCtrlSet(OsxfNum, i, ActFlag, ActCode); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: OsxfCtrlSet returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetCurrentResources (Device, &OutBuffer); + + if (!(OsxfNumAct = OsxfCtrlGetActOsxf(OsxfNum, 1))) + { + if (i == TFst) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + } + TestPass++; + Continue_Cond = 0; + } + else + { + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiGetCurrentResources returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + if (ACPI_SUCCESS(Status)) + { + AcpiOsFree(OutBuffer.Pointer); + } + + Status = AtTerminateCtrlCheck(AE_OK, CtrlCheck); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + if (i >= TMax) + { + TestErrors++; + printf ("Test error: there are test cases remained\n"); + return (AE_ERROR); + } + + return (AE_OK); +} + +/* + * ASSERTION 0006: + */ +ACPI_STATUS +AtRsrcTest0006(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + Status = AtGetCurrentResourcesExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 12, + AE_NO_MEMORY); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + return (AtGetCurrentResourcesExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY)); +} + +/* + * ASSERTION 0007: + */ +ACPI_STATUS +AtRsrcTest0007(void) +{ + ACPI_STATUS Status; + ACPI_BUFFER OutBuffer = {ACPI_ALLOCATE_BUFFER}; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\DEV0"; + ACPI_RESOURCE *CurrentResource; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetPossibleResources (Device, &OutBuffer); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetPossibleResources(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + /* + * OutBuffer should be parsed and all field of ACPI_RESOURCE + * structure should be checked + */ + + CurrentResource = (ACPI_RESOURCE *)OutBuffer.Pointer; + + /* IRQ (Level, ActiveLow, Shared) {0} */ + + if (CurrentResource->Type != ACPI_RESOURCE_TYPE_IRQ) + { + AapiErrors++; + printf ("Api Error: Resource->Type (%d) != ACPI_RESOURCE_TYPE_IRQ\n", + CurrentResource->Type); + } + + if (CurrentResource->Length != + ACPI_ROUND_UP_TO_NATIVE_WORD (ACPI_RS_SIZE (ACPI_RESOURCE_IRQ))) + { + AapiErrors++; + printf ("Api Error: Resource->Length (%d) != %d\n", + CurrentResource->Length, + ACPI_ROUND_UP_TO_NATIVE_WORD (ACPI_RS_SIZE (ACPI_RESOURCE_IRQ))); + } + + if (CurrentResource->Data.Irq.Triggering != 0) /* Level-Triggered */ + { + AapiErrors++; + printf ("Api Error: Irq.Triggering (%d) != 0\n", + CurrentResource->Data.Irq.Triggering); + } + + if (CurrentResource->Data.Irq.Polarity != 1) /* Active-Low */ + { + AapiErrors++; + printf ("Api Error: Irq.Polarity (%d) != 1\n", + CurrentResource->Data.Irq.Polarity); + } + + if (CurrentResource->Data.Irq.Sharable != 1) /* Interrupt is sharable */ + { + AapiErrors++; + printf ("Api Error: Irq.Sharable (%d) != 1\n", + CurrentResource->Data.Irq.Sharable); + } + + if (CurrentResource->Data.Irq.InterruptCount != 1) + { + AapiErrors++; + printf ("Api Error: Irq.InterruptCount (%d) != 1\n", + CurrentResource->Data.Irq.InterruptCount); + } + + if (CurrentResource->Data.Irq.Interrupts[0] != 0) + { + AapiErrors++; + printf ("Api Error: Irq.Interrupts[0] (%d) != 0\n", + CurrentResource->Data.Irq.Interrupts[0]); + } + + AcpiOsFree(OutBuffer.Pointer); + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0008: + */ +ACPI_STATUS +AtRsrcTest0008(void) +{ + ACPI_STATUS Status; + ACPI_BUFFER OutBuffer = {ACPI_ALLOCATE_BUFFER}; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\AUX2.DEV0"; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_LOAD))) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + /* Make Device handle invalid by unloading SSDT table*/ + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_UNLOAD))) + { + return (Status); + } + + Status = AcpiGetPossibleResources (Device, &OutBuffer); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("Api Error: AcpiGetPossibleResources(%s) returned %s," + " expected AE_BAD_PARAMETER\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0009: + */ +ACPI_STATUS +AtRsrcTest0009(void) +{ + ACPI_STATUS Status; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\DEV0"; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetPossibleResources (Device, NULL); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("Api Error: AcpiGetPossibleResources(%s) returned %s," + " expected AE_BAD_PARAMETER\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0010: + */ +ACPI_STATUS +AtRsrcTest0010(void) +{ + ACPI_STATUS Status; + ACPI_BUFFER OutBuffer; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\DEV0"; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + OutBuffer.Length = 1; + OutBuffer.Pointer = NULL; + + Status = AcpiGetPossibleResources (Device, &OutBuffer); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("Api Error: AcpiGetPossibleResources(%s) returned %s," + " expected AE_BAD_PARAMETER\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0011: + */ +ACPI_STATUS +AtRsrcTest0011(void) +{ + ACPI_STATUS Status; + ACPI_BUFFER OutBuffer = {ACPI_ALLOCATE_BUFFER}; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\M000"; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetPossibleResources (Device, &OutBuffer); + if (Status != AE_TYPE) + { + AapiErrors++; + printf ("Api Error: AcpiGetPossibleResources(%s) returned %s," + " expected AE_TYPE\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0012: + */ +ACPI_STATUS +AtRsrcTest0012(void) +{ + ACPI_STATUS Status; + ACPI_BUFFER OutBuffer; + UINT32 BufferSpace; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\DEV0"; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + OutBuffer.Length = 4; + OutBuffer.Pointer = &BufferSpace; + + Status = AcpiGetPossibleResources (Device, &OutBuffer); + if (Status != AE_BUFFER_OVERFLOW) + { + AapiErrors++; + printf ("Api Error: AcpiGetPossibleResources(%s) returned %s," + " expected AE_BUFFER_OVERFLOW\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + if (OutBuffer.Length != RT0000_DEV0_CRS_LEN) + { + AapiErrors++; + printf ("API Error: AcpiGetPossibleResources(%s) returned Length %d," + " expected %d\n", + Pathname, OutBuffer.Length, RT0000_DEV0_CRS_LEN); + return (AE_ERROR); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +ACPI_STATUS +AtGetPossibleResourcesExceptionTest( + ACPI_OSXF OsxfNum, + AT_ACTD_FLAG ActFlag, + UINT32 ActCode, + UINT32 TFst, + ACPI_STATUS Benchmark) +{ + ACPI_STATUS Status; + ACPI_OSXF OsxfNumAct; + UINT32 Continue_Cond = 1; + UINT32 CtrlCheck = ALL_STAT; + UINT32 TMax = 10000; + UINT32 i; + ACPI_BUFFER OutBuffer = {ACPI_ALLOCATE_BUFFER}; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\DEV0"; + + + for (i = TFst; (i < TMax) && Continue_Cond; i++) + { + printf ("AtGetPossibleResourcesExceptionTest: i = %d\n", i); + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + Status = OsxfCtrlSet(OsxfNum, i, ActFlag, ActCode); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: OsxfCtrlSet returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetPossibleResources (Device, &OutBuffer); + + if (!(OsxfNumAct = OsxfCtrlGetActOsxf(OsxfNum, 1))) + { + if (i == TFst) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + } + TestPass++; + Continue_Cond = 0; + } + else + { + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiGetPossibleResources returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + if (ACPI_SUCCESS(Status)) + { + AcpiOsFree(OutBuffer.Pointer); + } + + Status = AtTerminateCtrlCheck(AE_OK, CtrlCheck); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + if (i >= TMax) + { + TestErrors++; + printf ("Test error: there are test cases remained\n"); + return (AE_ERROR); + } + + return (AE_OK); +} + +/* + * ASSERTION 0013: + */ +ACPI_STATUS +AtRsrcTest0013(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + Status = AtGetPossibleResourcesExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + return (AtGetPossibleResourcesExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY)); +} + +ACPI_RESOURCE Resource[2]; + +void +AtInitResourceBuffer(ACPI_BUFFER *InBuffer) +{ + ACPI_RESOURCE *CurrentResource = &Resource[0]; + ACPI_RESOURCE *EndResource; + + /* IRQ (Level, ActiveLow, Shared) {0} */ + + CurrentResource->Type = ACPI_RESOURCE_TYPE_IRQ; + CurrentResource->Length = ACPI_RS_SIZE (ACPI_RESOURCE_IRQ); + CurrentResource->Data.Irq.Triggering = 0; /* Level-Triggered */ +// CurrentResource->Data.Irq.Polarity = 1; /* Active-Low */ + CurrentResource->Data.Irq.Polarity = 0; /* Active-High */ + CurrentResource->Data.Irq.Sharable = 1; /* Interrupt is sharable */ + CurrentResource->Data.Irq.InterruptCount = 1; + CurrentResource->Data.Irq.Interrupts[0] = 1; + + CurrentResource->Length = ACPI_ROUND_UP_TO_NATIVE_WORD (CurrentResource->Length); + + EndResource = (ACPI_RESOURCE *)((UINT8 *)CurrentResource + + CurrentResource->Length); + EndResource->Type = ACPI_RESOURCE_TYPE_END_TAG; + EndResource->Length = ACPI_RS_SIZE (ACPI_RESOURCE_END_TAG); + + InBuffer->Length = CurrentResource->Length + EndResource->Length; + InBuffer->Pointer = CurrentResource; +} + +/* + * ASSERTION 0014: + */ +ACPI_STATUS +AtRsrcTest0014(void) +{ + ACPI_STATUS Status; + ACPI_BUFFER InBuffer; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\DEV0"; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + AtInitResourceBuffer(&InBuffer); + + /* Add the flag to print contents of buffers */ + AcpiDbgLevel |= ACPI_LV_TABLES; + + Status = AcpiSetCurrentResources (Device, &InBuffer); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiSetCurrentResources(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0015: + */ +ACPI_STATUS +AtRsrcTest0015(void) +{ + ACPI_STATUS Status; + ACPI_BUFFER InBuffer; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\AUX2.DEV0"; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_LOAD))) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + /* Make Device handle invalid by unloading SSDT table*/ + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_UNLOAD))) + { + return (Status); + } + + AtInitResourceBuffer(&InBuffer); + + Status = AcpiSetCurrentResources (Device, &InBuffer); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("Api Error: AcpiSetCurrentResources(%s) returned %s," + " expected AE_BAD_PARAMETER\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0016: + */ +ACPI_STATUS +AtRsrcTest0016(void) +{ + ACPI_STATUS Status; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\DEV0"; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiSetCurrentResources (Device, NULL); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("Api Error: AcpiSetCurrentResources(%s) returned %s," + " expected AE_BAD_PARAMETER\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0017: + */ +ACPI_STATUS +AtRsrcTest0017(void) +{ + ACPI_STATUS Status; + ACPI_BUFFER InBuffer; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\DEV0"; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + InBuffer.Length = 1; + InBuffer.Pointer = NULL; + + Status = AcpiSetCurrentResources (Device, &InBuffer); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("Api Error: AcpiSetCurrentResources(%s) returned %s," + " expected AE_BAD_PARAMETER\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0018: + */ +ACPI_STATUS +AtRsrcTest0018(void) +{ + ACPI_STATUS Status; + ACPI_BUFFER InBuffer; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\DEV0"; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + AtInitResourceBuffer(&InBuffer); + InBuffer.Length = 0; + + Status = AcpiSetCurrentResources (Device, &InBuffer); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("Api Error: AcpiSetCurrentResources(%s) returned %s," + " expected AE_BAD_PARAMETER\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0019: + */ +ACPI_STATUS +AtRsrcTest0019(void) +{ + ACPI_STATUS Status; + ACPI_BUFFER InBuffer = {ACPI_ALLOCATE_BUFFER}; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\M000"; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + AtInitResourceBuffer(&InBuffer); + + Status = AcpiSetCurrentResources (Device, &InBuffer); + if (Status != AE_TYPE) + { + AapiErrors++; + printf ("Api Error: AcpiSetCurrentResources(%s) returned %s," + " expected AE_TYPE\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +ACPI_STATUS +AtSetCurrentResourcesExceptionTest( + ACPI_OSXF OsxfNum, + AT_ACTD_FLAG ActFlag, + UINT32 ActCode, + UINT32 TFst, + ACPI_STATUS Benchmark) +{ + ACPI_STATUS Status; + ACPI_OSXF OsxfNumAct; + UINT32 Continue_Cond = 1; + UINT32 CtrlCheck = ALL_STAT; + UINT32 TMax = 10000; + UINT32 i; + ACPI_BUFFER InBuffer = {ACPI_ALLOCATE_BUFFER}; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\DEV0"; + + + for (i = TFst; (i < TMax) && Continue_Cond; i++) + { + printf ("AtSetCurrentResourcesExceptionTest: i = %d\n", i); + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + Status = OsxfCtrlSet(OsxfNum, i, ActFlag, ActCode); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: OsxfCtrlSet returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + AtInitResourceBuffer(&InBuffer); + + Status = AcpiSetCurrentResources (Device, &InBuffer); + + if (!(OsxfNumAct = OsxfCtrlGetActOsxf(OsxfNum, 1))) + { + if (i == TFst) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + } + TestPass++; + Continue_Cond = 0; + } + else + { + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiSetCurrentResources returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + + Status = AtTerminateCtrlCheck(AE_OK, CtrlCheck); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + if (i >= TMax) + { + TestErrors++; + printf ("Test error: there are test cases remained\n"); + return (AE_ERROR); + } + + return (AE_OK); +} + +/* + * ASSERTION 0020: + */ +ACPI_STATUS +AtRsrcTest0020(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + Status = AtSetCurrentResourcesExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + return (AtSetCurrentResourcesExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY)); +} + +/* + * ASSERTION 0021: + */ +ACPI_STATUS +AtRsrcTest0021(void) +{ + ACPI_STATUS Status; + ACPI_BUFFER OutBuffer = {ACPI_ALLOCATE_BUFFER}; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\DEV0"; + ACPI_STRING RefPath = "\\DEV0.LNKA"; + ACPI_PCI_ROUTING_TABLE *UserPrt; + UINT32 Length; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetIrqRoutingTable (Device, &OutBuffer); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetIrqRoutingTable(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + /* + * OutBuffer should be parsed and all field of ACPI_PCI_ROUTING_TABLE + * structure should be checked + */ + + UserPrt = (ACPI_PCI_ROUTING_TABLE *)OutBuffer.Pointer; + +/* + * Package(0x04){ + * 0x001FFFFF, + * 0x00, + * \DEV0.LNKA, + * 0x00 + * }, + */ + + if (UserPrt->Address != 0x001FFFFF) + { + AapiErrors++; + printf ("Api Error: PciRT->Address (0x%x) != 0x%x\n", + (UINT32)UserPrt->Address, 0x001FFFFF); + } + + if (UserPrt->Pin != 0) + { + AapiErrors++; + printf ("Api Error: PciRT->Pin (%d) != %d\n", + UserPrt->Pin, 0); + } + + if (UserPrt->SourceIndex != 0) + { + AapiErrors++; + printf ("Api Error: PciRT->SourceIndex (%d) != %d\n", + UserPrt->SourceIndex, 0); + } + + if (strcmp(UserPrt->Source, RefPath)) + { + AapiErrors++; + printf ("Api Error: PciRT->Source (%s) != %s\n", + UserPrt->Source, RefPath); + } + + Length = sizeof (ACPI_PCI_ROUTING_TABLE) - 4 + strlen(RefPath) + 1; + Length = (UINT32) ACPI_ROUND_UP_TO_64BIT (Length); + + if (UserPrt->Length != Length) + { + AapiErrors++; + printf ("Api Error: PciRT->Length (%d) != %d\n", + UserPrt->Length, Length); + } + + AcpiOsFree(OutBuffer.Pointer); + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0022: + */ +ACPI_STATUS +AtRsrcTest0022(void) +{ + ACPI_STATUS Status; + ACPI_BUFFER OutBuffer = {ACPI_ALLOCATE_BUFFER}; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\AUX2.DEV0"; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_LOAD))) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + /* Make Device handle invalid by unloading SSDT table*/ + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_UNLOAD))) + { + return (Status); + } + + Status = AcpiGetIrqRoutingTable (Device, &OutBuffer); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("Api Error: AcpiGetIrqRoutingTable(%s) returned %s," + " expected AE_BAD_PARAMETER\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0023: + */ +ACPI_STATUS +AtRsrcTest0023(void) +{ + ACPI_STATUS Status; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\DEV0"; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetIrqRoutingTable (Device, NULL); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("Api Error: AcpiGetIrqRoutingTable(%s) returned %s," + " expected AE_BAD_PARAMETER\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0024: + */ +ACPI_STATUS +AtRsrcTest0024(void) +{ + ACPI_STATUS Status; + ACPI_BUFFER OutBuffer; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\DEV0"; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + OutBuffer.Length = 1; + OutBuffer.Pointer = NULL; + + Status = AcpiGetIrqRoutingTable (Device, &OutBuffer); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("Api Error: AcpiGetIrqRoutingTable(%s) returned %s," + " expected AE_BAD_PARAMETER\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0025: + */ +ACPI_STATUS +AtRsrcTest0025(void) +{ + ACPI_STATUS Status; + ACPI_BUFFER OutBuffer = {ACPI_ALLOCATE_BUFFER}; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\M000"; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetIrqRoutingTable (Device, &OutBuffer); + if (Status != AE_TYPE) + { + AapiErrors++; + printf ("Api Error: AcpiGetIrqRoutingTable(%s) returned %s," + " expected AE_TYPE\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0026: + */ +ACPI_STATUS +AtRsrcTest0026(void) +{ + ACPI_STATUS Status; + ACPI_BUFFER OutBuffer; + UINT32 BufferSpace; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\DEV0"; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + OutBuffer.Length = 4; + OutBuffer.Pointer = &BufferSpace; + + Status = AcpiGetIrqRoutingTable (Device, &OutBuffer); + if (Status != AE_BUFFER_OVERFLOW) + { + AapiErrors++; + printf ("Api Error: AcpiGetIrqRoutingTable(%s) returned %s," + " expected AE_BUFFER_OVERFLOW\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + if (OutBuffer.Length != 0xB8) + { + AapiErrors++; + printf ("API Error: AcpiGetIrqRoutingTable(%s) returned Length %d," + " expected %d\n", + Pathname, OutBuffer.Length, 0xA48); + return (AE_ERROR); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +ACPI_STATUS +AtGetIRQRoutingTableExceptionTest( + ACPI_OSXF OsxfNum, + AT_ACTD_FLAG ActFlag, + UINT32 ActCode, + UINT32 TFst, + ACPI_STATUS Benchmark) +{ + ACPI_STATUS Status; + ACPI_OSXF OsxfNumAct; + UINT32 Continue_Cond = 1; + UINT32 CtrlCheck = ALL_STAT; + UINT32 TMax = 10000; + UINT32 i; + ACPI_BUFFER OutBuffer = {ACPI_ALLOCATE_BUFFER}; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\DEV0"; + + + for (i = TFst; (i < TMax) && Continue_Cond; i++) + { + printf ("AtGetIRQRoutingTableExceptionTest: i = %d\n", i); + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + Status = OsxfCtrlSet(OsxfNum, i, ActFlag, ActCode); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: OsxfCtrlSet returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetIrqRoutingTable (Device, &OutBuffer); + + if (!(OsxfNumAct = OsxfCtrlGetActOsxf(OsxfNum, 1))) + { + if (i == TFst) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + } + TestPass++; + Continue_Cond = 0; + } + else + { + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiGetIrqRoutingTable returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + if (ACPI_SUCCESS(Status)) + { + AcpiOsFree(OutBuffer.Pointer); + } + + Status = AtTerminateCtrlCheck(AE_OK, CtrlCheck); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + if (i >= TMax) + { + TestErrors++; + printf ("Test error: there are test cases remained\n"); + return (AE_ERROR); + } + + return (AE_OK); +} + +/* + * ASSERTION 0027: + */ +ACPI_STATUS +AtRsrcTest0027(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + Status = AtGetIRQRoutingTableExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + return (AtGetIRQRoutingTableExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY)); +} + +static UINT32 WalkResourcesHandlerCounter; +static UINT32 WalkResourcesHandlerLength; +static UINT32 WalkResourcesHandlerContext; + +ACPI_STATUS AtWalkResourcesHandler ( + ACPI_RESOURCE *Resource, + void *Context) +{ + + printf ("AtWalkResourcesHandler: Resource %p (Type 0x%x, Len 0x%x), Context %p\n", + Resource, Resource->Type, Resource->Length, Context); + ++WalkResourcesHandlerCounter; + WalkResourcesHandlerLength += Resource->Length; + + if (Context != &WalkResourcesHandlerContext) { + AapiErrors++; + printf ("AtWalkResourcesHandler: Context (%p) !=" + " &WalkResourcesHandlerContext (%p)\n", + Context, &WalkResourcesHandlerContext); + } + + if (WalkResourcesHandlerCounter) { + return (*(UINT32 *)Context); + } + + /* IRQ (Level, ActiveLow, Shared) {0} */ + + if (Resource->Type != ACPI_RESOURCE_TYPE_IRQ) + { + AapiErrors++; + printf ("Api Error: Resource->Type (%d) != ACPI_RESOURCE_TYPE_IRQ\n", + Resource->Type); + } + + if (Resource->Length != ACPI_RS_SIZE (ACPI_RESOURCE_IRQ)) + { + AapiErrors++; + printf ("Api Error: Resource->Length (%d) != %d\n", + Resource->Length, ACPI_RS_SIZE (ACPI_RESOURCE_IRQ)); + } + + if (Resource->Data.Irq.Triggering != 0) /* Level-Triggered */ + { + AapiErrors++; + printf ("Api Error: Irq.Triggering (%d) != 0\n", + Resource->Data.Irq.Triggering); + } + + if (Resource->Data.Irq.Polarity != 1) /* Active-Low */ + { + AapiErrors++; + printf ("Api Error: Irq.Polarity (%d) != 1\n", + Resource->Data.Irq.Polarity); + } + + if (Resource->Data.Irq.Sharable != 1) /* Interrupt is sharable */ + { + AapiErrors++; + printf ("Api Error: Irq.Sharable (%d) != 1\n", + Resource->Data.Irq.Sharable); + } + + if (Resource->Data.Irq.InterruptCount != 1) + { + AapiErrors++; + printf ("Api Error: Irq.InterruptCount (%d) != 1\n", + Resource->Data.Irq.InterruptCount); + } + + if (Resource->Data.Irq.Interrupts[0] != 0) + { + AapiErrors++; + printf ("Api Error: Irq.Interrupts[0] (%d) != 0\n", + Resource->Data.Irq.Interrupts[0]); + } + + return (*(UINT32 *)Context); +} + +ACPI_STATUS +AtWalkResourcesTestCommon( + char *MethodPath, + UINT32 WalkResourcesHandlerRet, + ACPI_STATUS ExpectedStatus, + UINT32 ExpectedCounter, + UINT32 ExpectedLength) +{ + ACPI_STATUS Status; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\DEV0"; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + WalkResourcesHandlerCounter = 0; + WalkResourcesHandlerLength = 0; + WalkResourcesHandlerContext = WalkResourcesHandlerRet; + + Status = AcpiWalkResources (Device, MethodPath, + AtWalkResourcesHandler, &WalkResourcesHandlerContext); + if (Status != ExpectedStatus) + { + AapiErrors++; + printf ("Api Error: AcpiWalkResources(%s, %s) returned %s," + " expected %s\n", + Pathname, MethodPath, + AcpiFormatException(Status), + AcpiFormatException(ExpectedStatus)); + return (AE_ERROR); + } + + if (WalkResourcesHandlerCounter != ExpectedCounter) + { + AapiErrors++; + printf ("Api Error: WalkResourcesHandlerCounter (%d) !=" + "ExpectedCounter (%d)\n", + WalkResourcesHandlerCounter, ExpectedCounter); + return (AE_ERROR); + } + + if (WalkResourcesHandlerLength != ExpectedLength) + { + AapiErrors++; + printf ("Api Error: WalkResourcesHandlerLength (%d) !=" + " ExpectedLength (%d)\n", + WalkResourcesHandlerLength, ExpectedLength); + return (AE_ERROR); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0028: + */ +ACPI_STATUS +AtRsrcTest0028(void) +{ + ACPI_STATUS Status; + + Status = AtWalkResourcesTestCommon("_CRS", AE_OK, AE_OK, + 25, RT0000_DEV0_CRS_LEN); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtWalkResourcesTestCommon("_PRS", AE_OK, AE_OK, + 25, RT0000_DEV0_CRS_LEN); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0029: + */ +ACPI_STATUS +AtRsrcTest0029(void) +{ + ACPI_STATUS Status; + + Status = AtWalkResourcesTestCommon("_CRS", AE_CTRL_DEPTH, AE_OK, + 25, RT0000_DEV0_CRS_LEN); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtWalkResourcesTestCommon("_PRS", AE_CTRL_DEPTH, AE_OK, + 25, RT0000_DEV0_CRS_LEN); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0030: + */ +ACPI_STATUS +AtRsrcTest0030(void) +{ + ACPI_STATUS Status; + + Status = AtWalkResourcesTestCommon("_CRS", AE_CTRL_TERMINATE, AE_OK, 1, 16); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtWalkResourcesTestCommon("_PRS", AE_CTRL_TERMINATE, AE_OK, 1, 16); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0031: + */ +ACPI_STATUS +AtRsrcTest0031(void) +{ + ACPI_STATUS Status; + + Status = AtWalkResourcesTestCommon("_CRS", + AE_ERROR, AE_ERROR, 1, 16); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtWalkResourcesTestCommon("_PRS", + AE_ERROR, AE_ERROR, 1, 16); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0032: + */ +ACPI_STATUS +AtRsrcTest0032(void) +{ + ACPI_STATUS Status; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\AUX2.DEV0"; + char *MethodPath = "_CRS"; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_LOAD))) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + /* Make Device handle invalid by unloading SSDT table*/ + if (ACPI_FAILURE(Status = AtAuxiliarySsdt(AT_UNLOAD))) + { + return (Status); + } + + /* Empty cash to force actual memory allocations */ + Status = AcpiPurgeCachedObjects(); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiPurgeCachedObjects() failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + + WalkResourcesHandlerCounter = 0; + WalkResourcesHandlerContext = AE_OK; + + Status = AcpiWalkResources (Device, MethodPath, + AtWalkResourcesHandler, &WalkResourcesHandlerContext); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("Api Error: AcpiWalkResources(%s, %s) returned %s," + " expected AE_BAD_PARAMETER\n", + Pathname, "_CRS", + AcpiFormatException(Status)); + return (Status); + } + + if (WalkResourcesHandlerCounter != 0) + { + AapiErrors++; + printf ("Api Error: WalkResourcesHandlerCounter (%d) !=" + "ExpectedCounter (%d)\n", + WalkResourcesHandlerCounter, 0); + return (AE_ERROR); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0033: + */ +ACPI_STATUS +AtRsrcTest0033(void) +{ + ACPI_STATUS Status; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\DEV0"; + char *MethodPath = "_PRT"; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + WalkResourcesHandlerCounter = 0; + WalkResourcesHandlerContext = AE_OK; + + Status = AcpiWalkResources (Device, MethodPath, + AtWalkResourcesHandler, &WalkResourcesHandlerContext); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("Api Error: AcpiWalkResources(%s, %s) returned %s," + " expected AE_BAD_PARAMETER\n", + Pathname, "_CRS", + AcpiFormatException(Status)); + return (Status); + } + + if (WalkResourcesHandlerCounter != 0) + { + AapiErrors++; + printf ("Api Error: WalkResourcesHandlerCounter (%d) !=" + "ExpectedCounter (%d)\n", + WalkResourcesHandlerCounter, 0); + return (AE_ERROR); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +ACPI_STATUS +AtWalkResourcesExceptionTest( + ACPI_OSXF OsxfNum, + AT_ACTD_FLAG ActFlag, + UINT32 ActCode, + UINT32 TFst, + ACPI_STATUS Benchmark) +{ + ACPI_STATUS Status; + ACPI_OSXF OsxfNumAct; + UINT32 Continue_Cond = 1; + UINT32 CtrlCheck = ALL_STAT; + UINT32 TMax = 10000; + UINT32 i; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\DEV0"; + char *MethodPath = "_CRS"; + + + for (i = TFst; (i < TMax) && Continue_Cond; i++) + { + printf ("AtWalkResourcesExceptionTest: i = %d\n", i); + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + Status = OsxfCtrlSet(OsxfNum, i, ActFlag, ActCode); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: OsxfCtrlSet returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + WalkResourcesHandlerCounter = 0; + WalkResourcesHandlerContext = AE_OK; + + Status = AcpiWalkResources (Device, MethodPath, + AtWalkResourcesHandler, &WalkResourcesHandlerContext); + + if (!(OsxfNumAct = OsxfCtrlGetActOsxf(OsxfNum, 1))) + { + if (i == TFst) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + } + TestPass++; + Continue_Cond = 0; + } + else + { + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiWalkResources returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + + if (WalkResourcesHandlerCounter != 0) + { + AapiErrors++; + printf ("Api Error: WalkResourcesHandlerCounter (%d) !=" + "ExpectedCounter (%d)\n", + WalkResourcesHandlerCounter, 0); + return (AE_ERROR); + } + } + + Status = AtTerminateCtrlCheck(AE_OK, CtrlCheck); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + if (i >= TMax) + { + TestErrors++; + printf ("Test error: there are test cases remained\n"); + return (AE_ERROR); + } + + return (AE_OK); +} + +/* + * ASSERTION 0034: + */ +ACPI_STATUS +AtRsrcTest0034(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + Status = AtWalkResourcesExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + return (AtWalkResourcesExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY)); +} + +static UINT8 Buffer0035[] = { + 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}; + +/* + * ASSERTION 0035: update of 0014 + */ +ACPI_STATUS +AtRsrcTest0035(void) +{ + ACPI_STATUS Status; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\DEV0"; + ACPI_BUFFER OutBuffer = {ACPI_ALLOCATE_BUFFER}; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0035.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckBuffer("\\DEV0._PRS", + sizeof (Buffer0035), Buffer0035))) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetPossibleResources (Device, &OutBuffer); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetCurrentResources(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + /* Add the flag to print contents of buffers */ + AcpiDbgLevel |= ACPI_LV_TABLES; + + Status = AcpiSetCurrentResources (Device, &OutBuffer); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiSetCurrentResources(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckBuffer("\\DEV0.ECRS", + sizeof (Buffer0035), Buffer0035))) + { + return (Status); + } + + AcpiOsFree(OutBuffer.Pointer); + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +typedef struct { + UINT8 Bytes[1280]; +} UINT8ARR; + +static UINT32 BufLen0036[] = { + 6, 5, 5, 10, 6, 10, 14, 22, 14, 26, 62, 42, + 32, 62, 42, 32, 1229, 17, 58, 58, 58, 42, 62, 32, 2, + 11, 15, 19, 23, 27, 31, 35, 39, 43, 47, 51, 55, 59, 63, 67, 71, + 26, +}; + +static UINT8ARR Buffer0036[] = { + {{0x23, 0x01, 0x00, 0x00, 0x79, 0x00}}, + {{0x22, 0x02, 0x00, 0x79, 0x00}}, + {{0x2a, 0x04, 0x02, 0x79, 0x00}}, + {{0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5, 0x79, 0x00}}, + {{0x4b, 0xf1, 0xf0, 0xf2, 0x79, 0x00}}, + {{0x77, 0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7, 0x79, 0x00}}, + {{0x81, 0x09, 0x00, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6, 0x79, 0x00}}, + {{0x85, 0x11, 0x00, 0x01, + 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4, + 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00}}, + {{0x86, 0x09, 0x00, 0x00, + 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4, 0x79, 0x00}}, + {{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}}, + {{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}}, + {{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}}, + {{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}}, + {{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}}, + {{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}}, + {{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}}, + {{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}}, + {{0x82, 0x0c, 0x00, 0x7f, 0xf0, 0xf1, 0x00, + 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0x79, 0x00}}, + {{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}}, + {{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}}, + {{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}}, + {{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}}, + {{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}}, + {{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}}, + {{0x79, 0x00}}, + + {{0x89, 0x06, 0x00, 0x00, 0x01, + 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00}}, + {{0x89, 0x0a, 0x00, 0x08, 0x02, + 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00}}, + {{0x89, 0x0e, 0x00, 0x04, 0x03, + 0xf7, 0xf6, 0xf5, 0xf4, + 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00}}, + {{0x89, 0x12, 0x00, 0x0c, 0x04, + 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4, + 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc, 0x79, 0x00}}, + {{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}}, + {{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}}, + {{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}}, + {{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}}, + {{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}}, + {{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}}, + {{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}}, + {{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}}, + {{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}}, + {{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}}, + {{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}}, + {{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}}, + {{0x31, 0x00, 0x38, 0x31, 0x04, 0x31, 0x08, 0x38, 0x31, 0x01, 0x30, + 0x31, 0x09, 0x38, 0x31, 0x02, 0x38, 0x31, 0x06, 0x38, 0x31, 0x0a, 0x38, 0x79, 0x00}}, + + +}; + +/* + * ASSERTION 0036: update of 0035 + */ +ACPI_STATUS +AtRsrcTest0036(void) +{ + ACPI_STATUS Status; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\DEV0"; + ACPI_BUFFER OutBuffer = {ACPI_ALLOCATE_BUFFER}; + UINT32 i; + UINT32 NumChecks; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0036.aml"))) + { + return (Status); + } + + NumChecks = sizeof (BufLen0036) / sizeof (UINT32); + if (NumChecks != (sizeof (Buffer0036) / sizeof (UINT8ARR))) + { + TestErrors++; + printf ("Test error: NumChecks (%d) != sizeof (Buffer0036) /" + " sizeof (UINT8ARR) (%d)\n", + NumChecks, (UINT32)(sizeof (Buffer0036) / sizeof (UINT8ARR))); + return (AE_ERROR); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* Add the flag to print contents of buffers */ + AcpiDbgLevel |= ACPI_LV_TABLES; + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + for (i = 0; i < NumChecks; i++) + { + printf ("i = %d\n", i); + OutBuffer.Length = ACPI_ALLOCATE_BUFFER; + OutBuffer.Pointer = NULL; + + Status = AcpiGetPossibleResources (Device, &OutBuffer); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetCurrentResources(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiSetCurrentResources (Device, &OutBuffer); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiSetCurrentResources(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + (void)AtCheckBuffer("\\DEV0.ECRS", BufLen0036[i], Buffer0036[i].Bytes); + + AcpiOsFree(OutBuffer.Pointer); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + + +/* + * ASSERTION 0037: reproduces BZ2039 + */ + +/* from drivers/acpi/pci_link.c */ + +#define ACPI_PCI_LINK_MAX_POSSIBLE 16 + +/* + * If a link is initialized, we never change its active and initialized + * later even the link is disable. Instead, we just repick the active irq + */ +struct acpi_pci_link_irq { + UINT8 active; /* Current IRQ */ + UINT8 triggering; /* All IRQs */ + UINT8 polarity; /* All IRQs */ + UINT8 resource_type; + UINT8 possible_count; + UINT8 possible[ACPI_PCI_LINK_MAX_POSSIBLE]; + UINT8 initialized; + UINT8 reserved; +}; + +struct acpi_pci_link { +// struct list_head node; +// struct acpi_device *device; + ACPI_HANDLE handle; + struct acpi_pci_link_irq irq; + int refcnt; +}; + +static int acpi_pci_link_set(struct acpi_pci_link *link, int irq) +{ + int result = 0; + ACPI_STATUS status = AE_OK; + struct { + struct acpi_resource res; + struct acpi_resource end; + } resource_obj, *resource = &resource_obj; + struct acpi_buffer buffer = { 0, NULL }; + + + if (!link || !irq) + return (-1); + + memset(resource, 0, sizeof(resource_obj)); + buffer.Length = sizeof(resource_obj); + buffer.Pointer = resource; + + switch (link->irq.resource_type) { + case ACPI_RESOURCE_TYPE_IRQ: + resource->res.Type = ACPI_RESOURCE_TYPE_IRQ; + resource->res.Length = sizeof(struct acpi_resource); + resource->res.Data.Irq.Triggering = link->irq.triggering; + resource->res.Data.Irq.Polarity = + link->irq.polarity; + if (link->irq.triggering == ACPI_EDGE_SENSITIVE) + resource->res.Data.Irq.Sharable = + ACPI_EXCLUSIVE; + else + resource->res.Data.Irq.Sharable = ACPI_SHARED; + resource->res.Data.Irq.InterruptCount = 1; + resource->res.Data.Irq.Interrupts[0] = (UINT8)irq; + break; + + case ACPI_RESOURCE_TYPE_EXTENDED_IRQ: + resource->res.Type = ACPI_RESOURCE_TYPE_EXTENDED_IRQ; + resource->res.Length = sizeof(struct acpi_resource); + resource->res.Data.ExtendedIrq.ProducerConsumer = + ACPI_CONSUMER; + resource->res.Data.ExtendedIrq.Triggering = + link->irq.triggering; + resource->res.Data.ExtendedIrq.Polarity = + link->irq.polarity; + if (link->irq.triggering == ACPI_EDGE_SENSITIVE) + resource->res.Data.Irq.Sharable = + ACPI_EXCLUSIVE; + else + resource->res.Data.Irq.Sharable = ACPI_SHARED; + resource->res.Data.ExtendedIrq.InterruptCount = 1; + resource->res.Data.ExtendedIrq.Interrupts[0] = (UINT8)irq; + /* ignore resource_source, it's optional */ + break; + default: + printf ("Invalid Resource_type %d\n", link->irq.resource_type); + result = -2; + goto end; + + } + resource->end.Type = ACPI_RESOURCE_TYPE_END_TAG; + + /* Attempt to set the resource */ + status = AcpiSetCurrentResources(link->handle, &buffer); + + /* check for total failure */ + if (ACPI_FAILURE(status)) { + ACPI_EXCEPTION((AE_INFO, status, "Evaluating _SRS")); + result = -3; + goto end; + } + +/* +... + */ + end: + return (result); +} + +ACPI_STATUS +AtRsrcTest0037(void) +{ + ACPI_STATUS Status; + ACPI_HANDLE Device; + ACPI_STRING Pathname = "\\DEV0"; + struct acpi_pci_link link; + int irq = 1; + int i, NumErr = 0; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("rt0000.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiGetHandle (NULL, Pathname, &Device); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("Api Error: AcpiGetHandle(%s) returned %s\n", + Pathname, AcpiFormatException(Status)); + return (Status); + } + + /* Add the flag to print contents of buffers */ + AcpiDbgLevel |= ACPI_LV_TABLES; + +/* + Status = AtTerminateCtrlCheck(AE_OK, ALL_STAT); + if (ACPI_FAILURE(Status)) + { + return (Status); + } +*/ + + link.handle = Device; + for (i = 0; i < 8; i++) + { + link.irq.resource_type = (UINT8) ((i % 2) ? + ACPI_RESOURCE_TYPE_EXTENDED_IRQ : + ACPI_RESOURCE_TYPE_IRQ); + + link.irq.triggering = (UINT8) ((i >> 1) % 2); + link.irq.polarity = (UINT8) ((i >> 2) % 2); + + if (acpi_pci_link_set(&link, irq)) + { + NumErr++; + } + } + + if (NumErr) + { + printf ("acpi_pci_link_set: %d errors\n", + NumErr); + return (Status); + } + + return (AE_OK); +} diff --git a/tests/aapits/atresource.h b/tests/aapits/atresource.h new file mode 100644 index 0000000..2a0e6f4 --- /dev/null +++ b/tests/aapits/atresource.h @@ -0,0 +1,51 @@ +/****************************************************************************** + * + * Module Name: atresource - predefinitions of tests of the test case + * + *****************************************************************************/ + +#ifndef _ATRESOURCE +#define _ATRESOURCE + +AT_TEST AtRsrcTest0000; +AT_TEST AtRsrcTest0001; +AT_TEST AtRsrcTest0002; +AT_TEST AtRsrcTest0003; +AT_TEST AtRsrcTest0004; +AT_TEST AtRsrcTest0005; +AT_TEST AtRsrcTest0006; +AT_TEST AtRsrcTest0007; +AT_TEST AtRsrcTest0008; +AT_TEST AtRsrcTest0009; +AT_TEST AtRsrcTest0010; +AT_TEST AtRsrcTest0011; +AT_TEST AtRsrcTest0012; +AT_TEST AtRsrcTest0013; +AT_TEST AtRsrcTest0014; +AT_TEST AtRsrcTest0015; +AT_TEST AtRsrcTest0016; +AT_TEST AtRsrcTest0017; +AT_TEST AtRsrcTest0018; +AT_TEST AtRsrcTest0019; +AT_TEST AtRsrcTest0020; +AT_TEST AtRsrcTest0021; +AT_TEST AtRsrcTest0022; +AT_TEST AtRsrcTest0023; +AT_TEST AtRsrcTest0024; +AT_TEST AtRsrcTest0025; +AT_TEST AtRsrcTest0026; +AT_TEST AtRsrcTest0027; +AT_TEST AtRsrcTest0028; +AT_TEST AtRsrcTest0029; +AT_TEST AtRsrcTest0030; +AT_TEST AtRsrcTest0031; +AT_TEST AtRsrcTest0032; +AT_TEST AtRsrcTest0033; +AT_TEST AtRsrcTest0034; +AT_TEST AtRsrcTest0035; +AT_TEST AtRsrcTest0036; +AT_TEST AtRsrcTest0037; + +#define AT_RSCM_TEST_NUM 38 + +#endif /* _ATRESOURCE */ diff --git a/tests/aapits/attable.c b/tests/aapits/attable.c new file mode 100644 index 0000000..619773e --- /dev/null +++ b/tests/aapits/attable.c @@ -0,0 +1,3271 @@ +/****************************************************************************** + * + * Module Name: attable - ACPICA Table Management API tests + * + *****************************************************************************/ + +#include "atcommon.h" +#include "attable.h" +#include "atosxfctrl.h" + +#define _COMPONENT ACPI_TOOLS + ACPI_MODULE_NAME ("attable") + +typedef struct at_sign_inst +{ + ACPI_STRING Signature; + UINT32 Instance; +} AT_SIGN_INST; + +#define ACPI_NUM_TABLE_TYPES 6 + +static char *TableSignSet[] = { + ACPI_SIG_RSDT, + ACPI_SIG_DSDT, + ACPI_SIG_FADT, + ACPI_SIG_FACS, + ACPI_SIG_PSDT, + ACPI_SIG_SSDT, + ACPI_SIG_XSDT, + "", + "SIG", + "BAD_SIG", + NULL, +}; + +static AT_SIGN_INST TestSignInstOk[] = { + {"FACP", 1}, /* FADT */ + {"SSDT", 1}, + {"SSDT", 2}, + {"SSDT", 3}, + {"PSDT", 1}, + {"OEM1", 1}, + {"DSDT", 1}, + {"FACS", 1}, +}; +static AT_SIGN_INST TestSignInstError[] = { + {"RSDT", 1}, + {"RSDP", 1}, + {"SSDT", 4}, + {"PSDT", 2}, + {"DSDT", 2}, +}; + +/* + * ASSERTION 0000: + */ +ACPI_STATUS +AtTableTest0000(void) +{ + ACPI_STATUS Status; + ACPI_STATUS Benchmark = AE_BAD_PARAMETER; + + if (AT_SKIP_FIND_ROOT_PPOINTER_CHECK) { + TestSkipped++; + printf ("Skip: AcpiFindRootPointer(NULL) results in a crash\n"); + return (AE_OK); + } + Status = AcpiFindRootPointer(NULL); + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiFindRootPointer(NULL) returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), + AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + return (AE_OK); +} + +/* + * ASSERTION 0001: + */ +ACPI_STATUS +AtTableTest0001(void) +{ + ACPI_STATUS Status; + ACPI_STATUS Benchmark = AE_OK; + ACPI_TABLE_HEADER UserTableStructure, *UserTable = &UserTableStructure; + + memset(&UserTableStructure, 0, sizeof (ACPI_TABLE_HEADER)); + + AtBuildLocalTables(UserTable, NullBldTask); + + Status = AtInitializeTables(FALSE); + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiInitializeTables() returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), + AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + return (AE_OK); +} + +/* + * ASSERTION 0002: + */ +ACPI_STATUS +AtTableTest0002(void) +{ + ACPI_STATUS Status; + ACPI_STATUS Benchmark = AE_OK; + ACPI_TABLE_DESC Tables[20]; + UINT32 i; + ACPI_TABLE_HEADER UserTableStructure, *UserTable = &UserTableStructure; + + memset(&UserTableStructure, 0, sizeof (ACPI_TABLE_HEADER)); + + AtBuildLocalTables(UserTable, NullBldTask); + + for (i = 0; i < 20; i++) + { + Status = AcpiInitializeTables(Tables, i, FALSE); + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiInitializeTables( , 3, ) returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), + AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + return (AE_OK); +} + +/* + * ASSERTION 0003: + */ +ACPI_STATUS +AtTableTest0003(void) +{ + ACPI_STATUS Status; + ACPI_STATUS Benchmark = AE_NO_MEMORY; + UINT32 RMax = 3; + UINT32 i; + ACPI_TABLE_HEADER UserTableStructure, *UserTable = &UserTableStructure; + + memset(&UserTableStructure, 0, sizeof (ACPI_TABLE_HEADER)); + + AtBuildLocalTables(UserTable, NullBldTask); + + /* + * Mark the total number of AcpiOS* invocations + */ + Status = OsxfCtrlCheck(TOTAL_STAT, 1); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error 1: AcpiOS* calls withoout Subsystem init., %s\n", + AcpiFormatException(Status)); + return (Status); + } + + for (i = 0; i < RMax; i++) + { + Status = AcpiInitializeTables(NULL, 20, FALSE); + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiInitializeTables(NULL) returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), + AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + + /* + * Check the total number of AcpiOS* invocations + */ + Status = OsxfCtrlCheck(TOTAL_STAT, 1); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error 2: AcpiOS* calls during AcpiInitializeTables, %s\n", + AcpiFormatException(Status)); + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0004: + */ +ACPI_STATUS +AtTableTest0004(void) +{ + ACPI_STATUS Status; + ACPI_STATUS Benchmark = AE_OK; + ACPI_TABLE_HEADER UserTableStructure, *UserTable = &UserTableStructure; + + memset(&UserTableStructure, 0, sizeof (ACPI_TABLE_HEADER)); + + AtBuildLocalTables(UserTable, NullBldTask); + + Status = AtInitCommonTest(AAPITS_INITIALIZE_SS, 0, 0, 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiInitializeTables(NULL, 20, FALSE); + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiInitializeTables(NULL) returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), + AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + return (AE_OK); +} + +/* + * ASSERTION 0005: + */ + +ACPI_STATUS +AtInitializeTablesExceptionTest1( + ACPI_OSXF OsxfNum, + AT_ACTD_FLAG ActFlag, + UINT32 ActCode, + UINT32 TFst, + ACPI_STATUS Benchmark) +{ + ACPI_STATUS Status; + ACPI_TABLE_HEADER UserTableStructure, *UserTable = &UserTableStructure; + ACPI_OSXF OsxfNumAct; + UINT32 Continue_Cond = 1; + UINT32 TMax = 10000; + UINT32 i; + + memset(&UserTableStructure, 0, sizeof (ACPI_TABLE_HEADER)); + + AtBuildLocalTables(UserTable, NullBldTask); + + for (i = TFst; (i < TMax) && Continue_Cond; i++) + { + printf ("AtInitializeTablesExceptionTest1: i = %d\n", i); + + Status = AtInitCommonTest(AAPITS_INITIALIZE_SS, 0, 0, 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = OsxfCtrlSet(OsxfNum, i, ActFlag, ActCode); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: OsxfCtrlSet returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiInitializeTables(NULL, 20, FALSE); + + if (!(OsxfNumAct = OsxfCtrlGetActOsxf(OsxfNum, 1))) + { + if (i == TFst) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + } + TestPass++; + Continue_Cond = 0; + } + else + { + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiInitializeTables returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + + Status = AtTerminateCtrlCheck(AE_OK, ALL_STAT); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + if (i >= TMax) + { + TestErrors++; + printf ("Test error: there are test cases remained\n"); + return (AE_ERROR); + } + + return (AE_OK); +} + +ACPI_STATUS +AtTableTest0005(void) +{ + ACPI_STATUS Status; + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + Status = AtInitializeTablesExceptionTest1( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + return (AtInitializeTablesExceptionTest1( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY)); +} + +/* + * ASSERTION 0006: + */ +ACPI_STATUS +AtTableTest0006(void) +{ + ACPI_STATUS Status; + ACPI_STATUS Benchmark = AE_OK; + ACPI_TABLE_HEADER UserTableStructure, *UserTable = &UserTableStructure; + + memset(&UserTableStructure, 0, sizeof (ACPI_TABLE_HEADER)); + + AtBuildLocalTables(UserTable, NullBldTask); + + Status = AtInitCommonTest(AAPITS_INITIALIZE_SS, 0, 0, 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtInitializeTables(TRUE); + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiInitializeTables( , , 1) returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), + AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + + Status = AcpiReallocateRootTable(); + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiReallocateRootTable() returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), + AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + return (AE_OK); +} + +ACPI_STATUS +AtReallocateRootTableExceptionTest( + ACPI_OSXF OsxfNum, + AT_ACTD_FLAG ActFlag, + UINT32 ActCode, + UINT32 TFst, + ACPI_STATUS Benchmark) +{ + ACPI_STATUS Status; + ACPI_TABLE_HEADER UserTableStructure, *UserTable = &UserTableStructure; + ACPI_OSXF OsxfNumAct; + UINT32 Continue_Cond = 1; + UINT32 CtrlCheck = ALL_STAT; + UINT32 TMax = 10000; + UINT32 i; + + memset(&UserTableStructure, 0, sizeof (ACPI_TABLE_HEADER)); + + AtBuildLocalTables(UserTable, NullBldTask); + + for (i = TFst; (i < TMax) && Continue_Cond; i++) + { + printf ("AtReallocateRootTableExceptionTest: i = %d\n", i); + + Status = AtSubsystemInit( + AAPITS_INITIALIZE_SS | AAPITS_INITABLES, 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = OsxfCtrlSet(OsxfNum, i, ActFlag, ActCode); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: OsxfCtrlSet returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiReallocateRootTable(); + + if (!(OsxfNumAct = OsxfCtrlGetActOsxf(OsxfNum, 1))) + { + if (i == TFst) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + } + TestPass++; + Continue_Cond = 0; + } + else + { + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiReallocateRootTable returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + + Status = AtTerminateCtrlCheck(AE_OK, CtrlCheck); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + if (i >= TMax) + { + TestErrors++; + printf ("Test error: there are test cases remained\n"); + return (AE_ERROR); + } + + return (AE_OK); +} + +/* + * ASSERTION 0007: + */ +ACPI_STATUS +AtTableTest0007(void) +{ + ACPI_STATUS Status; + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + Status = AtReallocateRootTableExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + return (AtReallocateRootTableExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY)); +} + +/* + * ASSERTION 0008: + */ +ACPI_STATUS +AtTableTest0008(void) +{ + ACPI_STATUS Status; + ACPI_STATUS Benchmark = AE_NO_MEMORY; + ACPI_TABLE_HEADER UserTableStructure, *UserTable = &UserTableStructure; + + memset(&UserTableStructure, 0, sizeof (ACPI_TABLE_HEADER)); + + AtBuildLocalTables(UserTable, NullBldTask); + + /* + * Mark the total number of AcpiOS* invocations + */ + Status = OsxfCtrlCheck(TOTAL_STAT, 1); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error 1: AcpiOS* calls withoout Subsystem init., %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AtInitializeTables(TRUE); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiInitializeTables( , , 1) returned %s\n", + AcpiFormatException(Status)); + return (AE_ERROR); + } + + Status = AcpiReallocateRootTable(); + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiReallocateRootTable() returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), + AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + + /* + * Check the total number of AcpiOS* invocations + */ + Status = OsxfCtrlCheck(TOTAL_STAT, 1); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error 2: AcpiOS* calls during AcpiInitializeTables, %s\n", + AcpiFormatException(Status)); + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0009: + */ +ACPI_STATUS +AtTableTest0009(void) +{ + ACPI_STATUS Status; + ACPI_STATUS Benchmark = AE_SUPPORT; + ACPI_TABLE_HEADER UserTableStructure, *UserTable = &UserTableStructure; + + memset(&UserTableStructure, 0, sizeof (ACPI_TABLE_HEADER)); + + AtBuildLocalTables(UserTable, NullBldTask); + + /* + * Mark the total number of AcpiOS* invocations + */ + Status = OsxfCtrlCheck(TOTAL_STAT, 1); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error 1: AcpiOS* calls withoout Subsystem init., %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AtInitializeTables(FALSE); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiInitializeTables( , , 0) returned %s\n", + AcpiFormatException(Status)); + return (AE_ERROR); + } + + Status = AcpiReallocateRootTable(); + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiReallocateRootTable() returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), + AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + + /* + * Check the total number of AcpiOS* invocations + */ + Status = OsxfCtrlCheck(TOTAL_STAT, 1); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error 2: AcpiOS* calls during AcpiInitializeTables, %s\n", + AcpiFormatException(Status)); + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0010: + */ +ACPI_STATUS +AtTableTest0010(void) +{ + ACPI_STATUS Status; + ACPI_STATUS Benchmark = AE_SUPPORT; + int RMax = 5; + int i; + ACPI_TABLE_HEADER UserTableStructure, *UserTable = &UserTableStructure; + + memset(&UserTableStructure, 0, sizeof (ACPI_TABLE_HEADER)); + + AtBuildLocalTables(UserTable, NullBldTask); + + Status = AtInitCommonTest(AAPITS_INITIALIZE_SS, 0, 0, 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiInitializeTables(NULL, 20, TRUE); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiInitializeTables(NULL) returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + for (i = 0; i < RMax; i++) + { + Status = AcpiReallocateRootTable(); + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error (%d): AcpiReallocateRootTable() returned %s,\n" + " expected to return %s\n", + i, AcpiFormatException(Status), + AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * Common test + */ +ACPI_STATUS +AtGetTableTest( + UINT32 StagesScale, + AT_SIGN_INST *TestSignInst, + UINT32 NumTables, + ACPI_STATUS Benchmark) +{ + ACPI_STATUS Status; + UINT32 i; + ACPI_TABLE_HEADER *TablePointer; + ACPI_TABLE_HEADER UserTableStructure, *UserTable = &UserTableStructure; + + memset(&UserTableStructure, 0, sizeof (ACPI_TABLE_HEADER)); + + AtBuildLocalTables(UserTable, NullBldTask); + + if (StagesScale) + { + Status = AtSubsystemInit(StagesScale, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + for (i = 0; i < NumTables; i++) + { + Status = AcpiGetTable( + TestSignInst[i].Signature, TestSignInst[i].Instance, + &TablePointer); + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiGetTable('%s', %d) returned %s,\n" + " expected to return %s\n", + TestSignInst[i].Signature, TestSignInst[i].Instance, + AcpiFormatException(Status), AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + + if (StagesScale & AAPITS_INITIALIZE_SS) + { + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); + } + + return (AE_OK); +} + +/* + * ASSERTION 0011: + */ +ACPI_STATUS +AtTableTest0011(void) +{ + return (AtGetTableTest( + AAPITS_INITABLES, + TestSignInstOk, + sizeof (TestSignInstOk) / sizeof (AT_SIGN_INST), + AE_OK)); +} + +/* + * ASSERTION 0012: + */ +ACPI_STATUS +AtTableTest0012(void) +{ + return (AtGetTableTest( + AAPITS_INI_PRELOAD & ~AAPITS_REALLOCROOTTABLE, + TestSignInstOk, + sizeof (TestSignInstOk) / sizeof (AT_SIGN_INST), + AE_OK)); +} + +/* + * ASSERTION 0013: + */ + +ACPI_STATUS +AtInitializeTablesExceptionTest( + ACPI_OSXF OsxfNum, + AT_ACTD_FLAG ActFlag, + UINT32 ActCode, + UINT32 TFst, + ACPI_STATUS Benchmark) +{ + ACPI_STATUS Status; + ACPI_TABLE_HEADER UserTableStructure, *UserTable = &UserTableStructure; + ACPI_OSXF OsxfNumAct; + UINT32 Continue_Cond = 1; + UINT32 TMax = 2; + UINT32 i; + + memset(&UserTableStructure, 0, sizeof (ACPI_TABLE_HEADER)); + + AtBuildLocalTables(UserTable, NullBldTask); + + for (i = TFst; (i < TMax) && Continue_Cond; i++) + { + printf ("AtInitializeTablesExceptionTest: i = %d\n", i); + + Status = OsxfCtrlSet(OsxfNum, i, ActFlag, ActCode); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: OsxfCtrlSet returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AtInitializeTables(FALSE); + + if (!(OsxfNumAct = OsxfCtrlGetActOsxf(OsxfNum, 1))) + { + if (i == TFst) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + } + TestPass++; + Continue_Cond = 0; + } + else + { + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiInitializeTables returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + } + return (AE_OK); +} + +ACPI_STATUS +AtTableTest0013(void) +{ + /* + * AcpiOsGetRootPointer returns AE_ERROR + */ + return (AtInitializeTablesExceptionTest( + OSXF_NUM(AcpiOsGetRootPointer), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NOT_FOUND)); +} + +ACPI_STATUS +AtGetTableExceptionTest( + ACPI_OSXF OsxfNum, + AT_ACTD_FLAG ActFlag, + UINT32 ActCode, + UINT32 TFst, + ACPI_STATUS Benchmark) +{ + ACPI_STATUS Status; + ACPI_TABLE_HEADER *TablePointer; + ACPI_TABLE_HEADER UserTableStructure, *UserTable = &UserTableStructure; + ACPI_OSXF OsxfNumAct; + UINT32 Continue_Cond = 1; + UINT32 CtrlCheck = ALL_STAT; + UINT32 TMax = 10000; + UINT32 i, j; + + if (AT_SKIP_MMAP_CHECK) + { + CtrlCheck &= ~MMAP_STAT; + } + + memset(&UserTableStructure, 0, sizeof (ACPI_TABLE_HEADER)); + + AtBuildLocalTables(UserTable, NullBldTask); + + for (i = TFst; (i < TMax) && Continue_Cond; i++) + { + printf ("AtGetTableExceptionTest: i = %d\n", i); + + Status = AtSubsystemInit(AAPITS_INITIALIZE_SS, 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = OsxfCtrlSet(OsxfNum, i, ActFlag, ActCode); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: OsxfCtrlSet returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + j = (i - TFst) % (sizeof (TestSignInstOk) / sizeof (AT_SIGN_INST)); + + Status = AcpiGetTable( + TestSignInstOk[j].Signature, TestSignInstOk[j].Instance, + &TablePointer); + + if (!(OsxfNumAct = OsxfCtrlGetActOsxf(OsxfNum, 1))) + { + if (i == TFst) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + } + TestPass++; + Continue_Cond = 0; + } + else + { + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiGetFirmwareTable returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + + Status = AtTerminateCtrlCheck(AE_OK, CtrlCheck); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + if (i >= TMax) + { + TestErrors++; + printf ("Test error: there are test cases remained\n"); + return (AE_ERROR); + } + + return (AE_OK); +} + +/* + * ASSERTION 0014: + */ +ACPI_STATUS +AtTableTest0014(void) +{ + return (AtGetTableTest( + AAPITS_INITABLES, + TestSignInstError, + sizeof (TestSignInstError) / sizeof (AT_SIGN_INST), + AE_NOT_FOUND)); +} + +/* + * ASSERTION 0015: + */ +ACPI_STATUS +AtTableTest0015(void) +{ + return (AtGetTableTest( + AAPITS_INI_PRELOAD, + TestSignInstOk, + sizeof (TestSignInstOk) / sizeof (AT_SIGN_INST), + AE_OK)); +} + +/* + * ASSERTION 0016: + */ +ACPI_STATUS +AtTableTest0016(void) +{ + ACPI_STATUS Status; + ACPI_TABLE_HEADER UserTableStructure, *UserTable = &UserTableStructure; + + memset(&UserTableStructure, 0, sizeof (ACPI_TABLE_HEADER)); + + AtBuildLocalTables(UserTable, NullBldTask); + + Status = AtInitializeTables(FALSE); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiInitializeTables() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AtSubsystemInit( + (AAPITS_INI_PRELOAD & ~AAPITS_INITABLES) | AAPITS_LOADTABLES, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0017: + */ +ACPI_STATUS +AtTableTest0017(void) +{ + ACPI_STATUS Status; + + Status = AtSubsystemInit( + AAPITS_INI_PRELOAD | AAPITS_LOADTABLES, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0018: + */ +ACPI_STATUS +AtTableTest0018(void) +{ + ACPI_STATUS Status; + + Status = AtSubsystemInit( + AAPITS_INI_PRELOAD | AAPITS_LOADTABLES, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +ACPI_STATUS +AtLoadTablesInvalidTest(int Var) +{ + ACPI_STATUS Status; + int RMax = 5; + int i; + ACPI_TABLE_HEADER UserTableStructure, *UserTable = &UserTableStructure; + + memset(&UserTableStructure, 0, sizeof (ACPI_TABLE_HEADER)); + AtBuildLocalTables(UserTable, NullBldTask); + + /* + * Mark the total number of AcpiOS* invocations + */ + Status = OsxfCtrlCheck(TOTAL_STAT, 1); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error 1: AcpiOS* calls withoout Subsystem init., %s\n", + AcpiFormatException(Status)); + return (Status); + } + + if (Var) + { + Status = AtInitCommonTest(AAPITS_INITIALIZE_SS, + AAPITS_INITIALIZE_SS, 0, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + for (i = 0; i < RMax; i++) + { + if (i == (RMax - 2)) + { + Status = AtInitializeTables(FALSE); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error 2: AcpiInitializeTables returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + } + + Status = AcpiLoadTables(); + if ((i < (RMax - 2)) && Status != AE_NO_ACPI_TABLES) + { + AapiErrors++; + printf ("API Error 3-%d: AcpiLoadTables() returned %s," + " expected AE_NO_ACPI_TABLES\n", + i, AcpiFormatException(Status)); + return (AE_ERROR); + } + else if ((i >= (RMax - 2)) && ACPI_SUCCESS(Status)) + { + AapiErrors++; + printf ("API Error 3-%d: AcpiLoadTables() returned %s," + " expected a FAILURE\n", + i, AcpiFormatException(Status)); + return (AE_ERROR); + } + } + + /* + * Check the total number of AcpiOS* invocations + */ + Status = OsxfCtrlCheck(TOTAL_STAT, 1); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error 4: AcpiOS* calls during AcpiLoadTables, %s\n", + AcpiFormatException(Status)); + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0019: + */ +ACPI_STATUS +AtTableTest0019(void) +{ + return (AtLoadTablesInvalidTest(0)); +} + +/* + * ASSERTION 0020: + */ +ACPI_STATUS +AtTableTest0020(void) +{ + return (AtLoadTablesInvalidTest(1)); +} + +/* + * ASSERTION 0021: + */ +ACPI_STATUS +AtTableTest0021(void) +{ + ACPI_STATUS Status; + + Status = AtInitCommonTest(AAPITS_INI_PRELOAD | AAPITS_LOADTABLES, + AAPITS_LOADTABLES, 0, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0022: + */ +ACPI_STATUS +AtTableTest0022(void) +{ + ACPI_STATUS Status; + + Status = AtInitCommonTest( + (AAPITS_INI_PRELOAD & ~AAPITS_REALLOCROOTTABLE) | AAPITS_LOADTABLES, + AAPITS_LOADTABLES, 0, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0023: + */ +ACPI_STATUS +AtTableTest0023(void) +{ + ACPI_STATUS Status; + int RMax = 3; + int i; + + Status = AtSubsystemInit( + AAPITS_INI_PRELOAD | AAPITS_LOADTABLES, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 0; i < RMax; i++) + { + Status = AtInitCommonTest(AAPITS_LOADTABLES, + 0, AAPITS_LOADTABLES, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +UINT32 +AtIsCheckedAttempt( + UINT32 Ind, + UINT32 NumTSkip, + UINT32 *TSkip) +{ + UINT32 i; + + for (i = 0; i < NumTSkip / 2; i++) + { + if (TSkip[2 * i] <= Ind && Ind <= TSkip[2 * i + 1]) + { + return (FALSE); + } + } + return (TRUE); +} + +ACPI_STATUS +AtLoadTablesExceptionTest( + ACPI_OSXF OsxfNum, + AT_ACTD_FLAG ActFlag, + UINT32 ActCode, + UINT32 TFst, + ACPI_STATUS Benchmark, + UINT32 NumTSkip, + UINT32 *TSkip) +{ + ACPI_STATUS Status; + ACPI_TABLE_HEADER UserTableStructure, *UserTable = &UserTableStructure; + ACPI_OSXF OsxfNumAct; + UINT32 Continue_Cond = 1; + UINT32 CtrlCheck = ALL_STAT; + UINT32 TMax = 10000; + UINT32 i; + + if (AT_SKIP_MMAP_CHECK) + { + CtrlCheck &= ~MMAP_STAT; + } + + memset(&UserTableStructure, 0, sizeof (ACPI_TABLE_HEADER)); + + AtBuildLocalTables(UserTable, NullBldTask); + + for (i = TFst; (i < TMax) && Continue_Cond; i++) + { + printf ("AtLoadTablesExceptionTest: i = %d\n", i); + + Status = AtSubsystemInit(AAPITS_INI_PRELOAD, 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = OsxfCtrlSet(OsxfNum, i, ActFlag, ActCode); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: OsxfCtrlSet returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiLoadTables(); + + if (!(OsxfNumAct = OsxfCtrlGetActOsxf(OsxfNum, 1))) + { + if (i == TFst) + { + TestSkipped++; + printf ("Test note: test action hasn't occur\n"); + } + TestPass++; + Continue_Cond = 0; + } + else + { + if (Status != Benchmark && AtIsCheckedAttempt(i, NumTSkip, TSkip)) + { + AapiErrors++; + printf ("API Error: AcpiLoadTables returned %s,\n" + " expected to return %s\n", + AcpiFormatException(Status), + AcpiFormatException(Benchmark)); + if (Status == AE_OK) + { + return (AE_ERROR); + } + } + } + + Status = AtTerminateCtrlCheck(AE_OK, CtrlCheck); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + if (i >= TMax) + { + TestErrors++; + printf ("Test error: there are test cases remained\n"); + return (AE_ERROR); + } + + return (AE_OK); +} + +/* + * ASSERTION 0024: + */ +ACPI_STATUS +AtTableTest0024(void) +{ + ACPI_STATUS Status; + /* Skip a part of checks due to ignoring NS load errors for SSDT */ + UINT32 TSkip[] = {7, 28}; + + /* + * AcpiOsAllocate returns NULL permanently since the specified call + */ + Status = AtLoadTablesExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_Permanent, AtActRet_NULL, 1, + AE_NO_MEMORY, sizeof (TSkip) / sizeof (UINT32), TSkip); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* + * AcpiOsAllocate returns NULL one time on the specified call + */ + return (AtLoadTablesExceptionTest( + OSXF_NUM(AcpiOsAllocate), + AtActD_OneTime, AtActRet_NULL, 1, + AE_NO_MEMORY, sizeof (TSkip) / sizeof (UINT32), TSkip)); +} + +/* + * AcpiInitializeTables errors common test + */ +ACPI_STATUS +AtInitializeTablesErrTest( + UINT32 *ErrFlags, int NumCases, ACPI_STATUS *ErrBenchmarks) +{ + ACPI_STATUS Status; + int i; + ACPI_TABLE_HEADER UserTableStructure, *UserTable = &UserTableStructure; + UINT32 CtrlCheck = ALL_STAT; + BLD_TABLES_TASK BldTask = {0, 0}; + + for (i = 0; i < NumCases; i++) + { + printf ("AtInitializeTablesErrTest: i = %d\n", i); + + Status = AtSubsystemInit(AAPITS_INITIALIZE_SS, 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + memset(&UserTableStructure, 0, sizeof (ACPI_TABLE_HEADER)); + + BldTask.ErrScale = ErrFlags[i]; + AtBuildLocalTables(UserTable, BldTask); + + Status = AtInitializeTables(FALSE); + if (Status != ErrBenchmarks[i]) + { + AapiErrors++; + printf ("API Error: AcpiInitializeTables() returned %s," + " expected %s\n", + AcpiFormatException(Status), + AcpiFormatException(ErrBenchmarks[i])); + return (AE_ERROR); + } + + Status = AtTerminateCtrlCheck(AE_OK, CtrlCheck); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0025: + */ +ACPI_STATUS +AtTableTest0025(void) +{ + UINT32 ErrFlags[] = { + BAD_LENGTH_HDR_RSDT}; + ACPI_STATUS ErrBenchmarks[] = { + AE_INVALID_TABLE_LENGTH}; + + return (AtInitializeTablesErrTest(ErrFlags, + (sizeof (ErrFlags) / sizeof (UINT32)), + ErrBenchmarks)); +} + +/* + * ASSERTION 0026: + */ +ACPI_STATUS +AtTableTest0026(void) +{ + UINT32 ErrFlags[] = { + NOT_PRESENT_FADT, +// BAD_SIGNATURE_FADT, /* the same affect as NOT_PRESENT_FADT */ + NULL_ADDRESS_FACS, + NULL_ADDRESS_DSDT}; + ACPI_STATUS ErrBenchmarks[] = { + AE_NO_ACPI_TABLES, +// AE_NO_ACPI_TABLES, + AE_NO_ACPI_TABLES, + AE_NO_ACPI_TABLES}; + + return (AtInitializeTablesErrTest(ErrFlags, + (sizeof (ErrFlags) / sizeof (UINT32)), + ErrBenchmarks)); +} + +/* + * AcpiLoadTables errors common test + */ +ACPI_STATUS +AtLoadTablesErrTest(UINT32 *ErrFlags, int NumCases, ACPI_STATUS *ErrBenchmarks) +{ + ACPI_STATUS Status; + int i; + ACPI_TABLE_HEADER UserTableStructure, *UserTable = &UserTableStructure; + UINT32 CtrlCheck = ALL_STAT; + BLD_TABLES_TASK BldTask = {0, 0}; + + if (AT_SKIP_MALLOC_CHECK) + { + CtrlCheck &= ~MALLOC_STAT; + } + + for (i = 0; i < NumCases; i++) + { + printf ("AtLoadTablesErrTest: i = %d\n", i); + + Status = AtSubsystemInit(AAPITS_INITIALIZE_SS, 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + memset(&UserTableStructure, 0, sizeof (ACPI_TABLE_HEADER)); + + BldTask.ErrScale = ErrFlags[i]; + AtBuildLocalTables(UserTable, BldTask); + + Status = AtInitializeTables(FALSE); + if (ErrFlags[i] == BAD_CHECKSUM_RSDT || + ErrFlags[i] == BAD_CHECKSUM_FADT) + { + if (Status != ErrBenchmarks[i]) + { + AapiErrors++; + printf ("API Error: AcpiInitializeTables() returned %s," + " expected %s\n", + AcpiFormatException(Status), + AcpiFormatException(ErrBenchmarks[i])); + return (AE_ERROR); + } + } + else + { + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiInitializeTables() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiLoadTables(); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiLoadTables() returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiEnableSubsystem(AAPITS_EN_FLAGS); + if (Status != ErrBenchmarks[i]) + { + AapiErrors++; + printf ("API Error: AcpiEnableSubsystem() returned %s," + " expected %s\n", + AcpiFormatException(Status), + AcpiFormatException(ErrBenchmarks[i])); + return (AE_ERROR); + } + } + + Status = AtTerminateCtrlCheck(AE_OK, CtrlCheck); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0027: + */ +ACPI_STATUS +AtTableTest0027(void) +{ + UINT32 ErrFlags[] = { + /* BAD_CHECKSUM_RSDP,: is not cheked */ + BAD_CHECKSUM_RSDT, + BAD_CHECKSUM_FADT, + BAD_CHECKSUM_DSDT}; + ACPI_STATUS ErrBenchmarks[] = { + /* AE_BAD_CHECKSUM, */ +#if (ACPI_CHECKSUM_ABORT) + AE_BAD_CHECKSUM, + AE_BAD_CHECKSUM, + AE_NO_ACPI_TABLES +#else + AE_OK, + AE_OK, + AE_OK +#endif + }; + + return (AtLoadTablesErrTest(ErrFlags, + (sizeof (ErrFlags) / sizeof (UINT32)), + ErrBenchmarks)); +} + +/* + * ASSERTION 0028: + */ +ACPI_STATUS +AtTableTest0028(void) +{ + UINT32 ErrFlags[] = { + BAD_SIGNATURE_RSDT, + BAD_SIGNATURE_FADT, /* the same affect as NOT_PRESENT_FADT */ + BAD_SIGNATURE_FACS, + BAD_SIGNATURE_DSDT}; + ACPI_STATUS ErrBenchmarks[] = { + AE_OK, + AE_OK, + AE_BAD_SIGNATURE, + AE_BAD_SIGNATURE}; + + return (AtInitializeTablesErrTest(ErrFlags, + (sizeof (ErrFlags) / sizeof (UINT32)), + ErrBenchmarks)); +} + +/* + * ASSERTION 0029: + */ +ACPI_STATUS +AtTableTest0029(void) +{ + UINT32 ErrFlags[] = { + BAD_LENGTH_HDR_FADT, + BAD_LENGTH_HDR_FACS, + BAD_LENGTH_HDR_DSDT}; + ACPI_STATUS ErrBenchmarks[] = { + AE_BAD_HEADER, + AE_BAD_HEADER, + AE_BAD_HEADER}; + + if (AT_SKIP_FADT_BAD_HEADER_CHECK) + { + ErrBenchmarks[0] = AE_NO_ACPI_TABLES; + } + return (AtLoadTablesErrTest(ErrFlags, + (sizeof (ErrFlags) / sizeof (UINT32)), + ErrBenchmarks)); +} + +/* + * ASSERTION 0030: + */ +ACPI_STATUS +AtTableTest0030(void) +{ + UINT32 ErrFlags[] = { + BAD_SIGNATURE_FACS, + BAD_LENGTH_DSC_FADT, + BAD_LENGTH_DSC_FACS}; + ACPI_STATUS ErrBenchmarks[] = { + AE_NOT_FOUND, + AE_INVALID_TABLE_LENGTH, + AE_INVALID_TABLE_LENGTH}; + + return (AtLoadTablesErrTest(ErrFlags, + (sizeof (ErrFlags) / sizeof (UINT32)), + ErrBenchmarks)); +} + +/* + * Common test + */ +ACPI_STATUS +AtGetTableByIndexTest( + UINT32 StagesScale, + UINT32 FirstInd, + UINT32 NumTables, + ACPI_STATUS Benchmark) +{ + ACPI_STATUS Status; + UINT32 i = 0; + ACPI_TABLE_HEADER *TablePointer; + ACPI_TABLE_HEADER UserTableStructure, *UserTable = &UserTableStructure; + + memset(&UserTableStructure, 0, sizeof (ACPI_TABLE_HEADER)); + + AtBuildLocalTables(UserTable, NullBldTask); + + if (StagesScale) + { + Status = AtSubsystemInit(StagesScale, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + } + + for (i = FirstInd; i < (FirstInd + NumTables); i++) + { + Status = AcpiGetTableByIndex(i, &TablePointer); + if (Status != Benchmark) + { + AapiErrors++; + printf ("API Error: AcpiGetTableByIndex(%d) returned %s,\n" + " expected to return %s\n", + i, + AcpiFormatException(Status), AcpiFormatException(Benchmark)); + return (AE_ERROR); + } + } + + if (StagesScale & AAPITS_INITIALIZE_SS) + { + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); + } + + return (AE_OK); +} + +/* + * ASSERTION 0031: + */ +ACPI_STATUS +AtTableTest0031(void) +{ + return (AtGetTableByIndexTest( + AAPITS_INITABLES, + 0, 8, + AE_OK)); +} + +/* + * ASSERTION 0032: + */ +ACPI_STATUS +AtTableTest0032(void) +{ + return (AtGetTableByIndexTest( + AAPITS_INI_PRELOAD, + 0, 10, + AE_OK)); +} + +/* + * ASSERTION 0033: + */ +ACPI_STATUS +AtTableTest0033(void) +{ + return (AtGetTableByIndexTest( + AAPITS_INI_PRELOAD, + 10, 3, + AE_BAD_PARAMETER)); +} + +/* + * ASSERTION 0034: + */ +ACPI_STATUS +AtTableTest0034(void) +{ + ACPI_STATUS Status; + UINT32 i; + + Status = AtSubsystemInit( + AAPITS_INI_PRELOAD, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 0; i < 8; i++) + { + Status = AcpiGetTableByIndex(i, NULL); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("API Error: AcpiGetTableByIndex(%d, NULL) returned %s," + " expected AE_BAD_PARAMETER\n", + i, AcpiFormatException(Status)); + return (AE_ERROR); + } + } + + return (AE_OK); +} + +ACPI_STATUS +AtTableTest0035(void) +{ + ACPI_STATUS Status; + ACPI_TABLE_HEADER *OutTable; + UINT32 i; + UINT32 OutInd = 0; + UINT32 SanityLimitInd = 1000; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("tblm0047.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiEvaluateObject (NULL, "\\INIT", + NULL, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error : AcpiEvaluateObject(INIT) returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + /* + * Find the first index out of the registered Tables range + */ + while (1) + { + Status = AcpiGetTableByIndex(OutInd, &OutTable); + if (ACPI_FAILURE(Status)) + { + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("API Error: AcpiGetTableByIndex(%d) returned %s," + " expected AE_BAD_PARAMETER\n", + OutInd, AcpiFormatException(Status)); + return (AE_ERROR); + } + break; + } + if (++OutInd > SanityLimitInd) + { + AapiErrors++; + printf ("API Error: Success of AcpiGetTableByIndex(%d)" + " out of the registered Tables range\n", + SanityLimitInd); + return (AE_ERROR); + } + } + + for (i = 0; i < 17; i++) + { + Status = AcpiEvaluateObject (NULL, "\\_PR_.CPU0._PPC", + NULL, NULL); + if (Status != AE_NOT_FOUND) + { + AapiErrors++; + printf ("API Error %d: AcpiEvaluateObject(_PR_.CPU0._PPC)" + " returned %s, expected AE_NOT_FOUND\n", + i, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiEvaluateObject (NULL, "\\LD__", + NULL, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error %d: AcpiEvaluateObject(LD) returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiEvaluateObject (NULL, "\\_PR_.CPU0._PPC", + NULL, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error %d: AcpiEvaluateObject(_PR_.CPU0._PPC) returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetTableByIndex(OutInd, &OutTable); + if (Status != AE_OK) + { + AapiErrors++; + printf ("API Error %d: AcpiGetTableByIndex(%d) returned %s\n", + i, OutInd, AcpiFormatException(Status)); + return (AE_ERROR); + } + + Status = AcpiEvaluateObject (NULL, "\\UNLD", + NULL, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error %d: AcpiEvaluateObject(UNLD) returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetTableByIndex(OutInd, &OutTable); + if (Status != AE_OK) + { + AapiErrors++; + printf ("API Error %d(UNLD): AcpiGetTableByIndex(%d) returned %s\n", + i, OutInd, AcpiFormatException(Status)); + return (AE_ERROR); + } + } + + Status = AcpiGetTableByIndex(OutInd + 1, &OutTable); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("API Error: AcpiGetTableByIndex(%d) returned %s," + " expected AE_BAD_PARAMETER\n", + OutInd + 1, AcpiFormatException(Status)); + return (AE_ERROR); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0036: + */ +ACPI_STATUS +AtTableTest0036(void) +{ + ACPI_STATUS Status; + ACPI_TABLE_HEADER *OutTable; + UINT32 i; + UINT32 OutInd = 10; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("tblm0047.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF & ~AAPITS_REALLOCROOTTABLE, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiEvaluateObject (NULL, "\\INIT", + NULL, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error : AcpiEvaluateObject(INIT) returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetTableByIndex(OutInd, &OutTable); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("API Error: AcpiGetTableByIndex(%d) returned %s," + " expected AE_BAD_PARAMETER\n", + OutInd, AcpiFormatException(Status)); + return (AE_ERROR); + } + + for (i = 0; i < 7; i++) + { + Status = AcpiEvaluateObject (NULL, "\\_PR_.CPU0._PPC", + NULL, NULL); + if (Status != AE_NOT_FOUND) + { + AapiErrors++; + printf ("API Error %d: AcpiEvaluateObject(_PR_.CPU0._PPC)" + " returned %s, expected AE_NOT_FOUND\n", + i, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiEvaluateObject (NULL, "\\LD__", + NULL, NULL); + if (Status != AE_SUPPORT) + { + AapiErrors++; + printf ("API Error %d: AcpiEvaluateObject(LD) returned %s," + " expected AE_SUPPORT\n", + i, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetTableByIndex(OutInd, &OutTable); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("API Error %d: AcpiGetTableByIndex(%d) returned %s," + " expected AE_BAD_PARAMETER\n", + i, OutInd, AcpiFormatException(Status)); + return (AE_ERROR); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0037: + */ +ACPI_STATUS +AtTableTest0037(void) +{ + ACPI_STATUS Status; + UINT32 i; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("tblm0037.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiEvaluateObject (NULL, "\\INIT", + NULL, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error : AcpiEvaluateObject(INIT) returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + for (i = 0; i < 99; i++) + { + Status = AcpiEvaluateObject (NULL, "\\LD__", + NULL, NULL); + if (Status != AE_OK) + { + AapiErrors++; + printf ("API Error %d: AcpiEvaluateObject(LD) returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0038: + */ +ACPI_STATUS +AtTableTest0038(void) +{ + ACPI_STATUS Status; + UINT32 i; + ACPI_TABLE_HEADER UserTableStructure, *UserTable = &UserTableStructure; + + memset(&UserTableStructure, 0, sizeof (ACPI_TABLE_HEADER)); + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("tblm0037.aml"))) + { + return (Status); + } + + Status = AtReadTableFromFile (AtAMLcodeFileName, &UserTable); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: AtReadTableFromFile(DSDT) failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + + AtBuildLocalTables(UserTable, NullBldTask); + + Status = AtInitCommonTest(AAPITS_INITIALIZE_SS, 0, 0, 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiInitializeTables(NULL, 10, FALSE); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiInitializeTables(NULL) returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF & ~(AAPITS_INITIALIZE_SS | + AAPITS_INITABLES | AAPITS_REALLOCROOTTABLE), + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + + Status = AcpiEvaluateObject (NULL, "\\INIT", + NULL, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error : AcpiEvaluateObject(INIT) returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + for (i = 0; i < 99; i++) + { + Status = AcpiEvaluateObject (NULL, "\\LD__", + NULL, NULL); + if (Status != AE_OK) + { + AapiErrors++; + printf ("API Error %d: AcpiEvaluateObject(LD) returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +ACPI_STATUS +AtCheckGetTableHeader(void) +{ + ACPI_STATUS Status; + UINT32 i; + UINT32 Instance = 1; + ACPI_TABLE_HEADER *TablePointer; + ACPI_TABLE_HEADER OutTableHeader; + BLD_TABLES_TASK BldTask = {BLD_NO_TABLES, 0}; + + for (i = 1; i < ACPI_NUM_TABLE_TYPES; i++) + { + /* Caller should unmap the header with AcpiOsUnmapMemory */ + Status = AcpiGetTableHeader(TableSignSet[i], Instance, &OutTableHeader); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiGetTableHeader(%d, %d) returned %s\n", + i, Instance, AcpiFormatException(Status)); + return (Status); + } + + Status = AtGetTableHeader(TableSignSet[i], 1, &TablePointer, BldTask); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test Error: AtGetTableHeader(%d) failed (%s)\n", + i, AcpiFormatException(Status)); + return (Status); + } + + if (ACPI_COMPARE_NAME(TableSignSet[i], ACPI_SIG_FADT) && + TablePointer->Revision < 3) + { + /* Check Length field */ + if (OutTableHeader.Length != ACPI_FADT_OFFSET (ResetRegister)) + { + AapiErrors++; + printf ("API Error: Length field of FADT header %d," + " expected %d\n", + (int)OutTableHeader.Length, (int)ACPI_FADT_OFFSET (ResetRegister)); + return (AE_ERROR); + } + OutTableHeader.Length = TablePointer->Length; + } + if (ACPI_FAILURE(Status = AtCheckBytes("CheckGetHeader", + (UINT8 *)&OutTableHeader, (UINT8 *)TablePointer, + sizeof (ACPI_TABLE_HEADER)))) + { + printf ("API Error: AcpiGetTableHeader(%d, %d) table\n", + i, Instance); + return (Status); + } +// AcpiOsUnmapMemory(OutTableHeader, (ACPI_SIZE) sizeof (ACPI_TABLE_HEADER)); + } + + return (AE_OK); +} + +/* + * ASSERTION 0039: + */ +ACPI_STATUS +AtTableTest0039(void) +{ + ACPI_STATUS Status; + ACPI_TABLE_HEADER UserTableStructure, *UserTable = &UserTableStructure; + + memset(&UserTableStructure, 0, sizeof (ACPI_TABLE_HEADER)); + + AtBuildLocalTables(UserTable, NullBldTask); + + Status = AtInitializeTables(FALSE); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiInitializeTables() returned %s\n", + AcpiFormatException(Status)); + return (AE_ERROR); + } + + return (AtCheckGetTableHeader()); +} + +/* + * ASSERTION 0040: + */ +ACPI_STATUS +AtTableTest0040(void) +{ + ACPI_STATUS Status; + + Status = AtSubsystemInit( + AAPITS_INI_PRELOAD, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AtCheckGetTableHeader()); +} + +ACPI_STATUS +AtCheckGetTableHeaderInstance(void) +{ + ACPI_STATUS Status; + ACPI_TABLE_HEADER *TablePointer; + ACPI_TABLE_HEADER OutTableHeader; + BLD_TABLES_TASK BldTask = {BLD_NO_TABLES, 0}; + + Status = AtGetTableHeader(ACPI_SIG_SSDT, 1, &TablePointer, BldTask); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test Error: AtGetTableHeader(SSDT1) failed (%s)\n", + AcpiFormatException(Status)); + return (Status); + } + + /* Caller should unmap the header with AcpiOsUnmapMemory */ + Status = AcpiGetTableHeader(ACPI_SIG_SSDT, 1, + &OutTableHeader); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiGetTableHeader(SSDT, %d) returned %s\n", + 1, AcpiFormatException(Status)); + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckBytes("SSDT1", + (UINT8 *)&OutTableHeader, (UINT8 *)TablePointer, + sizeof (ACPI_TABLE_HEADER)))) + { + return (Status); + } +// AcpiOsUnmapMemory(OutTableHeader, (ACPI_SIZE) sizeof (ACPI_TABLE_HEADER)); + + Status = AtGetTableHeader(ACPI_SIG_SSDT, 2, &TablePointer, BldTask); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test Error: AtGetTableHeader(SSDT2) failed (%s)\n", + AcpiFormatException(Status)); + return (Status); + } + + /* Caller should unmap the header with AcpiOsUnmapMemory */ + Status = AcpiGetTableHeader(ACPI_SIG_SSDT, 2, + &OutTableHeader); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiGetTableHeader(SSDT, %d) returned %s\n", + 2, AcpiFormatException(Status)); + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckBytes("SSDT2", + (UINT8 *)&OutTableHeader, (UINT8 *)TablePointer, + sizeof (ACPI_TABLE_HEADER)))) + { + return (Status); + } +// AcpiOsUnmapMemory(OutTableHeader, (ACPI_SIZE) sizeof (ACPI_TABLE_HEADER)); + + return (AE_OK); +} + +/* + * ASSERTION 0041: + */ +ACPI_STATUS +AtTableTest0041(void) +{ + ACPI_STATUS Status; + ACPI_TABLE_HEADER UserTableStructure, *UserTable = &UserTableStructure; + + memset(&UserTableStructure, 0, sizeof (ACPI_TABLE_HEADER)); + + AtBuildLocalTables(UserTable, NullBldTask); + + Status = AtInitializeTables(FALSE); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiInitializeTables() returned %s\n", + AcpiFormatException(Status)); + return (AE_ERROR); + } + + return (AtCheckGetTableHeaderInstance()); +} + +/* + * ASSERTION 0042: + */ +ACPI_STATUS +AtTableTest0042(void) +{ + ACPI_STATUS Status; + + Status = AtSubsystemInit( + AAPITS_INI_PRELOAD, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtCheckGetTableHeader(); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AtCheckGetTableHeaderInstance()); +} + +/* + * ASSERTION 0043: + */ +ACPI_STATUS +AtTableTest0043(void) +{ + ACPI_STATUS Status; + ACPI_TABLE_HEADER OutTableHeader; + UINT32 i; + + Status = AtSubsystemInit( + AAPITS_INI_PRELOAD, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = ACPI_NUM_TABLE_TYPES; i < ACPI_NUM_TABLE_TYPES + 4; i++) + { + Status = AcpiGetTableHeader(TableSignSet[i], 1, &OutTableHeader); + if (Status != AE_NOT_FOUND) + { + AapiErrors++; + printf ("API Error: AcpiGetTableHeader('%s', %d) returned %s," + " expected AE_NOT_FOUND\n", + TableSignSet[i], 1, AcpiFormatException(Status)); + return (AE_ERROR); + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0044: + */ +ACPI_STATUS +AtTableTest0044(void) +{ + ACPI_STATUS Status; + UINT32 i; + + Status = AtSubsystemInit( + AAPITS_INI_PRELOAD, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 0; i < ACPI_NUM_TABLE_TYPES + 4; i++) + { + Status = AcpiGetTableHeader(TableSignSet[i], 1, NULL); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("API Error: AcpiGetTableHeader('%s', 1, NULL) returned %s," + " expected AE_BAD_PARAMETER\n", + TableSignSet[i], AcpiFormatException(Status)); + return (AE_ERROR); + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0045: + */ +ACPI_STATUS +AtTableTest0045(void) +{ + ACPI_STATUS Status; + ACPI_TABLE_HEADER OutTableHeader; + UINT32 i, j; + + Status = AtSubsystemInit( + AAPITS_INI_PRELOAD, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 0; i < ACPI_NUM_TABLE_TYPES; i++) + { + if (ACPI_COMPARE_NAME(TableSignSet[i], ACPI_SIG_PSDT) || + ACPI_COMPARE_NAME(TableSignSet[i], ACPI_SIG_SSDT)) + { + continue; + } + for (j = 2; j < 5; j++) + { + Status = AcpiGetTableHeader(TableSignSet[i], j, &OutTableHeader); + if (Status != AE_NOT_FOUND) + { + AapiErrors++; + printf ("API Error: AcpiGetTableHeader('%s', %d) returned %s," + " expected AE_NOT_FOUND\n", + TableSignSet[i], j, AcpiFormatException(Status)); + return (AE_ERROR); + } + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0046: + */ +ACPI_STATUS +AtTableTest0046(void) +{ + ACPI_STATUS Status; + ACPI_TABLE_HEADER OutTableHeader; + UINT32 i; + + Status = AtSubsystemInit(AAPITS_INITIALIZE_SS, 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 1; i < ACPI_NUM_TABLE_TYPES; i++) + { + Status = AcpiGetTableHeader(TableSignSet[i], 1, &OutTableHeader); + if (Status != AE_NOT_FOUND) + { + AapiErrors++; + printf ("API Error: AcpiGetTableHeader(%d, 1) returned %s," + " expected AE_NOT_EXIST\n", + i, AcpiFormatException(Status)); + return (AE_ERROR); + } + } + + for (i = 2; i < 10; i += 3) + { + Status = AcpiGetTableHeader(ACPI_SIG_SSDT, i, + &OutTableHeader); + if (Status != AE_NOT_FOUND) + { + AapiErrors++; + printf ("API Error: AcpiGetTableHeader(SSDT, %d) returned %s," + " expected AE_NOT_EXIST\n", + i, AcpiFormatException(Status)); + return (AE_ERROR); + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0047: + */ +ACPI_STATUS +AtTableTest0047(void) +{ + ACPI_STATUS Status; + ACPI_TABLE_HEADER OutTableHeader; + UINT32 i; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("tblm0047.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiEvaluateObject (NULL, "\\INIT", + NULL, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error : AcpiEvaluateObject(INIT) returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetTableHeader(ACPI_SIG_SSDT, 4, + &OutTableHeader); + if (Status != AE_NOT_FOUND) + { + AapiErrors++; + printf ("API Error: AcpiGetTableHeader(SSDT, 4) returned %s," + " expected AE_NOT_FOUND\n", + AcpiFormatException(Status)); + return (AE_ERROR); + } + + for (i = 0; i < 150; i++) + { + Status = AcpiEvaluateObject (NULL, "\\_PR_.CPU0._PPC", + NULL, NULL); + if (Status != AE_NOT_FOUND) + { + AapiErrors++; + printf ("API Error %d: AcpiEvaluateObject(_PR_.CPU0._PPC)" + " returned %s, expected AE_NOT_FOUND\n", + i, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiEvaluateObject (NULL, "\\LD__", + NULL, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error %d: AcpiEvaluateObject(LD) returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiEvaluateObject (NULL, "\\_PR_.CPU0._PPC", + NULL, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error %d: AcpiEvaluateObject(_PR_.CPU0._PPC) returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + + /* Caller should unmap the header with AcpiOsUnmapMemory */ + Status = AcpiGetTableHeader(ACPI_SIG_SSDT, 4, + &OutTableHeader); + if (Status != AE_OK) + { + AapiErrors++; + printf ("API Error %d: AcpiGetTableHeader(SSDT, 4) returned %s," + " expected AE_OK\n", + i, AcpiFormatException(Status)); + return (AE_ERROR); + } +// AcpiOsUnmapMemory(OutTableHeader, (ACPI_SIZE) sizeof (ACPI_TABLE_HEADER)); + + Status = AcpiEvaluateObject (NULL, "\\UNLD", + NULL, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error %d: AcpiEvaluateObject(UNLD) returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + + /* Caller should unmap the header with AcpiOsUnmapMemory */ + Status = AcpiGetTableHeader(ACPI_SIG_SSDT, 4, + &OutTableHeader); + if (Status != AE_OK) + { + AapiErrors++; + printf ("API Error %d(UNLD): AcpiGetTableHeader(SSDT, 4) returned %s," + " expected AE_OK\n", + i, AcpiFormatException(Status)); + return (AE_ERROR); + } +// AcpiOsUnmapMemory(OutTableHeader, (ACPI_SIZE) sizeof (ACPI_TABLE_HEADER)); + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +ACPI_STATUS +AtCheckGetTable(void) +{ + ACPI_STATUS Status; + UINT32 i; + UINT32 Instance = 1; + ACPI_TABLE_HEADER *TablePointer; + ACPI_TABLE_HEADER *OutTableHeader; + BLD_TABLES_TASK BldTask = {BLD_NO_TABLES, 0}; + + for (i = 1; i < ACPI_NUM_TABLE_TYPES; i++) + { + Status = AcpiGetTable(TableSignSet[i], Instance, &OutTableHeader); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiGetTable(%d, %d) returned %s\n", + i, Instance, AcpiFormatException(Status)); + return (Status); + } + + Status = AtGetTableHeader(TableSignSet[i], 1, &TablePointer, BldTask); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test Error: AtGetTableHeader(%d) failed (%s)\n", + i, AcpiFormatException(Status)); + return (Status); + } + + if (ACPI_COMPARE_NAME(TableSignSet[i], ACPI_SIG_FADT) && + TablePointer->Revision < 3) + { + /* Check Length field */ + if (OutTableHeader->Length != ACPI_FADT_OFFSET (ResetRegister)) + { + AapiErrors++; + printf ("API Error: Length field of FADT header %d," + " expected %d\n", + (int)OutTableHeader->Length, (int)ACPI_FADT_OFFSET (ResetRegister)); + return (AE_ERROR); + } + OutTableHeader->Length = TablePointer->Length; + } + if (ACPI_FAILURE(Status = AtCheckBytes("CheckGetHeader", + (UINT8 *)OutTableHeader, (UINT8 *)TablePointer, + sizeof (ACPI_TABLE_HEADER)))) + { + printf ("API Error: AcpiGetTable(%d, %d) table\n", + i, Instance); + return (Status); + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0048: + */ +ACPI_STATUS +AtTableTest0048(void) +{ + ACPI_STATUS Status; + ACPI_TABLE_HEADER UserTableStructure, *UserTable = &UserTableStructure; + + memset(&UserTableStructure, 0, sizeof (ACPI_TABLE_HEADER)); + + AtBuildLocalTables(UserTable, NullBldTask); + + Status = AtInitializeTables(FALSE); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiInitializeTables() returned %s\n", + AcpiFormatException(Status)); + return (AE_ERROR); + } + + return (AtCheckGetTable()); +} + +/* + * ASSERTION 0049: + */ +ACPI_STATUS +AtTableTest0049(void) +{ + ACPI_STATUS Status; + + Status = AtSubsystemInit( + AAPITS_INI_PRELOAD, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AtCheckGetTable()); +} + +ACPI_STATUS +AtCheckGetTableInstance(void) +{ + ACPI_STATUS Status; + ACPI_TABLE_HEADER *TablePointer; + ACPI_TABLE_HEADER *OutTableHeader; + BLD_TABLES_TASK BldTask = {BLD_NO_TABLES, 0}; + + Status = AtGetTableHeader(ACPI_SIG_SSDT, 1, &TablePointer, BldTask); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test Error: AtGetTableHeader(SSDT1) failed (%s)\n", + AcpiFormatException(Status)); + return (Status); + } + Status = AcpiGetTable(ACPI_SIG_SSDT, 1, + &OutTableHeader); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiGetTable(SSDT, %d) returned %s\n", + 1, AcpiFormatException(Status)); + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckBytes("SSDT1", + (UINT8 *)OutTableHeader, (UINT8 *)TablePointer, + sizeof (ACPI_TABLE_HEADER)))) + { + return (Status); + } + + Status = AtGetTableHeader(ACPI_SIG_SSDT, 2, &TablePointer, BldTask); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test Error: AtGetTableHeader(SSDT2) failed (%s)\n", + AcpiFormatException(Status)); + return (Status); + } + Status = AcpiGetTable(ACPI_SIG_SSDT, 2, + &OutTableHeader); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiGetTable(SSDT, %d) returned %s\n", + 2, AcpiFormatException(Status)); + return (Status); + } + if (ACPI_FAILURE(Status = AtCheckBytes("SSDT2", + (UINT8 *)OutTableHeader, (UINT8 *)TablePointer, + sizeof (ACPI_TABLE_HEADER)))) + { + return (Status); + } + + return (AE_OK); +} + +/* + * ASSERTION 0050: + */ +ACPI_STATUS +AtTableTest0050(void) +{ + ACPI_STATUS Status; + ACPI_TABLE_HEADER UserTableStructure, *UserTable = &UserTableStructure; + + memset(&UserTableStructure, 0, sizeof (ACPI_TABLE_HEADER)); + + AtBuildLocalTables(UserTable, NullBldTask); + + Status = AtInitializeTables(FALSE); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiInitializeTables() returned %s\n", + AcpiFormatException(Status)); + return (AE_ERROR); + } + + return (AtCheckGetTableInstance()); +} + +/* + * ASSERTION 0051: + */ +ACPI_STATUS +AtTableTest0051(void) +{ + ACPI_STATUS Status; + + Status = AtSubsystemInit( + AAPITS_INI_PRELOAD, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AtCheckGetTable(); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AtCheckGetTableInstance()); +} + +/* + * ASSERTION 0052: + */ +ACPI_STATUS +AtTableTest0052(void) +{ + ACPI_STATUS Status; + ACPI_TABLE_HEADER *OutTableHeader; + UINT32 i; + + Status = AtSubsystemInit( + AAPITS_INI_PRELOAD, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = ACPI_NUM_TABLE_TYPES; i < ACPI_NUM_TABLE_TYPES + 4; i++) + { + Status = AcpiGetTable(TableSignSet[i], 1, &OutTableHeader); + if (Status != AE_NOT_FOUND) + { + AapiErrors++; + printf ("API Error: AcpiGetTable('%s', %d) returned %s," + " expected AE_NOT_FOUND\n", + TableSignSet[i], 1, AcpiFormatException(Status)); + return (AE_ERROR); + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0053: + */ +ACPI_STATUS +AtTableTest0053(void) +{ + ACPI_STATUS Status; + UINT32 i; + + Status = AtSubsystemInit( + AAPITS_INI_PRELOAD, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 0; i < ACPI_NUM_TABLE_TYPES + 4; i++) + { + Status = AcpiGetTable(TableSignSet[i], 1, NULL); + if (Status != AE_BAD_PARAMETER) + { + AapiErrors++; + printf ("API Error: AcpiGetTable('%s', 1, NULL) returned %s," + " expected AE_BAD_PARAMETER\n", + TableSignSet[i], AcpiFormatException(Status)); + return (AE_ERROR); + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0054: + */ +ACPI_STATUS +AtTableTest0054(void) +{ + ACPI_STATUS Status; + ACPI_TABLE_HEADER *OutTableHeader; + UINT32 i, j; + + Status = AtSubsystemInit( + AAPITS_INI_PRELOAD, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 0; i < ACPI_NUM_TABLE_TYPES; i++) + { + if (ACPI_COMPARE_NAME(TableSignSet[i], ACPI_SIG_PSDT) || + ACPI_COMPARE_NAME(TableSignSet[i], ACPI_SIG_SSDT)) + { + continue; + } + for (j = 2; j < 5; j++) + { + Status = AcpiGetTable(TableSignSet[i], j, &OutTableHeader); + if (Status != AE_NOT_FOUND) + { + AapiErrors++; + printf ("API Error: AcpiGetTable('%s', %d) returned %s," + " expected AE_NOT_FOUND\n", + TableSignSet[i], j, AcpiFormatException(Status)); + return (AE_ERROR); + } + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0055: + */ +ACPI_STATUS +AtTableTest0055(void) +{ + ACPI_STATUS Status; + ACPI_TABLE_HEADER *OutTableHeader; + UINT32 i; + + Status = AtSubsystemInit(AAPITS_INITIALIZE_SS, 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 1; i < ACPI_NUM_TABLE_TYPES; i++) + { + Status = AcpiGetTable(TableSignSet[i], 1, &OutTableHeader); + if (Status != AE_NOT_FOUND) + { + AapiErrors++; + printf ("API Error: AcpiGetTable(%d, 1) returned %s," + " expected AE_NOT_EXIST\n", + i, AcpiFormatException(Status)); + return (AE_ERROR); + } + } + + for (i = 2; i < 10; i += 3) + { + Status = AcpiGetTable(ACPI_SIG_SSDT, i, + &OutTableHeader); + if (Status != AE_NOT_FOUND) + { + AapiErrors++; + printf ("API Error: AcpiGetTable(SSDT, %d) returned %s," + " expected AE_NOT_EXIST\n", + i, AcpiFormatException(Status)); + return (AE_ERROR); + } + } + + return (AE_OK); +} + +/* + * ASSERTION 0056: + */ +ACPI_STATUS +AtTableTest0056(void) +{ + ACPI_STATUS Status; + ACPI_TABLE_HEADER *OutTableHeader; + UINT32 i; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("tblm0047.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiEvaluateObject (NULL, "\\INIT", + NULL, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error : AcpiEvaluateObject(INIT) returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetTable(ACPI_SIG_SSDT, 4, + &OutTableHeader); + if (Status != AE_NOT_FOUND) + { + AapiErrors++; + printf ("API Error: AcpiGetTable(SSDT, 4) returned %s," + " expected AE_NOT_FOUND\n", + AcpiFormatException(Status)); + return (AE_ERROR); + } + + for (i = 0; i < 150; i++) + { + Status = AcpiEvaluateObject (NULL, "\\_PR_.CPU0._PPC", + NULL, NULL); + if (Status != AE_NOT_FOUND) + { + AapiErrors++; + printf ("API Error %d: AcpiEvaluateObject(_PR_.CPU0._PPC)" + " returned %s, expected AE_NOT_FOUND\n", + i, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiEvaluateObject (NULL, "\\LD__", + NULL, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error %d: AcpiEvaluateObject(LD) returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiEvaluateObject (NULL, "\\_PR_.CPU0._PPC", + NULL, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error %d: AcpiEvaluateObject(_PR_.CPU0._PPC) returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetTable(ACPI_SIG_SSDT, 4, + &OutTableHeader); + if (Status != AE_OK) + { + AapiErrors++; + printf ("API Error %d: AcpiGetTable(SSDT, 4) returned %s," + " expected AE_OK\n", + i, AcpiFormatException(Status)); + return (AE_ERROR); + } + + Status = AcpiEvaluateObject (NULL, "\\UNLD", + NULL, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error %d: AcpiEvaluateObject(UNLD) returned %s\n", + i, AcpiFormatException(Status)); + return (Status); + } + + Status = AcpiGetTable(ACPI_SIG_SSDT, 4, + &OutTableHeader); + if (Status != AE_OK) + { + AapiErrors++; + printf ("API Error %d(UNLD): AcpiGetTable(SSDT, 4) returned %s," + " expected AE_OK\n", + i, AcpiFormatException(Status)); + return (AE_ERROR); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +} + +/* + * ASSERTION 0057: + */ +ACPI_STATUS +AtTableTest0057(void) +{ + ACPI_STATUS Status; + ACPI_TABLE_HEADER *OutTableHeader0; + ACPI_TABLE_HEADER OutTableHeader1; + UINT32 i; + + Status = AtSubsystemInit( + AAPITS_INI_PRELOAD, + 0, 0, NULL); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + for (i = 1; i < ACPI_NUM_TABLE_TYPES; i++) + { + Status = AcpiGetTable(TableSignSet[i], 1, &OutTableHeader0); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiGetTable('%s', 1) returned %s\n", + TableSignSet[i], AcpiFormatException(Status)); + return (Status); + } + + /* Caller should unmap the header with AcpiOsUnmapMemory */ + Status = AcpiGetTableHeader(TableSignSet[i], 1, &OutTableHeader1); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiGetTableHeader('%s', 1) returned %s\n", + TableSignSet[i], AcpiFormatException(Status)); + return (Status); + } +// if (!(OutTableHeader0 == OutTableHeader1)) + Status = AtCheckBytes("Headers", (UINT8 *)OutTableHeader0, + (UINT8 *)&OutTableHeader1, sizeof (ACPI_TABLE_HEADER)); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; +/* + printf ("API Error: AcpiGetTable and AcpiGetTableHeader returned" + " different pointers %p != %p", + OutTableHeader0, OutTableHeader1); + return (AE_ERROR); +*/ + printf ("API Error: AcpiGetTable and AcpiGetTableHeader returned" + " different contents"); + return (Status); + } +// AcpiOsUnmapMemory(OutTableHeader1, (ACPI_SIZE) sizeof (ACPI_TABLE_HEADER)); + } + + return (AE_OK); +} + +/* + * ASSERTION 0058: + * Bug 34 reproducing + */ +ACPI_STATUS +AtTableTest0058(void) +{ + +#if (!ACPI_CHECKSUM_ABORT) + TestSkipped++; + printf ("Test note: ACPI_CHECKSUM_ABORT macros is not TRUE\n"); + return (AE_ERROR); +#else + ACPI_STATUS Status; + UINT32 i; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("tblm0058.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Status = AcpiEvaluateObject (NULL, "\\INIT", + NULL, NULL); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error : AcpiEvaluateObject(INIT) returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + for (i = 0; i < 3; i++) + { + Status = AcpiEvaluateObject (NULL, "\\LD__", + NULL, NULL); + if (Status != AE_ALREADY_EXISTS) + { + AapiErrors++; + printf ("API Error %d: AcpiEvaluateObject(LD) returned %s," + " expected AE_ALREADY_EXISTS\n", + i, AcpiFormatException(Status)); + return (Status); + } + } + + return (AtTerminateCtrlCheck(AE_OK, ALL_STAT)); +#endif +} + +/* + * ASSERTION 0059: + */ +ACPI_STATUS +AtTableTest0059(void) +{ + UINT32 ErrFlags[] = { + NOT_PRESENT_FADT, + BAD_SIGNATURE_FADT, /* the same affect as NOT_PRESENT_FADT */ +// NULL_ADDRESS_FACS, + NULL_ADDRESS_DSDT}; + ACPI_STATUS ErrBenchmarks[] = { + AE_NO_ACPI_TABLES, + AE_NO_ACPI_TABLES, +// AE_NO_ACPI_TABLES, + AE_NO_ACPI_TABLES}; + + return (AtLoadTablesErrTest(ErrFlags, + sizeof (ErrFlags) / sizeof (UINT32), + ErrBenchmarks)); +} + +/* + * ASSERTION 0060: + */ +ACPI_STATUS +AtTableTest0060(void) +{ + ACPI_STATUS Status; + ACPI_TABLE_HEADER OutTableHeader; + ACPI_TABLE_HEADER OutTableHeader2; + ACPI_TABLE_HEADER *UserTable; + UINT32 i; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("dsdt1.aml"))) + { + return (Status); + } + + Status = AtSubsystemInit( + AAPITS_INI_DEF, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* Caller should unmap the header with AcpiOsUnmapMemory */ + Status = AcpiGetTableHeader(ACPI_SIG_DSDT, 1, + &OutTableHeader); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiGetTableHeader(DSDT, 1) returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + + AtAMLcodeFileName[strlen(AtAMLcodeFileName) - 5] = '2'; + + Status = AtReadTableFromFile (AtAMLcodeFileName, &UserTable); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: AtReadTableFromFile(DSDT) failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + + free(UserTable); + + /* Caller should unmap the header with AcpiOsUnmapMemory */ + Status = AcpiGetTableHeader(ACPI_SIG_DSDT, 1, + &OutTableHeader2); + if (ACPI_FAILURE(Status)) + { + AapiErrors++; + printf ("API Error: AcpiGetTableHeader(DSDT, 1) returned %s\n", + AcpiFormatException(Status)); + return (Status); + } + Status = AtReadTableFromFile (AtAMLcodeFileName, &UserTable); + if (ACPI_FAILURE(Status)) + { + TestErrors++; + printf ("Test error: AtReadTableFromFile(DSDT) failure, %s\n", + AcpiFormatException(Status)); + return (Status); + } + + if (ACPI_FAILURE(Status = AtCheckBytes("DSDT", + (UINT8 *)&OutTableHeader2, (UINT8 *)UserTable, + sizeof (ACPI_TABLE_HEADER)))) + { + return (Status); + } + + for (i = 0; i < sizeof (ACPI_TABLE_HEADER); i++) + { + if (((UINT8 *)&OutTableHeader)[i] != ((UINT8 *)&OutTableHeader2)[i]) + { + break; + } + } + if (i >= sizeof (ACPI_TABLE_HEADER)) + { + TestErrors++; + printf ("Test Error: both internal and %s DSDTs are the same\n", + AtAMLcodeFileName); + return (AE_ERROR); + } + +// AcpiOsUnmapMemory(OutTableHeader, (ACPI_SIZE) sizeof (ACPI_TABLE_HEADER)); +// AcpiOsUnmapMemory(OutTableHeader2, (ACPI_SIZE) sizeof (ACPI_TABLE_HEADER)); + + return (AE_OK); +} + +/* + * ASSERTION 0061: + */ +ACPI_STATUS +AtTableTest0061(void) +{ + ACPI_STATUS Status; + + if (ACPI_FAILURE(Status = AtAMLcodeFileNameSet("dsdt.aml"))) + { + return (Status); + } + + Status = AtInitCommonTest(AAPITS_INI_PRELOAD | AAPITS_LOADTABLES | + AAPITS_ENABLE_SS | AAPITS_INITIALIZE_OBJS | AAPITS_INSTALL_HS, + 0, 0, + AAPITS_EN_FLAGS, AAPITS_OI_FLAGS, AtAMLcodeFileName); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + return (AE_OK); +} diff --git a/tests/aapits/attable.h b/tests/aapits/attable.h new file mode 100644 index 0000000..47d86c1 --- /dev/null +++ b/tests/aapits/attable.h @@ -0,0 +1,75 @@ +/****************************************************************************** + * + * Module Name: attable - predefinitions of tests of the test case + * + *****************************************************************************/ + +#ifndef _ATTABLE +#define _ATTABLE + +AT_TEST AtTableTest0000; +AT_TEST AtTableTest0001; +AT_TEST AtTableTest0002; +AT_TEST AtTableTest0003; +AT_TEST AtTableTest0004; +AT_TEST AtTableTest0005; +AT_TEST AtTableTest0006; +AT_TEST AtTableTest0007; +AT_TEST AtTableTest0008; +AT_TEST AtTableTest0009; +AT_TEST AtTableTest0010; +AT_TEST AtTableTest0011; +AT_TEST AtTableTest0012; +AT_TEST AtTableTest0013; +AT_TEST AtTableTest0014; +AT_TEST AtTableTest0015; +AT_TEST AtTableTest0016; +AT_TEST AtTableTest0017; +AT_TEST AtTableTest0018; +AT_TEST AtTableTest0019; +AT_TEST AtTableTest0020; +AT_TEST AtTableTest0021; +AT_TEST AtTableTest0022; +AT_TEST AtTableTest0023; +AT_TEST AtTableTest0024; +AT_TEST AtTableTest0025; +AT_TEST AtTableTest0026; +AT_TEST AtTableTest0027; +AT_TEST AtTableTest0028; +AT_TEST AtTableTest0029; +AT_TEST AtTableTest0030; +AT_TEST AtTableTest0031; +AT_TEST AtTableTest0032; +AT_TEST AtTableTest0033; +AT_TEST AtTableTest0034; +AT_TEST AtTableTest0035; +AT_TEST AtTableTest0036; +AT_TEST AtTableTest0037; +AT_TEST AtTableTest0038; +AT_TEST AtTableTest0039; +AT_TEST AtTableTest0040; +AT_TEST AtTableTest0041; +AT_TEST AtTableTest0042; +AT_TEST AtTableTest0043; +AT_TEST AtTableTest0044; +AT_TEST AtTableTest0045; +AT_TEST AtTableTest0046; +AT_TEST AtTableTest0047; +AT_TEST AtTableTest0048; +AT_TEST AtTableTest0049; +AT_TEST AtTableTest0050; +AT_TEST AtTableTest0051; +AT_TEST AtTableTest0052; +AT_TEST AtTableTest0053; +AT_TEST AtTableTest0054; +AT_TEST AtTableTest0055; +AT_TEST AtTableTest0056; +AT_TEST AtTableTest0057; +AT_TEST AtTableTest0058; +AT_TEST AtTableTest0059; +AT_TEST AtTableTest0060; +AT_TEST AtTableTest0061; + +#define AT_TBLM_TEST_NUM 62 + +#endif /* _ATTABLE */ diff --git a/tests/aapits/bin/0_WARNING.HTM b/tests/aapits/bin/0_WARNING.HTM new file mode 100755 index 0000000..2a07d0b --- /dev/null +++ b/tests/aapits/bin/0_WARNING.HTM @@ -0,0 +1 @@ +

BLOCKED FILE ALERT!

The attachment 'AAPITS.LNK' has been blocked because it is a disallowed file type. The attachment has been replaced by this message.

If you feel you have received this message in error and are an Intel employee, then please contact the Global Service Desk.

More Information:

If you are an Intel employee and internal to the Intel network, visit Secure Intel to learn more about E-mail attachment options.

If you are not an Intel employee, please contact your Intel sponsor for additional information.
 

Copyright © Intel Corporation, 2002-2006. All rights reserved.
*Other names and brands may be claimed as the property of others.
**Intel is not responsible for content of sites outside our intranet.
\ No newline at end of file diff --git a/tests/aapits/bin/PWD b/tests/aapits/bin/PWD new file mode 100755 index 0000000..013c184 --- /dev/null +++ b/tests/aapits/bin/PWD @@ -0,0 +1 @@ +pwd \ No newline at end of file diff --git a/tests/aapits/bin/README b/tests/aapits/bin/README new file mode 100755 index 0000000..6a7a131 --- /dev/null +++ b/tests/aapits/bin/README @@ -0,0 +1,28 @@ + +CONTENTS + + This directory (bin) contains supporting shell commands and utilities + for the ACPICA API validation Test Suite (AAPITS). + +aapitsrun + shell command to run the set of AAPITS tests + + Usage: compile aapits utility and asl files, + execute the command in a command line, + the raw results will be gathered in the file ../tmp/raw.out + the summary results will be gathered in the file ../tmp/sum.out + + cd aapits + make + cd asl + make + cd ../bin + ./aapitsrun + +aapits + AAPITS utility + + Perform AAPITS compilation and copy the utility code into the directory + +README + This file \ No newline at end of file diff --git a/tests/aapits/bin/aapitsrun b/tests/aapits/bin/aapitsrun new file mode 100755 index 0000000..c8fe43e --- /dev/null +++ b/tests/aapits/bin/aapitsrun @@ -0,0 +1,133 @@ +#!/bin/bash +# +# @echo off +# +# Run specified set of ACPICA API test suite tests +# +# DESCRIPTION: +# +# 1. A set of tests to be run in each test case is gathered +# in the TESTS_NUMBERS variable +# +# 2. The specified tests are launched consequently +# +# External definitions required: +# +# AAPITSDIR - the pathname of BIN directory of AcpiCA API test suite +# + +# ############################## MAIN ############################### + +# Init variables of utility + +AAPITSDIR=../tmp + +AAPITSOUT=${AAPITSDIR}/raw.out +AAPITSSUM=${AAPITSDIR}/sum.out + +AT_INIT_TEST_NUM=59 +AT_MEMM_TEST_NUM=0 +AT_HDWM_TEST_NUM=42 +AT_TBLM_TEST_NUM=58 +AT_NSPM_TEST_NUM=126 +AT_RSCM_TEST_NUM=37 +AT_FEVM_TEST_NUM=20 +AT_GPEM_TEST_NUM=48 +AT_HNDM_TEST_NUM=36 + +TESTS_NUMBERS="$AT_INIT_TEST_NUM $AT_MEMM_TEST_NUM $AT_HDWM_TEST_NUM\ + $AT_TBLM_TEST_NUM $AT_NSPM_TEST_NUM $AT_RSCM_TEST_NUM\ + $AT_FEVM_TEST_NUM $AT_GPEM_TEST_NUM $AT_HNDM_TEST_NUM" +#TESTS_NUMBERS=1 + +# Check the working directory + +if [ ! -d "$AAPITSDIR" ]; then + echo "There is no directory $AAPITSDIR, run make in ../asl" + exit 1 +fi + +AAPITSAML=${AAPITSDIR}/aml + +if [ ! -d "$AAPITSAML" ]; then + echo "There is no directory $AAPITSAML, run make in ../asl" + exit 1 +fi + +AAPITS=./aapits + +# Check access to AapiTS utility + +if [ ! -f "$AAPITS" ]; then + echo "There is no aapits utility in directory 'bin'" + exit 1 +fi + +# Start date and time + +TS_FMT_INIDATE=$(date +%F) +TS_FMT_INITIME=$(date +%T) + +# Start of tests run + +echo "Start AAPI TS: " $TS_FMT_INIDATE:$TS_FMT_INITIME > $AAPITSOUT +echo "Start AAPI TS: " $TS_FMT_INIDATE:$TS_FMT_INITIME > $AAPITSSUM +echo "Start AAPI TS: " $TS_FMT_INIDATE:$TS_FMT_INITIME + +tests_total=0 +tests_pass=0 +tests_skip1=0 +tests_skip2=0 +tests_fail=0 +tests_none=0 +tests_fault=0 + +test_case=0 + +for test_num in $TESTS_NUMBERS +do + test_case=$[ test_case + 1 ] + tests_total=$[ tests_total + test_num ] + + for (( test=0; test<$test_num; test++ )) + do + $AAPITS $test_case $test $AAPITSAML 2>&1 >> $AAPITSOUT + test_ret=$? + if [ $test_ret -eq 0 ]; then + tests_pass=$[ tests_pass + 1 ] + elif [ $test_ret -eq 1 ]; then + tests_skip1=$[ tests_skip1 + 1 ] + elif [ $test_ret -eq 2 ]; then + tests_skip2=$[ tests_skip2 + 1 ] + elif [ $test_ret -eq 3 ]; then + tests_fail=$[ tests_fail + 1 ] + elif [ $test_ret -eq 4 ]; then + tests_none=$[ tests_none + 1 ] + else + tests_fault=$[ tests_fault + 1 ] + fi + echo "test $test_case $test: $test_ret" + echo "test $test_case $test: $test_ret" >> $AAPITSSUM + echo "test $test_case $test: $test_ret" >> $AAPITSOUT + echo "" >> $AAPITSOUT + done + +done + +tests_total=$[ tests_total - tests_none ] + +echo "tests_total=$tests_total" +echo "tests_pass=$tests_pass" +echo "tests_skip1=$tests_skip1" +echo "tests_skip2=$tests_skip2" +echo "tests_fail=$tests_fail" +echo "tests_none=$tests_none" +echo "tests_fault=$tests_fault" + +echo "End AAPI TS: " $TS_FMT_INIDATE:$TS_FMT_INITIME > $AAPITSOUT +echo "End AAPI TS: " $TS_FMT_INIDATE:$TS_FMT_INITIME > $AAPITSSUM +echo "End AAPI TS: " $TS_FMT_INIDATE:$TS_FMT_INITIME + +exit 0 + + diff --git a/tests/aapits/bin/cadir b/tests/aapits/bin/cadir new file mode 100755 index 0000000..6a3f1c4 --- /dev/null +++ b/tests/aapits/bin/cadir @@ -0,0 +1,13 @@ +#!/bin/bash +# +ACPICADIR="/nfs/ims/home/ffsuieto/acpi/acpica-unix-$1" +if [ -d $ACPICADIR ]; then + ASL=$ACPICADIR/compiler/iasl + acpiexec=$ACPICADIR/tools/acpiexec/acpiexec + ASLTSDIR=$ACPICADIR/tools/aslts + PATH=$PATH:$ASLTSDIR/bin + return 0 +else + echo dir $ACPICADIR doesn't exist + return 1 +fi diff --git a/tests/aapits/bin/run1 b/tests/aapits/bin/run1 new file mode 100755 index 0000000..80a4874 --- /dev/null +++ b/tests/aapits/bin/run1 @@ -0,0 +1,121 @@ +#!/bin/bash +# +# @echo off +# +# Run specified set of ACPICA API test suite tests +# +# DESCRIPTION: +# +# 1. A set of tests to be run in each test case is gathered +# in the TESTS_NUMBERS variable +# +# 2. The specified tests are launched consequently +# +# External definitions required: +# +# AAPITSDIR - the pathname of BIN directory of AcpiCA API test suite +# + +# ############################## MAIN ############################### + +# Init variables of utility + +AAPITSDIR=. + +AT_INIT_TEST_NUM=59 +AT_MEMM_TEST_NUM=0 +AT_HDWM_TEST_NUM=36 +AT_TBLM_TEST_NUM=61 +AT_NSPM_TEST_NUM=121 +AT_RSCM_TEST_NUM=37 +AT_FEVM_TEST_NUM=20 +AT_GPEM_TEST_NUM=48 +AT_HNDM_TEST_NUM=36 + +#TESTS_NUMBERS="$AT_INIT_TEST_NUM $AT_MEMM_TEST_NUM $AT_HDWM_TEST_NUM\ +# $AT_TBLM_TEST_NUM $AT_NSPM_TEST_NUM $AT_RSCM_TEST_NUM\ +# $AT_FEVM_TEST_NUM $AT_GPEM_TEST_NUM $AT_HNDM_TEST_NUM" +TESTS_NUMBERS=$2 + +# Check the working directory + +if [ ! -d "$AAPITSDIR" ]; then + echo "There is no directory $AAPITSDIR" + exit 1 +fi + +AAPITSAML=${AAPITSDIR}/aml + +if [ ! -d "$AAPITSAML" ]; then + echo "There is no directory $AAPITSAML" + exit 1 +fi + +AAPITS=${AAPITSDIR}/aapits + +# Check access to AapiTS utility + +if [ ! -f "$AAPITS" ]; then + echo "There is no aapits utility in $AAPITSDIR" + exit 1 +fi + +# Start date and time + +TS_FMT_INIDATE=$(date +%F) +TS_FMT_INITIME=$(date +%T) + +# Start of tests run + +tests_total=0 +tests_pass=0 +tests_skip1=0 +tests_skip2=0 +tests_fail=0 +tests_none=0 +tests_fault=0 + +test_case=$1 + +for test_num in $TESTS_NUMBERS +do +# test_case=$[ test_case + 1 ] + tests_total=$[ tests_total + test_num ] + + for (( test=$2; test<=$test_num; test++ )) + do + $AAPITS $test_case $test $AAPITSAML 2>&1 >> raw.out + test_ret=$? + if [ $test_ret -eq 0 ]; then + tests_pass=$[ tests_pass + 1 ] + elif [ $test_ret -eq 1 ]; then + tests_skip1=$[ tests_skip1 + 1 ] + elif [ $test_ret -eq 2 ]; then + tests_skip2=$[ tests_skip2 + 1 ] + elif [ $test_ret -eq 3 ]; then + tests_fail=$[ tests_fail + 1 ] + elif [ $test_ret -eq 4 ]; then + tests_none=$[ tests_none + 1 ] + else + tests_fault=$[ tests_fault + 1 ] + fi + echo "test $test_case $test: $test_ret" + echo "test $test_case $test: $test_ret" >> raw.out + echo "" >> raw.out + done + +done + +tests_total=$[ tests_total - tests_none ] + +echo "tests_total=$tests_total" +echo "tests_pass=$tests_pass" +echo "tests_skip1=$tests_skip1" +echo "tests_skip2=$tests_skip2" +echo "tests_fail=$tests_fail" +echo "tests_none=$tests_none" +echo "tests_fault=$tests_fault" + +exit 0 + + diff --git a/tests/aapits/osunixxf.c b/tests/aapits/osunixxf.c new file mode 100644 index 0000000..9f908fb --- /dev/null +++ b/tests/aapits/osunixxf.c @@ -0,0 +1,1168 @@ +/****************************************************************************** + * + * Module Name: osunixxf - UNIX OSL interfaces + * + *****************************************************************************/ + +/****************************************************************************** + * + * 1. Copyright Notice + * + * Some or all of this work - Copyright (c) 1999 - 2006, Intel Corp. + * All rights reserved. + * + * 2. License + * + * 2.1. This is your license from Intel Corp. under its intellectual property + * rights. You may have additional license terms from the party that provided + * you this software, covering your right to use that party's intellectual + * property rights. + * + * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a + * copy of the source code appearing in this file ("Covered Code") an + * irrevocable, perpetual, worldwide license under Intel's copyrights in the + * base code distributed originally by Intel ("Original Intel Code") to copy, + * make derivatives, distribute, use and display any portion of the Covered + * Code in any form, with the right to sublicense such rights; and + * + * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent + * license (with the right to sublicense), under only those claims of Intel + * patents that are infringed by the Original Intel Code, to make, use, sell, + * offer to sell, and import the Covered Code and derivative works thereof + * solely to the minimum extent necessary to exercise the above copyright + * license, and in no event shall the patent license extend to any additions + * to or modifications of the Original Intel Code. No other license or right + * is granted directly or by implication, estoppel or otherwise; + * + * The above copyright and patent license is granted only if the following + * conditions are met: + * + * 3. Conditions + * + * 3.1. Redistribution of Source with Rights to Further Distribute Source. + * Redistribution of source code of any substantial portion of the Covered + * Code or modification with rights to further distribute source must include + * the above Copyright Notice, the above License, this list of Conditions, + * and the following Disclaimer and Export Compliance provision. In addition, + * Licensee must cause all Covered Code to which Licensee contributes to + * contain a file documenting the changes Licensee made to create that Covered + * Code and the date of any change. Licensee must include in that file the + * documentation of any changes made by any predecessor Licensee. Licensee + * must include a prominent statement that the modification is derived, + * directly or indirectly, from Original Intel Code. + * + * 3.2. Redistribution of Source with no Rights to Further Distribute Source. + * Redistribution of source code of any substantial portion of the Covered + * Code or modification without rights to further distribute source must + * include the following Disclaimer and Export Compliance provision in the + * documentation and/or other materials provided with distribution. In + * addition, Licensee may not authorize further sublicense of source of any + * portion of the Covered Code, and must include terms to the effect that the + * license from Licensee to its licensee is limited to the intellectual + * property embodied in the software Licensee provides to its licensee, and + * not to intellectual property embodied in modifications its licensee may + * make. + * + * 3.3. Redistribution of Executable. Redistribution in executable form of any + * substantial portion of the Covered Code or modification must reproduce the + * above Copyright Notice, and the following Disclaimer and Export Compliance + * provision in the documentation and/or other materials provided with the + * distribution. + * + * 3.4. Intel retains all right, title, and interest in and to the Original + * Intel Code. + * + * 3.5. Neither the name Intel nor any other trademark owned or controlled by + * Intel shall be used in advertising or otherwise to promote the sale, use or + * other dealings in products derived from or relating to the Covered Code + * without prior written authorization from Intel. + * + * 4. Disclaimer and Export Compliance + * + * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED + * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE + * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, + * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY + * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY + * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A + * PARTICULAR PURPOSE. + * + * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES + * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR + * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, + * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY + * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL + * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS + * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY + * LIMITED REMEDY. + * + * 4.3. Licensee shall not export, either directly or indirectly, any of this + * software or system incorporating such software without first obtaining any + * required license or other approval from the U. S. Department of Commerce or + * any other agency or department of the United States Government. In the + * event Licensee exports any such software from the United States or + * re-exports any such software from a foreign destination, Licensee shall + * ensure that the distribution and export/re-export of the software is in + * compliance with all laws, regulations, orders, or other restrictions of the + * U.S. Export Administration Regulations. Licensee agrees that neither it nor + * any of its subsidiaries will export/re-export any technical data, process, + * software, or service, directly or indirectly, to any country for which the + * United States government or any agency thereof requires an export license, + * other governmental approval, or letter of assurance, without first obtaining + * such license, approval or letter. + * + *****************************************************************************/ + + +/* + * These interfaces are required in order to compile the ASL compiler under + * Linux. + */ + +#include +#include +#include +#include +#include + +#include "acpi.h" +#include "accommon.h" +#include "amlcode.h" +#include "acparser.h" +#include "acdebug.h" +#include "atosxfwrap.h" + +#define _COMPONENT ACPI_OS_SERVICES + ACPI_MODULE_NAME ("osunixxf") + + +extern FILE *AcpiGbl_DebugFile; +FILE *AcpiGbl_OutputFile; + +ACPI_PHYSICAL_ADDRESS +AeLocalGetRootPointer ( + void); + + +/****************************************************************************** + * + * FUNCTION: AcpiOsInitialize, AcpiOsTerminate + * + * PARAMETERS: None + * + * RETURN: Status + * + * DESCRIPTION: Init and terminate. Nothing to do. + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualInitialize (void) +{ + AcpiGbl_OutputFile = stdout; + + return (AE_OK); +} + + +ACPI_STATUS +AcpiOsActualTerminate (void) +{ + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsGetRootPointer + * + * PARAMETERS: Flags - Logical or physical addressing mode + * Address - Where the address is returned + * + * RETURN: Status + * + * DESCRIPTION: Gets the root pointer (RSDP) + * + *****************************************************************************/ + +ACPI_PHYSICAL_ADDRESS +AcpiOsActualGetRootPointer ( + void) +{ + return (AeLocalGetRootPointer ()); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsPredefinedOverride + * + * PARAMETERS: InitVal - Initial value of the predefined object + * NewVal - The new value for the object + * + * RETURN: Status, pointer to value. Null pointer returned if not + * overriding. + * + * DESCRIPTION: Allow the OS to override predefined names + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualPredefinedOverride ( + const ACPI_PREDEFINED_NAMES *InitVal, + ACPI_STRING *NewVal) +{ + + if (!InitVal || !NewVal) + { + return (AE_BAD_PARAMETER); + } + + *NewVal = NULL; + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsTableOverride + * + * PARAMETERS: ExistingTable - Header of current table (probably firmware) + * NewTable - Where an entire new table is returned. + * + * RETURN: Status, pointer to new table. Null pointer returned if no + * table is available to override + * + * DESCRIPTION: Return a different version of a table if one is available + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualTableOverride ( + ACPI_TABLE_HEADER *ExistingTable, + ACPI_TABLE_HEADER **NewTable) +{ + + if (!ExistingTable || !NewTable) + { + return (AE_BAD_PARAMETER); + } + + *NewTable = NULL; + +#ifdef ACPI_EXEC_APP + + /* This code exercises the table override mechanism in the core */ + +#if OBSOLETE_CODE + if (ACPI_COMPARE_NAME (ExistingTable->Signature, ACPI_SIG_DSDT)) + { + /* override DSDT with itself */ + + *NewTable = AcpiGbl_DbTablePtr; + } +#endif + + return (AE_OK); +#else + return (AE_NO_ACPI_TABLES); +#endif +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsReadable + * + * PARAMETERS: Pointer - Area to be verified + * Length - Size of area + * + * RETURN: TRUE if readable for entire length + * + * DESCRIPTION: Verify that a pointer is valid for reading + * + *****************************************************************************/ + +BOOLEAN +AcpiOsActualReadable ( + void *Pointer, + ACPI_SIZE Length) +{ + + return (TRUE); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsWritable + * + * PARAMETERS: Pointer - Area to be verified + * Length - Size of area + * + * RETURN: TRUE if writable for entire length + * + * DESCRIPTION: Verify that a pointer is valid for writing + * + *****************************************************************************/ + +BOOLEAN +AcpiOsActualWritable ( + void *Pointer, + ACPI_SIZE Length) +{ + + return (TRUE); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsRedirectOutput + * + * PARAMETERS: Destination - An open file handle/pointer + * + * RETURN: None + * + * DESCRIPTION: Causes redirect of AcpiOsPrintf and AcpiOsVprintf + * + *****************************************************************************/ + +void +AcpiOsActualRedirectOutput ( + void *Destination) +{ + + AcpiGbl_OutputFile = Destination; +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsPrintf + * + * PARAMETERS: fmt, ... Standard printf format + * + * RETURN: None + * + * DESCRIPTION: Formatted output + * + *****************************************************************************/ + +void ACPI_INTERNAL_VAR_XFACE +AcpiOsActualPrintf ( + const char *Fmt, + ...) +{ + va_list Args; + + + va_start (Args, Fmt); + + AcpiOsVprintf (Fmt, Args); + + va_end (Args); + return; +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsVprintf + * + * PARAMETERS: fmt Standard printf format + * args Argument list + * + * RETURN: None + * + * DESCRIPTION: Formatted output with argument list pointer + * + *****************************************************************************/ + +void +AcpiOsActualVprintf ( + const char *Fmt, + va_list Args) +{ + INT32 Count = 0; + UINT8 Flags; + + + Flags = AcpiGbl_DbOutputFlags; + if (Flags & ACPI_DB_REDIRECTABLE_OUTPUT) + { + /* Output is directable to either a file (if open) or the console */ + + if (AcpiGbl_DebugFile) + { + /* Output file is open, send the output there */ + + Count = vfprintf (AcpiGbl_DebugFile, Fmt, Args); + } + else + { + /* No redirection, send output to console (once only!) */ + + Flags |= ACPI_DB_CONSOLE_OUTPUT; + } + } + + if (Flags & ACPI_DB_CONSOLE_OUTPUT) + { + Count = vfprintf (AcpiGbl_OutputFile, Fmt, Args); + } + + return; +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsGetLine + * + * PARAMETERS: fmt Standard printf format + * args Argument list + * + * RETURN: Actual bytes read + * + * DESCRIPTION: Formatted input with argument list pointer + * + *****************************************************************************/ + +UINT32 +AcpiOsActualGetLine ( + char *Buffer) +{ + UINT8 Temp; + UINT32 i; + + + for (i = 0; ; i++) + { + scanf ("%1c", &Temp); + if (!Temp || Temp == '\n') + { + break; + } + + Buffer [i] = Temp; + } + + /* Null terminate the buffer */ + + Buffer [i] = 0; + + /* Return the number of bytes in the string */ + + return (i); +} + +/****************************************************************************** + * + * FUNCTION: AcpiOsMapMemory + * + * PARAMETERS: where Physical address of memory to be mapped + * length How much memory to map + * there Logical address of mapped memory + * + * RETURN: Pointer to mapped memory. Null on error. + * + * DESCRIPTION: Map physical memory into caller's address space + * + *****************************************************************************/ + +void * +AcpiOsActualMapMemory ( + ACPI_PHYSICAL_ADDRESS Where, + ACPI_SIZE length) +{ + return ((void *)Where); +} + + +void +AcpiOsActualUnmapMemory ( + void *where, + ACPI_SIZE length) +{ + + return; +} + +/****************************************************************************** + * + * FUNCTION: AcpiOsUnmapMemory + * + * PARAMETERS: where Logical address of memory to be unmapped + * length How much memory to unmap + * + * RETURN: None. + * + * DESCRIPTION: Delete a previously created mapping. Where and Length must + * correspond to a previous mapping exactly. + * + *****************************************************************************/ + +void * +xxxxAcpiOsMapMemory ( + ACPI_PHYSICAL_ADDRESS Where, + ACPI_SIZE length) +{ + + return ((void *)Where); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsAllocate + * + * PARAMETERS: Size Amount to allocate, in bytes + * + * RETURN: Pointer to the new allocation. Null on error. + * + * DESCRIPTION: Allocate memory. Algorithm is dependent on the OS. + * + *****************************************************************************/ + +void * +AcpiOsActualAllocate ( + ACPI_SIZE size) +{ + void *Mem; + + + Mem = (void *) malloc ((size_t) size); + + return (Mem); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsFree + * + * PARAMETERS: mem Pointer to previously allocated memory + * + * RETURN: None. + * + * DESCRIPTION: Free memory allocated via AcpiOsAllocate + * + *****************************************************************************/ + +void +AcpiOsActualFree ( + void *mem) +{ + + + free (mem); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsCreateSemaphore + * + * PARAMETERS: InitialUnits - Units to be assigned to the new semaphore + * OutHandle - Where a handle will be returned + * + * RETURN: Status + * + * DESCRIPTION: Create an OS semaphore + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualCreateSemaphore ( + UINT32 MaxUnits, + UINT32 InitialUnits, + ACPI_HANDLE *OutHandle) +{ + + + *OutHandle = (ACPI_HANDLE) 1; + return (AE_OK); +} + +/****************************************************************************** + * + * FUNCTION: AcpiOsDeleteSemaphore + * + * PARAMETERS: Handle - Handle returned by AcpiOsCreateSemaphore + * + * RETURN: Status + * + * DESCRIPTION: Delete an OS semaphore + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualDeleteSemaphore ( + ACPI_HANDLE Handle) +{ + + if (!Handle) + { + return (AE_BAD_PARAMETER); + } + + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsWaitSemaphore + * + * PARAMETERS: Handle - Handle returned by AcpiOsCreateSemaphore + * Units - How many units to wait for + * Timeout - How long to wait + * + * RETURN: Status + * + * DESCRIPTION: Wait for units + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualWaitSemaphore ( + ACPI_HANDLE Handle, + UINT32 Units, + UINT16 Timeout) +{ + + + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsSignalSemaphore + * + * PARAMETERS: Handle - Handle returned by AcpiOsCreateSemaphore + * Units - Number of units to send + * + * RETURN: Status + * + * DESCRIPTION: Send units + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualSignalSemaphore ( + ACPI_HANDLE Handle, + UINT32 Units) +{ + + + return (AE_OK); +} + + +ACPI_STATUS +AcpiOsActualCreateLock ( + ACPI_HANDLE *OutHandle) +{ + + return (AcpiOsCreateSemaphore (1, 1, OutHandle)); +} + +void +AcpiOsActualDeleteLock ( + ACPI_HANDLE Handle) +{ + AcpiOsDeleteSemaphore (Handle); +} + + +ACPI_CPU_FLAGS +AcpiOsActualAcquireLock ( + ACPI_HANDLE Handle) +{ + AcpiOsWaitSemaphore (Handle, 1, 0xFFFF); + return (0); +} + + +void +AcpiOsActualReleaseLock ( + ACPI_HANDLE Handle, + ACPI_CPU_FLAGS Flags) +{ + AcpiOsSignalSemaphore (Handle, 1); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsInstallInterruptHandler + * + * PARAMETERS: InterruptNumber Level handler should respond to. + * Isr Address of the ACPI interrupt handler + * ExceptPtr Where status is returned + * + * RETURN: Handle to the newly installed handler. + * + * DESCRIPTION: Install an interrupt handler. Used to install the ACPI + * OS-independent handler. + * + *****************************************************************************/ + +UINT32 +AcpiOsActualInstallInterruptHandler ( + UINT32 InterruptNumber, + ACPI_OSD_HANDLER ServiceRoutine, + void *Context) +{ + + + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsRemoveInterruptHandler + * + * PARAMETERS: Handle Returned when handler was installed + * + * RETURN: Status + * + * DESCRIPTION: Uninstalls an interrupt handler. + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualRemoveInterruptHandler ( + UINT32 InterruptNumber, + ACPI_OSD_HANDLER ServiceRoutine) +{ + + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsExecute + * + * PARAMETERS: Type - Type of execution + * Function - Address of the function to execute + * Context - Passed as a parameter to the function + * + * RETURN: Status. + * + * DESCRIPTION: Execute a new thread + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualExecute ( + ACPI_EXECUTE_TYPE Type, + ACPI_OSD_EXEC_CALLBACK Function, + void *Context) +{ + +// _beginthread (Function, (unsigned) 0, Context); + return (0); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsBreakpoint + * + * PARAMETERS: Msg Message to print + * + * RETURN: Status + * + * DESCRIPTION: Print a message and break to the debugger. + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualBreakpoint ( + char *Msg) +{ + + if (Msg) + { + AcpiOsPrintf ("AcpiOsBreakpoint: %s ****\n", Msg); + } + else + { + AcpiOsPrintf ("At AcpiOsBreakpoint ****\n"); + } + + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsStall + * + * PARAMETERS: microseconds To sleep + * + * RETURN: Blocks until sleep is completed. + * + * DESCRIPTION: Sleep at microsecond granularity + * + *****************************************************************************/ + +void +AcpiOsActualStall ( + UINT32 microseconds) +{ + + if (microseconds) + { + usleep (microseconds); + } + return; +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsSleep + * + * PARAMETERS: milliseconds To sleep + * + * RETURN: Blocks until sleep is completed. + * + * DESCRIPTION: Sleep at millisecond granularity + * + *****************************************************************************/ + +void +AcpiOsActualSleep ( + ACPI_INTEGER milliseconds) +{ + + sleep (milliseconds / 1000); /* Sleep for whole seconds */ + + /* + * Arg to usleep() must be less than 1,000,000 (1 second) + */ + usleep ((milliseconds % 1000) * 1000); /* Sleep for remaining usecs */ + + return; +} + +/****************************************************************************** + * + * FUNCTION: AcpiOsGetTimer + * + * PARAMETERS: None + * + * RETURN: Current time in 100 nanosecond units + * + * DESCRIPTION: Get the current system time + * + *****************************************************************************/ + +UINT64 +AcpiOsActualGetTimer (void) +{ + struct timeval time; + + gettimeofday(&time, NULL); + + /* Seconds * 10^7 = 100ns(10^-7), Microseconds(10^-6) * 10^1 = 100ns */ + + return (((UINT64) time.tv_sec * 10000000) + ((UINT64) time.tv_usec * 10)); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsValidateInterface + * + * PARAMETERS: Interface - Requested interface to be validated + * + * RETURN: AE_OK if interface is supported, AE_SUPPORT otherwise + * + * DESCRIPTION: Match an interface string to the interfaces supported by the + * host. Strings originate from an AML call to the _OSI method. + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualValidateInterface ( + char *Interface) +{ + + return (AE_SUPPORT); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsValidateAddress + * + * PARAMETERS: SpaceId - ACPI space ID + * Address - Physical address + * Length - Address length + * + * RETURN: AE_OK if Address/Length is valid for the SpaceId. Otherwise, + * should return AE_AML_ILLEGAL_ADDRESS. + * + * DESCRIPTION: Validate a system address via the host OS. Used to validate + * the addresses accessed by AML operation regions. + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualValidateAddress ( + UINT8 SpaceId, + ACPI_PHYSICAL_ADDRESS Address, + ACPI_SIZE Length) +{ + + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsReadPciConfiguration + * + * PARAMETERS: PciId Seg/Bus/Dev + * Register Device Register + * Value Buffer where value is placed + * Width Number of bits + * + * RETURN: Status + * + * DESCRIPTION: Read data from PCI configuration space + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualReadPciConfiguration ( + ACPI_PCI_ID *PciId, + UINT32 Register, + void *Value, + UINT32 Width) +{ + + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsWritePciConfiguration + * + * PARAMETERS: PciId Seg/Bus/Dev + * Register Device Register + * Value Value to be written + * Width Number of bits + * + * RETURN: Status. + * + * DESCRIPTION: Write data to PCI configuration space + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualWritePciConfiguration ( + ACPI_PCI_ID *PciId, + UINT32 Register, + ACPI_INTEGER Value, + UINT32 Width) +{ + + return (AE_OK); +} + +/* TEMPORARY STUB FUNCTION */ +void +AcpiOsActualDerivePciId( + ACPI_HANDLE rhandle, + ACPI_HANDLE chandle, + ACPI_PCI_ID **PciId) +{ + +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsReadPort + * + * PARAMETERS: Address Address of I/O port/register to read + * Value Where value is placed + * Width Number of bits + * + * RETURN: Value read from port + * + * DESCRIPTION: Read data from an I/O port or register + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualReadPort ( + ACPI_IO_ADDRESS Address, + UINT32 *Value, + UINT32 Width) +{ + + switch (Width) + { + case 8: + *Value = 0xFF; + break; + + case 16: + *Value = 0xFFFF; + break; + + case 32: + *Value = 0xFFFFFFFF; + break; + } + + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsWritePort + * + * PARAMETERS: Address Address of I/O port/register to write + * Value Value to write + * Width Number of bits + * + * RETURN: None + * + * DESCRIPTION: Write data to an I/O port or register + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualWritePort ( + ACPI_IO_ADDRESS Address, + UINT32 Value, + UINT32 Width) +{ + + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsReadMemory + * + * PARAMETERS: Address Physical Memory Address to read + * Value Where value is placed + * Width Number of bits + * + * RETURN: Value read from physical memory address + * + * DESCRIPTION: Read data from a physical memory address + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualReadMemory ( + ACPI_PHYSICAL_ADDRESS Address, + UINT64 *Value, + UINT32 Width) +{ + + switch (Width) + { + case 8: + case 16: + case 32: + case 64: + *Value = 0; + break; + + default: + return (AE_BAD_PARAMETER); + break; + } + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsWriteMemory + * + * PARAMETERS: Address Physical Memory Address to write + * Value Value to write + * Width Number of bits + * + * RETURN: None + * + * DESCRIPTION: Write data to a physical memory address + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualWriteMemory ( + ACPI_PHYSICAL_ADDRESS Address, + UINT64 Value, + UINT32 Width) +{ + + return (AE_OK); +} + + +ACPI_THREAD_ID +AcpiOsActualGetThreadId(void) +{ + return ((ACPI_THREAD_ID) getpid()); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsSignal + * + * PARAMETERS: Function ACPI CA signal function code + * Info Pointer to function-dependent structure + * + * RETURN: Status + * + * DESCRIPTION: Miscellaneous functions + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualSignal ( + UINT32 Function, + void *Info) +{ + + switch (Function) + { + case ACPI_SIGNAL_FATAL: + break; + + case ACPI_SIGNAL_BREAKPOINT: + + if (Info) + { + AcpiOsPrintf ("AcpiOsBreakpoint: %s ****\n", Info); + } + else + { + AcpiOsPrintf ("At AcpiOsBreakpoint ****\n"); + } + + break; + } + + + return (AE_OK); +} diff --git a/tests/aapits/oswinxf.c b/tests/aapits/oswinxf.c new file mode 100644 index 0000000..ce9d4d2 --- /dev/null +++ b/tests/aapits/oswinxf.c @@ -0,0 +1,1589 @@ +/****************************************************************************** + * + * Module Name: oswinxf - Windows OSL + * + *****************************************************************************/ + +/****************************************************************************** + * + * 1. Copyright Notice + * + * Some or all of this work - Copyright (c) 1999 - 2006, Intel Corp. + * All rights reserved. + * + * 2. License + * + * 2.1. This is your license from Intel Corp. under its intellectual property + * rights. You may have additional license terms from the party that provided + * you this software, covering your right to use that party's intellectual + * property rights. + * + * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a + * copy of the source code appearing in this file ("Covered Code") an + * irrevocable, perpetual, worldwide license under Intel's copyrights in the + * base code distributed originally by Intel ("Original Intel Code") to copy, + * make derivatives, distribute, use and display any portion of the Covered + * Code in any form, with the right to sublicense such rights; and + * + * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent + * license (with the right to sublicense), under only those claims of Intel + * patents that are infringed by the Original Intel Code, to make, use, sell, + * offer to sell, and import the Covered Code and derivative works thereof + * solely to the minimum extent necessary to exercise the above copyright + * license, and in no event shall the patent license extend to any additions + * to or modifications of the Original Intel Code. No other license or right + * is granted directly or by implication, estoppel or otherwise; + * + * The above copyright and patent license is granted only if the following + * conditions are met: + * + * 3. Conditions + * + * 3.1. Redistribution of Source with Rights to Further Distribute Source. + * Redistribution of source code of any substantial portion of the Covered + * Code or modification with rights to further distribute source must include + * the above Copyright Notice, the above License, this list of Conditions, + * and the following Disclaimer and Export Compliance provision. In addition, + * Licensee must cause all Covered Code to which Licensee contributes to + * contain a file documenting the changes Licensee made to create that Covered + * Code and the date of any change. Licensee must include in that file the + * documentation of any changes made by any predecessor Licensee. Licensee + * must include a prominent statement that the modification is derived, + * directly or indirectly, from Original Intel Code. + * + * 3.2. Redistribution of Source with no Rights to Further Distribute Source. + * Redistribution of source code of any substantial portion of the Covered + * Code or modification without rights to further distribute source must + * include the following Disclaimer and Export Compliance provision in the + * documentation and/or other materials provided with distribution. In + * addition, Licensee may not authorize further sublicense of source of any + * portion of the Covered Code, and must include terms to the effect that the + * license from Licensee to its licensee is limited to the intellectual + * property embodied in the software Licensee provides to its licensee, and + * not to intellectual property embodied in modifications its licensee may + * make. + * + * 3.3. Redistribution of Executable. Redistribution in executable form of any + * substantial portion of the Covered Code or modification must reproduce the + * above Copyright Notice, and the following Disclaimer and Export Compliance + * provision in the documentation and/or other materials provided with the + * distribution. + * + * 3.4. Intel retains all right, title, and interest in and to the Original + * Intel Code. + * + * 3.5. Neither the name Intel nor any other trademark owned or controlled by + * Intel shall be used in advertising or otherwise to promote the sale, use or + * other dealings in products derived from or relating to the Covered Code + * without prior written authorization from Intel. + * + * 4. Disclaimer and Export Compliance + * + * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED + * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE + * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, + * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY + * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY + * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A + * PARTICULAR PURPOSE. + * + * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES + * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR + * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, + * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY + * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL + * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS + * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY + * LIMITED REMEDY. + * + * 4.3. Licensee shall not export, either directly or indirectly, any of this + * software or system incorporating such software without first obtaining any + * required license or other approval from the U. S. Department of Commerce or + * any other agency or department of the United States Government. In the + * event Licensee exports any such software from the United States or + * re-exports any such software from a foreign destination, Licensee shall + * ensure that the distribution and export/re-export of the software is in + * compliance with all laws, regulations, orders, or other restrictions of the + * U.S. Export Administration Regulations. Licensee agrees that neither it nor + * any of its subsidiaries will export/re-export any technical data, process, + * software, or service, directly or indirectly, to any country for which the + * United States government or any agency thereof requires an export license, + * other governmental approval, or letter of assurance, without first obtaining + * such license, approval or letter. + * + *****************************************************************************/ + + +/* + * These interfaces are required in order to link to the ACPI subsystem + * parser. They are called during the execution of the parser, and all + * map directly to Clibrary calls. + */ +#include "acpi.h" +#include "accommon.h" +#include "acdebug.h" +#include "atosxfwrap.h" + +#ifdef WIN32 +#pragma warning(disable:4115) /* warning C4115: named type definition in parentheses (caused by rpcasync.h> */ + +#include +#include +#endif + +#ifdef WIN64 +#include +#endif + +#include +#include +#include +#include +#include + +#define _COMPONENT ACPI_OS_SERVICES + ACPI_MODULE_NAME ("oswinxf") + + +//#define NUM_SEMAPHORES 128 +#define NUM_SEMAPHORES 256 + +typedef struct semaphore_entry +{ + UINT16 MaxUnits; + UINT16 CurrentUnits; + void *OsHandle; +} SEMAPHORE_ENTRY; + + +SEMAPHORE_ENTRY AcpiGbl_Semaphores[NUM_SEMAPHORES]; +extern FILE *AcpiGbl_DebugFile; + +/* +ACPI_STATUS +AeLocalGetRootPointer ( + UINT32 Flags, + ACPI_POINTER *Address); +*/ +ACPI_PHYSICAL_ADDRESS +AeLocalGetRootPointer ( + void); + +FILE *AcpiGbl_OutputFile; +UINT64 TimerFrequency; + + +/****************************************************************************** + * + * FUNCTION: OsTerminate + * + * PARAMETERS: None + * + * RETURN: None + * + * DESCRIPTION: Nothing to do for windows + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualTerminate (void) +{ + return (AE_OK); +} + + +#ifndef ACPI_EXEC_APP +/* Used by both iASL and AcpiDump applications */ + +CHAR s[500]; + +/****************************************************************************** + * + * FUNCTION: OsGetTable + * + * PARAMETERS: None + * + * RETURN: Pointer to the table. NULL if failure + * + * DESCRIPTION: Get an ACPI table from the Windows registry. + * + *****************************************************************************/ + +ACPI_TABLE_HEADER * +OsGetTable ( + char *TableName) +{ + HKEY Handle = NULL; + ULONG i; + LONG Status; + ULONG Type; + ULONG NameSize; + ULONG DataSize; + HKEY SubKey; + ACPI_TABLE_HEADER *Buffer; + char *Signature = TableName; + + + /* Get a handle to the DSDT key */ + + while (1) + { + ACPI_STRCPY (s, "HARDWARE\\ACPI\\"); + ACPI_STRCAT (s, Signature); + + Status = RegOpenKeyEx (HKEY_LOCAL_MACHINE, s, + 0L, KEY_ALL_ACCESS, &Handle); + + if (Status != ERROR_SUCCESS) + { + /* + * Somewhere along the way, MS changed the registry entry for + * the FADT from + * HARDWARE/ACPI/FACP to + * HARDWARE/ACPI/FADT. + * + * This code allows for both. + */ + if (ACPI_COMPARE_NAME (Signature, "FACP")) + { + Signature = "FADT"; + } + else + { + AcpiOsPrintf ("Could not find %s in registry at %s\n", TableName, s); + return (NULL); + } + } + else + { + break; + } + } + + /* Actual table is down a couple of levels */ + + for (i = 0; ;) + { + Status = RegEnumKey (Handle, i, s, sizeof(s)); + i += 1; + if (Status == ERROR_NO_MORE_ITEMS) + { + break; + } + + Status = RegOpenKey (Handle, s, &SubKey); + if (Status != ERROR_SUCCESS) + { + AcpiOsPrintf ("Could not open %s entry\n", TableName); + return (NULL); + } + + RegCloseKey (Handle); + Handle = SubKey; + i = 0; + } + + /* Find the table entry */ + + for (i = 0; ;) + { + NameSize = sizeof (s); + Status = RegEnumValue (Handle, i, s, &NameSize, + NULL, &Type, NULL, 0 ); + if (Status != ERROR_SUCCESS) + { + AcpiOsPrintf ("Could not get %s registry entry\n", TableName); + return (NULL); + } + + if (Type == REG_BINARY) + { + break; + } + i += 1; + } + + /* Get the size of the table */ + + Status = RegQueryValueEx (Handle, s, NULL, NULL, NULL, &DataSize); + if (Status != ERROR_SUCCESS) + { + AcpiOsPrintf ("Could not read the %s table size\n", TableName); + return (NULL); + } + + /* Allocate a new buffer for the table */ + + Buffer = AcpiOsAllocate (DataSize); + if (!Buffer) + { + goto Cleanup; + } + + /* Get the actual table from the registry */ + + Status = RegQueryValueEx (Handle, s, NULL, NULL, (UCHAR *) Buffer, &DataSize); + if (Status != ERROR_SUCCESS) + { + AcpiOsPrintf ("Could not read %s data\n", TableName); + return (NULL); + } + +Cleanup: + RegCloseKey (Handle); + return (Buffer); +} + +#endif + +/****************************************************************************** + * + * FUNCTION: AcpiOsInitialize, AcpiOsTerminate + * + * PARAMETERS: None + * + * RETURN: Status + * + * DESCRIPTION: Init this OSL + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualInitialize (void) +{ + UINT32 i; + LARGE_INTEGER LocalTimerFrequency; + + + AcpiGbl_OutputFile = stdout; + + for (i = 0; i < NUM_SEMAPHORES; i++) + { + AcpiGbl_Semaphores[i].OsHandle = NULL; + } + + TimerFrequency = 0; + if (QueryPerformanceFrequency (&LocalTimerFrequency)) + { + /* Frequency is in ticks per second */ + + TimerFrequency = LocalTimerFrequency.QuadPart; + } + + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsGetRootPointer + * + * PARAMETERS: Flags - Logical or physical addressing mode + * Address - Where the address is returned + * + * RETURN: Status + * + * DESCRIPTION: Gets the root pointer (RSDP) + * + *****************************************************************************/ +/* +ACPI_STATUS +AcpiOsActualGetRootPointer ( + UINT32 Flags, + ACPI_POINTER *Address) +{ + + return (AeLocalGetRootPointer (Flags, Address)); +} +*/ +ACPI_PHYSICAL_ADDRESS +AcpiOsActualGetRootPointer ( + void) +{ + return (AeLocalGetRootPointer ()); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsPredefinedOverride + * + * PARAMETERS: InitVal - Initial value of the predefined object + * NewVal - The new value for the object + * + * RETURN: Status, pointer to value. Null pointer returned if not + * overriding. + * + * DESCRIPTION: Allow the OS to override predefined names + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualPredefinedOverride ( + const ACPI_PREDEFINED_NAMES *InitVal, + ACPI_STRING *NewVal) +{ + + if (!InitVal || !NewVal) + { + return (AE_BAD_PARAMETER); + } + + *NewVal = NULL; + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsTableOverride + * + * PARAMETERS: ExistingTable - Header of current table (probably firmware) + * NewTable - Where an entire new table is returned. + * + * RETURN: Status, pointer to new table. Null pointer returned if no + * table is available to override + * + * DESCRIPTION: Return a different version of a table if one is available + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualTableOverride ( + ACPI_TABLE_HEADER *ExistingTable, + ACPI_TABLE_HEADER **NewTable) +{ +#ifndef ACPI_EXEC_APP + char TableName[ACPI_NAME_SIZE + 1]; +#endif + + + if (!ExistingTable || !NewTable) + { + return (AE_BAD_PARAMETER); + } + + *NewTable = NULL; + + +#ifdef ACPI_EXEC_APP + + /* This code exercises the table override mechanism in the core */ + +#ifdef OBSOLETE_CODE + if (ACPI_COMPARE_NAME (ExistingTable->Signature, ACPI_SIG_DSDT)) + { + /* override DSDT with itself */ + + *NewTable = AcpiGbl_DbTablePtr; + } +#endif + + +#else + + /* Construct a null-terminated string from table signature */ + + TableName[ACPI_NAME_SIZE] = 0; + ACPI_STRNCPY (TableName, ExistingTable->Signature, ACPI_NAME_SIZE); + + *NewTable = OsGetTable (TableName); + if (*NewTable) + { + AcpiOsPrintf ("%s obtained from registry, %d bytes\n", + TableName, (*NewTable)->Length); + } + else + { + AcpiOsPrintf ("Could not read %s from registry\n", TableName); + } +#endif + + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsGetTimer + * + * PARAMETERS: None + * + * RETURN: Current ticks in 100-nanosecond units + * + * DESCRIPTION: Get the value of a system timer + * + ******************************************************************************/ + +UINT64 +AcpiOsActualGetTimer ( + void) +{ + LARGE_INTEGER Timer; + + +// return ((UINT64) GetTickCount() * 10000); + + /* Attempt to use hi-granularity timer first */ + + if (TimerFrequency && + QueryPerformanceCounter (&Timer)) + { + /* Convert to 100 nanosecond ticks */ + + return ((UINT64) ((Timer.QuadPart * (UINT64) 10000000) / TimerFrequency)); + } + + /* Fall back to the lo-granularity timer */ + + else + { + /* Convert milliseconds to 100 nanosecond ticks */ + + return ((UINT64) GetTickCount() * 10000); + } +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsReadable + * + * PARAMETERS: Pointer - Area to be verified + * Length - Size of area + * + * RETURN: TRUE if readable for entire length + * + * DESCRIPTION: Verify that a pointer is valid for reading + * + *****************************************************************************/ + +BOOLEAN +AcpiOsActualReadable ( + void *Pointer, + ACPI_SIZE Length) +{ + + return ((BOOLEAN) !IsBadReadPtr (Pointer, Length)); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsWritable + * + * PARAMETERS: Pointer - Area to be verified + * Length - Size of area + * + * RETURN: TRUE if writable for entire length + * + * DESCRIPTION: Verify that a pointer is valid for writing + * + *****************************************************************************/ + +BOOLEAN +AcpiOsActualWritable ( + void *Pointer, + ACPI_SIZE Length) +{ + + return ((BOOLEAN) !IsBadWritePtr (Pointer, Length)); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsRedirectOutput + * + * PARAMETERS: Destination - An open file handle/pointer + * + * RETURN: None + * + * DESCRIPTION: Causes redirect of AcpiOsPrintf and AcpiOsVprintf + * + *****************************************************************************/ + +void +AcpiOsActualRedirectOutput ( + void *Destination) +{ + + AcpiGbl_OutputFile = Destination; +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsPrintf + * + * PARAMETERS: fmt, ... Standard printf format + * + * RETURN: None + * + * DESCRIPTION: Formatted output + * + *****************************************************************************/ + +void ACPI_INTERNAL_VAR_XFACE +AcpiOsActualPrintf ( + const char *Fmt, + ...) +{ + va_list Args; + + + va_start (Args, Fmt); + + AcpiOsVprintf (Fmt, Args); + + va_end (Args); + return; +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsVprintf + * + * PARAMETERS: fmt Standard printf format + * args Argument list + * + * RETURN: None + * + * DESCRIPTION: Formatted output with argument list pointer + * + *****************************************************************************/ + +void +AcpiOsActualVprintf ( + const char *Fmt, + va_list Args) +{ + INT32 Count = 0; + UINT8 Flags; + + + Flags = AcpiGbl_DbOutputFlags; + if (Flags & ACPI_DB_REDIRECTABLE_OUTPUT) + { + /* Output is directable to either a file (if open) or the console */ + + if (AcpiGbl_DebugFile) + { + /* Output file is open, send the output there */ + + Count = vfprintf (AcpiGbl_DebugFile, Fmt, Args); + } + else + { + /* No redirection, send output to console (once only!) */ + + Flags |= ACPI_DB_CONSOLE_OUTPUT; + } + } + + if (Flags & ACPI_DB_CONSOLE_OUTPUT) + { + Count = vfprintf (AcpiGbl_OutputFile, Fmt, Args); + } + + return; +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsGetLine + * + * PARAMETERS: fmt Standard printf format + * args Argument list + * + * RETURN: Actual bytes read + * + * DESCRIPTION: Formatted input with argument list pointer + * + *****************************************************************************/ + +UINT32 +AcpiOsActualGetLine ( + char *Buffer) +{ + char Temp; + UINT32 i; + + + for (i = 0; ; i++) + { + scanf ("%1c", &Temp); + if (!Temp || Temp == '\n') + { + break; + } + + Buffer [i] = Temp; + } + + /* Null terminate the buffer */ + + Buffer [i] = 0; + + /* Return the number of bytes in the string */ + + return (i); +} + +/****************************************************************************** + * + * FUNCTION: AcpiOsMapMemory + * + * PARAMETERS: where Physical address of memory to be mapped + * length How much memory to map + * there Logical address of mapped memory + * + * RETURN: Pointer to mapped memory. Null on error. + * + * DESCRIPTION: Map physical memory into caller's address space + * + *****************************************************************************/ +/* +ACPI_STATUS +AcpiOsActualMapMemory ( + UINT64 where, + ACPI_SIZE length, + void **there) +{ + + *there = ACPI_TO_POINTER ((ACPI_NATIVE_UINT) where); + + return (AE_OK); +} +*/ +void * +AcpiOsActualMapMemory ( + ACPI_PHYSICAL_ADDRESS Where, + ACPI_SIZE Length) +{ + return ((void *)Where); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsUnmapMemory + * + * PARAMETERS: where Logical address of memory to be unmapped + * length How much memory to unmap + * + * RETURN: None. + * + * DESCRIPTION: Delete a previously created mapping. Where and Length must + * correspond to a previous mapping exactly. + * + *****************************************************************************/ + +void +AcpiOsActualUnmapMemory ( + void *where, + ACPI_SIZE length) +{ + + return; +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsAllocate + * + * PARAMETERS: Size Amount to allocate, in bytes + * + * RETURN: Pointer to the new allocation. Null on error. + * + * DESCRIPTION: Allocate memory. Algorithm is dependent on the OS. + * + *****************************************************************************/ + +void * +AcpiOsActualAllocate ( + ACPI_SIZE size) +{ + void *Mem; + + + Mem = (void *) malloc ((size_t) size); + + return (Mem); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsFree + * + * PARAMETERS: mem Pointer to previously allocated memory + * + * RETURN: None. + * + * DESCRIPTION: Free memory allocated via AcpiOsAllocate + * + *****************************************************************************/ + +void +AcpiOsActualFree ( + void *Mem) +{ + + free (Mem); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsCreateSemaphore + * + * PARAMETERS: MaxUnits - Maximum units that can be sent + * InitialUnits - Units to be assigned to the new semaphore + * OutHandle - Where a handle will be returned + * + * RETURN: Status + * + * DESCRIPTION: Create an OS semaphore + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualCreateSemaphore ( + UINT32 MaxUnits, + UINT32 InitialUnits, + ACPI_HANDLE *OutHandle) +{ +#ifdef _MULTI_THREADED + void *Mutex; + UINT32 i; + + ACPI_FUNCTION_NAME (OsCreateSemaphore); +#endif + + + if (MaxUnits == ACPI_UINT32_MAX) + { + MaxUnits = 255; + } + + if (InitialUnits == ACPI_UINT32_MAX) + { + InitialUnits = MaxUnits; + } + + if (InitialUnits > MaxUnits) + { + return (AE_BAD_PARAMETER); + } + +#ifdef _MULTI_THREADED + + /* Find an empty slot */ + + for (i = 0; i < NUM_SEMAPHORES; i++) + { + if (!AcpiGbl_Semaphores[i].OsHandle) + { + break; + } + } + if (i >= NUM_SEMAPHORES) + { + return (AE_LIMIT); + } + + /* Create an OS semaphore */ + + Mutex = CreateSemaphore (NULL, InitialUnits, MaxUnits, NULL); + if (!Mutex) + { + ACPI_ERROR ((AE_INFO, "Could not create semaphore")); + return (AE_NO_MEMORY); + } + + AcpiGbl_Semaphores[i].MaxUnits = (UINT16) MaxUnits; + AcpiGbl_Semaphores[i].CurrentUnits = (UINT16) InitialUnits; + AcpiGbl_Semaphores[i].OsHandle = Mutex; + + ACPI_DEBUG_PRINT ((ACPI_DB_MUTEX, "Handle=%d, Max=%d, Current=%d, OsHandle=%p\n", + i, MaxUnits, InitialUnits, Mutex)); + + *OutHandle = (void *) i; +#endif + + return (AE_OK); +} + +/****************************************************************************** + * + * FUNCTION: AcpiOsDeleteSemaphore + * + * PARAMETERS: Handle - Handle returned by AcpiOsCreateSemaphore + * + * RETURN: Status + * + * DESCRIPTION: Delete an OS semaphore + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualDeleteSemaphore ( + ACPI_HANDLE Handle) +{ + UINT32 Index = (UINT32) Handle; + + + if ((Index >= NUM_SEMAPHORES) || + !AcpiGbl_Semaphores[Index].OsHandle) + { + return (AE_BAD_PARAMETER); + } + + +#ifdef _MULTI_THREADED + + CloseHandle (AcpiGbl_Semaphores[Index].OsHandle); + AcpiGbl_Semaphores[Index].OsHandle = NULL; +#endif + + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsWaitSemaphore + * + * PARAMETERS: Handle - Handle returned by AcpiOsCreateSemaphore + * Units - How many units to wait for + * Timeout - How long to wait + * + * RETURN: Status + * + * DESCRIPTION: Wait for units + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualWaitSemaphore ( + ACPI_HANDLE Handle, + UINT32 Units, + UINT16 Timeout) +{ +#ifdef _MULTI_THREADED + UINT32 Index = (UINT32) Handle; + UINT32 WaitStatus; + UINT32 OsTimeout = Timeout; + + + ACPI_FUNCTION_ENTRY (); + + + if ((Index >= NUM_SEMAPHORES) || + !AcpiGbl_Semaphores[Index].OsHandle) + { + return (AE_BAD_PARAMETER); + } + + if (Units > 1) + { + printf ("WaitSemaphore: Attempt to receive %d units\n", Units); + return (AE_NOT_IMPLEMENTED); + } + + +/* TBD: Make this a command line option so that we can catch + * synchronization deadlocks + * + if (Timeout == INFINITE) + Timeout = 400000; +*/ + + if (Timeout == ACPI_WAIT_FOREVER) + { + OsTimeout = INFINITE; + } + else + { + /* Add 10ms to account for clock tick granularity */ + + OsTimeout += 10; + } + + WaitStatus = WaitForSingleObject (AcpiGbl_Semaphores[Index].OsHandle, OsTimeout); + if (WaitStatus == WAIT_TIMEOUT) + { +/* Make optional -- wait of 0 is used to detect if unit is available + ACPI_ERROR ((AE_INFO, "Timeout on semaphore %d", + Handle)); +*/ + return (AE_TIME); + } + + if (AcpiGbl_Semaphores[Index].CurrentUnits == 0) + { + ACPI_ERROR ((AE_INFO, "%s - No unit received. Timeout %X, OSstatus 0x%X", + AcpiUtGetMutexName (Index), Timeout, WaitStatus)); + + return (AE_OK); + } + + AcpiGbl_Semaphores[Index].CurrentUnits--; +#endif + + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsSignalSemaphore + * + * PARAMETERS: Handle - Handle returned by AcpiOsCreateSemaphore + * Units - Number of units to send + * + * RETURN: Status + * + * DESCRIPTION: Send units + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualSignalSemaphore ( + ACPI_HANDLE Handle, + UINT32 Units) +{ +#ifdef _MULTI_THREADED + + UINT32 Index = (UINT32) Handle; + + + ACPI_FUNCTION_ENTRY (); + + + if (Index >= NUM_SEMAPHORES) + { + printf ("SignalSemaphore: Index/Handle out of range: %2.2X\n", Index); + return (AE_BAD_PARAMETER); + } + + if (!AcpiGbl_Semaphores[Index].OsHandle) + { + printf ("SignalSemaphore: Null OS handle, Index %2.2X\n", Index); + return (AE_BAD_PARAMETER); + } + + if (Units > 1) + { + printf ("SignalSemaphore: Attempt to signal %d units, Index %2.2X\n", Units, Index); + return (AE_NOT_IMPLEMENTED); + } + + if ((AcpiGbl_Semaphores[Index].CurrentUnits + 1) > + AcpiGbl_Semaphores[Index].MaxUnits) + { + ACPI_ERROR ((AE_INFO, "Oversignalled semaphore[%d]! Current %d Max %d", + Index, AcpiGbl_Semaphores[Index].CurrentUnits, AcpiGbl_Semaphores[Index].MaxUnits)); + + return (AE_LIMIT); + } + + AcpiGbl_Semaphores[Index].CurrentUnits++; + ReleaseSemaphore (AcpiGbl_Semaphores[Index].OsHandle, Units, NULL); + +#endif + + return (AE_OK); +} + + +ACPI_STATUS +AcpiOsActualCreateLock ( + ACPI_HANDLE *OutHandle) +{ + + return (AcpiOsCreateSemaphore (1, 1, OutHandle)); +} + +void +AcpiOsActualDeleteLock ( + ACPI_HANDLE Handle) +{ + AcpiOsDeleteSemaphore (Handle); +} + + +ACPI_CPU_FLAGS +AcpiOsActualAcquireLock ( + ACPI_HANDLE Handle) +{ + AcpiOsWaitSemaphore (Handle, 1, 0xFFFF); + return (0); +} + + +void +AcpiOsActualReleaseLock ( + ACPI_HANDLE Handle, + ACPI_CPU_FLAGS Flags) +{ + AcpiOsSignalSemaphore (Handle, 1); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsInstallInterruptHandler + * + * PARAMETERS: InterruptNumber Level handler should respond to. + * Isr Address of the ACPI interrupt handler + * ExceptPtr Where status is returned + * + * RETURN: Handle to the newly installed handler. + * + * DESCRIPTION: Install an interrupt handler. Used to install the ACPI + * OS-independent handler. + * + *****************************************************************************/ + +UINT32 +AcpiOsActualInstallInterruptHandler ( + UINT32 InterruptNumber, + ACPI_OSD_HANDLER ServiceRoutine, + void *Context) +{ + + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsRemoveInterruptHandler + * + * PARAMETERS: Handle Returned when handler was installed + * + * RETURN: Status + * + * DESCRIPTION: Uninstalls an interrupt handler. + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualRemoveInterruptHandler ( + UINT32 InterruptNumber, + ACPI_OSD_HANDLER ServiceRoutine) +{ + + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsGetThreadId + * + * PARAMETERS: None + * + * RETURN: Id of the running thread + * + * DESCRIPTION: Get the Id of the current (running) thread + * + *****************************************************************************/ + +ACPI_THREAD_ID +AcpiOsActualGetThreadId ( + void) +{ + + return (GetCurrentThreadId ()); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsExecute + * + * PARAMETERS: Type - Type of execution + * Function - Address of the function to execute + * Context - Passed as a parameter to the function + * + * RETURN: Status + * + * DESCRIPTION: Execute a new thread + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualExecute ( + ACPI_EXECUTE_TYPE Type, + ACPI_OSD_EXEC_CALLBACK Function, + void *Context) +{ + +#ifdef _MULTI_THREADED + _beginthread (Function, (unsigned) 0, Context); +#endif + + return (0); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsWaitEventsComplete + * + * PARAMETERS: None + * + * RETURN: None + * + * DESCRIPTION: Wait for all asynchronous events to complete. This + * implementation does nothing. + * + *****************************************************************************/ + +void +AcpiOsWaitEventsComplete ( + void) +{ + return; +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsStall + * + * PARAMETERS: microseconds To sleep + * + * RETURN: Blocks until sleep is completed. + * + * DESCRIPTION: Sleep at microsecond granularity + * + *****************************************************************************/ + +void +AcpiOsActualStall ( + UINT32 microseconds) +{ + + Sleep ((microseconds / 1000) + 1); + return; +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsSleep + * + * PARAMETERS: milliseconds To sleep + * + * RETURN: Blocks until sleep is completed. + * + * DESCRIPTION: Sleep at millisecond granularity + * + *****************************************************************************/ + +void +AcpiOsActualSleep ( + ACPI_INTEGER milliseconds) +{ + + /* Add 10ms to account for clock tick granularity */ + + Sleep (((unsigned long) milliseconds) + 10); + return; +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsValidateInterface + * + * PARAMETERS: Interface - Requested interface to be validated + * + * RETURN: AE_OK if interface is supported, AE_SUPPORT otherwise + * + * DESCRIPTION: Match an interface string to the interfaces supported by the + * host. Strings originate from an AML call to the _OSI method. + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualValidateInterface ( + char *Interface) +{ + + return (AE_SUPPORT); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsValidateAddress + * + * PARAMETERS: SpaceId - ACPI space ID + * Address - Physical address + * Length - Address length + * + * RETURN: AE_OK if Address/Length is valid for the SpaceId. Otherwise, + * should return AE_AML_ILLEGAL_ADDRESS. + * + * DESCRIPTION: Validate a system address via the host OS. Used to validate + * the addresses accessed by AML operation regions. + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualValidateAddress ( + UINT8 SpaceId, + ACPI_PHYSICAL_ADDRESS Address, + ACPI_SIZE Length) +{ + + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsReadPciConfiguration + * + * PARAMETERS: PciId Seg/Bus/Dev + * Register Device Register + * Value Buffer where value is placed + * Width Number of bits + * + * RETURN: Status + * + * DESCRIPTION: Read data from PCI configuration space + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualReadPciConfiguration ( + ACPI_PCI_ID *PciId, + UINT32 Register, + UINT64 *Value, + UINT32 Width) +{ + + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsWritePciConfiguration + * + * PARAMETERS: PciId Seg/Bus/Dev + * Register Device Register + * Value Value to be written + * Width Number of bits + * + * RETURN: Status. + * + * DESCRIPTION: Write data to PCI configuration space + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualWritePciConfiguration ( + ACPI_PCI_ID *PciId, + UINT32 Register, + ACPI_INTEGER Value, + UINT32 Width) +{ + + return (AE_OK); +} + +/* TEMPORARY STUB FUNCTION */ +void +AcpiOsActualDerivePciId( + ACPI_HANDLE rhandle, + ACPI_HANDLE chandle, + ACPI_PCI_ID **PciId) +{ + + return; +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsReadPort + * + * PARAMETERS: Address Address of I/O port/register to read + * Value Where value is placed + * Width Number of bits + * + * RETURN: Value read from port + * + * DESCRIPTION: Read data from an I/O port or register + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualReadPort ( + ACPI_IO_ADDRESS Address, + UINT32 *Value, + UINT32 Width) +{ + + switch (Width) + { + case 8: + *Value = 0xFF; + break; + + case 16: + *Value = 0xFFFF; + break; + + case 32: + *Value = 0xFFFFFFFF; + break; + + default: + return (AE_BAD_PARAMETER); + } + + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsWritePort + * + * PARAMETERS: Address Address of I/O port/register to write + * Value Value to write + * Width Number of bits + * + * RETURN: None + * + * DESCRIPTION: Write data to an I/O port or register + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualWritePort ( + ACPI_IO_ADDRESS Address, + UINT32 Value, + UINT32 Width) +{ + + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsReadMemory + * + * PARAMETERS: Address Physical Memory Address to read + * Value Where value is placed + * Width Number of bits + * + * RETURN: Value read from physical memory address. Always returned + * as a 32-bit integer, regardless of the read width. + * + * DESCRIPTION: Read data from a physical memory address + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualReadMemory ( + ACPI_PHYSICAL_ADDRESS Address, + UINT64 *Value, + UINT32 Width) +{ + + switch (Width) + { + case 8: + case 16: + case 32: + case 64: + *Value = 0; + break; + + default: + return (AE_BAD_PARAMETER); + break; + } + + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsWriteMemory + * + * PARAMETERS: Address Physical Memory Address to write + * Value Value to write + * Width Number of bits + * + * RETURN: None + * + * DESCRIPTION: Write data to a physical memory address + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualWriteMemory ( + ACPI_PHYSICAL_ADDRESS Address, + UINT64 Value, + UINT32 Width) +{ + + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: AcpiOsSignal + * + * PARAMETERS: Function ACPI CA signal function code + * Info Pointer to function-dependent structure + * + * RETURN: Status + * + * DESCRIPTION: Miscellaneous functions + * + *****************************************************************************/ + +ACPI_STATUS +AcpiOsActualSignal ( + UINT32 Function, + void *Info) +{ + + switch (Function) + { + case ACPI_SIGNAL_FATAL: + break; + + case ACPI_SIGNAL_BREAKPOINT: + + if (Info) + { + AcpiOsPrintf ("AcpiOsBreakpoint: %s ****\n", Info); + } + else + { + AcpiOsPrintf ("At AcpiOsBreakpoint ****\n"); + } + + break; + } + + return (AE_OK); +} diff --git a/tests/aapits/spec/AAPITS.xls b/tests/aapits/spec/AAPITS.xls new file mode 100755 index 0000000..2205820 Binary files /dev/null and b/tests/aapits/spec/AAPITS.xls differ diff --git a/tests/aapits/spec/AAPITS0.xls b/tests/aapits/spec/AAPITS0.xls new file mode 100755 index 0000000..26a5283 Binary files /dev/null and b/tests/aapits/spec/AAPITS0.xls differ diff --git a/tests/aapits/spec/README b/tests/aapits/spec/README new file mode 100755 index 0000000..b5a5b9c --- /dev/null +++ b/tests/aapits/spec/README @@ -0,0 +1,34 @@ + +CONTENTS + + This directory (spec) contains text files of tests specification + of ACPICA API validation Test Suite (AAPITS). + + AAPITS verifies, in emulating mode, conformity of the ACPICA API + implementation to the definitions in ACPI Component Architecture + Programmer Reference (ACPICA ProgRef). + +concepts.txt + Short look at the API testing concepts + + + There are 9 specification files (one for each test case) relevant + to the following chapters ACPICA ProgRef respectivly: + + Spec file Chapter + +init.txt 6.1 Subsystem Initialization, Shutdown, and Status +memory.txt 6.2 Memory Management +hardware.txt 6.3 ACPI Hardware Management +table.txt 6.4 ACPI Table Management +namespace.txt 6.5 ACPI Namespace Access +resource.txt 6.6 ACPI Resource Management +fixed.txt 6.7 ACPI Fixed Event Management +gpe.txt 6.8 ACPI General Purpose Event Management +handlers.txt 6.9 ACPI Miscellaneous Handler Support + +AAPITS.xls + Summary data of the AAPITS implementation state in MSExcel format. + +README + This file \ No newline at end of file diff --git a/tests/aapits/spec/concepts.txt b/tests/aapits/spec/concepts.txt new file mode 100755 index 0000000..7ba80ae --- /dev/null +++ b/tests/aapits/spec/concepts.txt @@ -0,0 +1,55 @@ + ACPICA API implementation testing concepts. + + The test suite is intended to check the conformance of +the ACPICA Core Subsystem API implementation to the definitions +in the ACPICA ProgRef and expected Core Subsystem's behavior to +ACPI 3.0b Spec. + + The architecture of the Core Subsystem determines that it +interacts with other parts of a platform through the OS-dependent +layer of interfaces (OSL - AcpiOS* functions) and delivers its services +as a set of predefined external component interfaces (API functions). +These component interfaces provide host OS with the common ACPI +functionality and it is worth efforts to make certain that the API +implementation is in agreement with the documentation and has no +latent anomalies. + + Each API function should be checked if it is successfully +executed on the correctly specified parameters and properly reacts +when some invalid conditions have been established. These checks +can be passed in emulating mode because they do not touch any +hardware or host OS dependencies. + + To consume the Core Subsystem functionality in emulating mode +the ACPICA API Test Suite utility is compiled with the ACPICA sources +statically (ACPI_APPLICATION macros is defined) to be run having some +standalone pure model of the real Core Subsystem and accessing to the +API functions being a part of the application immediately. + + There are the following sources of data that can influence +the result of some API function call: +- contents and defects of the ACPI tables used to initialize the Core; +- contents of the ACPI Namespace build on base of the test specific DSDT + and SSDT tables; +- invalid parameters of a function; +- failures of the OSL functions called from the Core for OS-specific + services (like memory allocation, synchronization, access to hardware); +- faults of the ACPI hardware. + + All kinds of the impact above is exercised during testing and +the results mentioned in the tests specifications is checked. + + Additional requirements are imposed due to expectation of the +Core behavior to be exactly like loadable module so that smooth +cleanup should be done when the Core Subsystem is shuted down +or can not be successfully initialized. So appropriate checks +are provided. + + There are a number of the complex issues of ACPI specification +implementation left out of view of the TS: +- Completeness of implementation of ACPI features; +- Multitasking and Reentrancy; +- Implementation of ACPI hardware specific; +- Interaction with a platform on Event Handling; +- Exercising a sensible set of exceptional conditions. + diff --git a/tests/aapits/spec/fixed.txt b/tests/aapits/spec/fixed.txt new file mode 100755 index 0000000..89c7121 --- /dev/null +++ b/tests/aapits/spec/fixed.txt @@ -0,0 +1,244 @@ +/* + * The following assertions are based on description of + * ACPI Fixed Event Management interfaces provided by ACPICA + * (section 6.7 "ACPI Fixed Event Management" of ACPICA ProgRef, + * routines AcpiEnableEvent, AcpiDisableEvent, AcpiClearEvent, + * AcpiGetEventStatus, AcpiInstallFixedEventHandler, + * AcpiRemoveFixedEventHandler). + * + */ + +/* + * ASSERTION 0000: + * + * AcpiEnableEvent routine can be successfully used to request enabling + * of the single ACPI fixed event specified by the Event parameter + * (ACPI_EVENT_PMTIMER, ACPI_EVENT_GLOBAL, ACPI_EVENT_POWER_BUTTON, + * ACPI_EVENT_SLEEP_BUTTON, or ACPI_EVENT_RTC). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEnableEvent, + */ + +/* + * ASSERTION 0001: + * + * When the Event parameter of AcpiEnableEvent routine is invalid + * AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEnableEvent, + */ + +/* + * ASSERTION 0002: + * + * AcpiDisableEvent routine can be successfully used to request disabling + * of the single ACPI fixed event specified by the Event parameter + * (ACPI_EVENT_PMTIMER, ACPI_EVENT_GLOBAL, ACPI_EVENT_POWER_BUTTON, + * ACPI_EVENT_SLEEP_BUTTON, or ACPI_EVENT_RTC). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEnableEvent, AcpiDisableEvent, + */ + +/* + * ASSERTION 0003: + * + * When the Event parameter of AcpiDisableEvent routine is invalid + * AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEnableEvent, AcpiDisableEvent, + */ + +/* + * ASSERTION 0004: + * + * AcpiClearEvent routine can be successfully used to request clearing + * (zero the status bit for) of the single ACPI fixed event specified + * by the Event parameter (ACPI_EVENT_PMTIMER, ACPI_EVENT_GLOBAL, + * ACPI_EVENT_POWER_BUTTON, ACPI_EVENT_SLEEP_BUTTON, or ACPI_EVENT_RTC). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEnableEvent, AcpiClearEvent, + */ + +/* + * ASSERTION 0005: + * + * When the Event parameter of AcpiClearEvent routine is invalid + * AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEnableEvent, AcpiClearEvent, + */ + +/* + * ASSERTION 0006: + * + * AcpiGetEventStatus routine can be successfully used to request + * obtaining of the current status of the single ACPI fixed event + * specified by the Event parameter (ACPI_EVENT_PMTIMER, + * ACPI_EVENT_GLOBAL, ACPI_EVENT_POWER_BUTTON, + * ACPI_EVENT_SLEEP_BUTTON, or ACPI_EVENT_RTC). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEnableEvent, AcpiGetEventStatus, + */ + +/* + * ASSERTION 0007: + * + * When the Event parameter of AcpiGetEventStatus routine is invalid + * AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEnableEvent, AcpiGetEventStatus, + */ + +/* + * ASSERTION 0008: + * + * When the EventStatus parameter of AcpiGetEventStatus routine is NULL + * AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEnableEvent, AcpiGetEventStatus, + */ + +/* + * ASSERTION 0009: + * + * AcpiInstallFixedEventHandler routine can be successfully used to request + * installation of the specified handler for a predefined fixed event. The + * handler passed with appropriate parameters could be called whenever the + * particular fixed event it was installed to handle has occured. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallFixedEventHandler + */ + + +/* + * ASSERTION 0010: + * + * When the Event parameter of AcpiInstallFixedEventHandler routine is + * invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallFixedEventHandler + */ + +/* + * ASSERTION 0011: + * + * When the Handler pointer parameter of AcpiInstallFixedEventHandler + * routine is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallFixedEventHandler + */ + +/* + * ASSERTION 0012: + * + * If fixed event enable register can not be written AE_ERROR exception + * code is returned from AcpiInstallFixedEventHandler routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallFixedEventHandler + */ + +/* + * ASSERTION 0013: + * + * If a handler for the given event is already installed AE_ALREADY_EXISTS + * exception code is returned from AcpiInstallFixedEventHandler routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallFixedEventHandler + */ + +/* + * ASSERTION 0014: + * + * AcpiRemoveFixedEventHandler routine can be successfully used to request + * removing of the installed handler for a predefined fixed event. The handler + * would never be called whenever the particular fixed event has occured. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallFixedEventHandler, AcpiRemoveFixedEventHandler + */ + + +/* + * ASSERTION 0015: + * + * When the Event parameter of AcpiRemoveFixedEventHandler routine is + * invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallFixedEventHandler, AcpiRemoveFixedEventHandler + */ + +/* + * ASSERTION 0016: + * + * When the Handler pointer parameter of AcpiRemoveFixedEventHandler + * routine is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallFixedEventHandler, AcpiRemoveFixedEventHandler + */ + +/* + * ASSERTION 0017: + * + * If fixed event enable register can not be written AE_ERROR exception + * code is returned from AcpiRemoveFixedEventHandler routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallFixedEventHandler, AcpiRemoveFixedEventHandler + */ + +/* + * ASSERTION 0018: + * + * When the Handler pointer parameter of AcpiRemoveFixedEventHandler + * routine is not the same as the one that is installed AE_BAD_PARAMETER + * exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallFixedEventHandler, AcpiRemoveFixedEventHandler + */ + +/* + * ASSERTION 0019: + * + * If a handler for the given event is not installed AE_NOT_EXIST + * exception code is returned from AcpiRemoveFixedEventHandler routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiRemoveFixedEventHandler + */ diff --git a/tests/aapits/spec/general.txt b/tests/aapits/spec/general.txt new file mode 100755 index 0000000..13cdbc5 --- /dev/null +++ b/tests/aapits/spec/general.txt @@ -0,0 +1,600 @@ +/* + * The following assertions are based on description of + * ACPI General Purpose Event Management interfaces provided by ACPICA + * (section 6.8 "ACPI General Purpose Event Management" of ACPICA ProgRef, + * routines AcpiInstallGpeBlock, AcpiRemoveGpeBlock, AcpiEnableGpe, + * AcpiClearGpe, AcpiGetGpeStatus, AcpiDisableGpe, AcpiSetGpeType, + * AcpiInstallGpeHandler, AcpiRemoveGpeHandler). + * + */ + +/* + * ASSERTION 0000: + * + * AcpiInstallGpeBlock routine can be successfully used to install + * the named GPE Block Device specified by the correct GpeDevice handle + * and GpeBlockAddress pointer parameters. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock + */ + +/* + * ASSERTION 0001: + * + * When the GpeDevice handle parameter of AcpiInstallGpeBlock routine + * is invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock + */ + +/* + * ASSERTION 0002: + * + * When the GpeDevice handle parameter of AcpiInstallGpeBlock routine + * does not refer to valid GPE Block Device AE_BAD_PARAMETER exception + * code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock + */ + +/* + * ASSERTION 0003: + * + * When the GpeBlockAddress pointer parameter of AcpiInstallGpeBlock routine + * is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock + */ + +/* + * ASSERTION 0004: + * + * When the RegisterCount parameter of AcpiInstallGpeBlock routine + * is zero AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock + */ + +/* + * ASSERTION 0005: + * + * If some call to AcpiOsAllocate routine during execution + * of AcpiInstallGpeBlock routine returns NULL then AE_NO_MEMORY + * exception code is returned (insufficient dynamic memory to + * complete the request). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiRemoveGpeBlock + */ + +/* + * ASSERTION 0006: + * + * AcpiRemoveGpeBlock routine can be successfully used to remove + * the named GPE Block Device specified by the correct GpeDevice + * handle. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiRemoveGpeBlock + */ + +/* + * ASSERTION 0007: + * + * When the GpeDevice handle parameter of AcpiRemoveGpeBlock routine + * is invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiRemoveGpeBlock + */ + +/* + * ASSERTION 0008: + * + * AcpiSetGpeType routine can be successfully used to set requested Type + * of the single General Purpose Event specified by the GpeNumber parameter + * for the permanent GPE Block Device. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiSetGpeType, + */ + +/* + * ASSERTION 0009: + * + * AcpiSetGpeType routine can be successfully used to set requested Type + * of the single General Purpose Event specified by the GpeNumber parameter + * for the given initialized named GPE Block Device. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiSetGpeType, + */ + +/* + * ASSERTION 0010: + * + * When the GpeDevice parameter of AcpiSetGpeType routine is invalid + * AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiSetGpeType + */ + + +/* + * ASSERTION 0011: + * + * When the GpeDevice parameter of AcpiSetGpeType routine does not + * refer to a valid GPE Block Device AE_BAD_PARAMETER exception code + * is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiSetGpeType, + */ + +/* + * ASSERTION 0012: + * + * When the GpeNumber parameter of AcpiSetGpeType routine is out + * of range for the referenced GpeDevice AE_BAD_PARAMETER exception + * code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiSetGpeType + */ + +/* + * ASSERTION 0013: + * + * When the Type parameter of AcpiSetGpeType routine is invalid + * (have different from WAKE and RUN bits) AE_BAD_PARAMETER exception + * code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiSetGpeType + */ + +/* + * ASSERTION 0014: + * + * AcpiEnableGpe routine can be successfully used to request enabling + * of the single General Purpose Event specified by the GpeNumber parameter + * for the permanent GPE Block Device. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiSetGpeType, AcpiEnableGpe, + */ + +/* + * ASSERTION 0015: + * + * AcpiEnableGpe routine can be successfully used to request enabling + * of the single General Purpose Event specified by the GpeNumber parameter + * for the given initialized named GPE Block Device. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiSetGpeType, + * AcpiEnableGpe + */ + +/* + * ASSERTION 0016: + * + * When the GpeDevice parameter of AcpiEnableGpe routine is invalid + * AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiSetGpeType, AcpiEnableGpe + */ + +/* + * ASSERTION 0017: + * + * When the GpeDevice parameter of AcpiEnableGpe routine does not + * refer to a valid GPE Block Device AE_BAD_PARAMETER exception code + * is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiSetGpeType, + * AcpiEnableGpe + */ + +/* + * ASSERTION 0018: + * + * When the GpeNumber parameter of AcpiEnableGpe routine is out + * of range for the referenced GpeDevice AE_BAD_PARAMETER exception + * code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiSetGpeType, + * AcpiEnableGpe + */ + +/* + * ASSERTION 0019: + * + * AcpiClearGpe routine can be successfully used to request clearing + * of the single General Purpose Event specified by the GpeNumber parameter + * for the permanent GPE Block Device. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiSetGpeType, AcpiEnableGpe, + * AcpiClearGpe + */ + +/* + * ASSERTION 0020: + * + * AcpiClearGpe routine can be successfully used to request clearing + * of the single General Purpose Event specified by the GpeNumber parameter + * for the given initialized named GPE Block Device. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiSetGpeType, + * AcpiEnableGpe, AcpiClearGpe + */ + +/* + * ASSERTION 0021: + * + * When the GpeDevice parameter of AcpiClearGpe routine is invalid + * AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiSetGpeType, AcpiEnableGpe, + * AcpiClearGpe + */ + +/* + * ASSERTION 0022: + * + * When the GpeDevice parameter of AcpiClearGpe routine does not + * refer to a valid GPE Block Device AE_BAD_PARAMETER exception code + * is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiSetGpeType, + * AcpiEnableGpe, AcpiClearGpe + */ + +/* + * ASSERTION 0023: + * + * When the GpeNumber parameter of AcpiClearGpe routine is out + * of range for the referenced GpeDevice AE_BAD_PARAMETER exception + * code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiSetGpeType, + * AcpiEnableGpe, AcpiClearGpe + */ + +/* + * ASSERTION 0024: + * + * AcpiGetGpeStatus routine can be successfully used to + * obtain the status of the single General Purpose Event + * specified by the GpeNumber parameter for the permanent + * GPE Block Device. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEnableGpe, AcpiSetGpeType, + * AcpiGetGpeStatus + */ + +/* + * ASSERTION 0025: + * + * AcpiGetGpeStatus routine can be successfully used to obtain + * the status of the single General Purpose Event specified by + * the GpeNumber parameter for the given initialized named GPE + * Block Device. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiSetGpeType, + * AcpiEnableGpe, AcpiGetGpeStatus + */ + +/* + * ASSERTION 0026: + * + * When the GpeDevice parameter of AcpiGetGpeStatus routine + * is invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiSetGpeType, + * AcpiEnableGpe, AcpiGetGpeStatus + */ + +/* + * ASSERTION 0027: + * + * When the GpeDevice parameter of AcpiGetGpeStatus routine + * does not refer to a valid GPE Block Device AE_BAD_PARAMETER + * exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiSetGpeType, + * AcpiEnableGpe, AcpiGetGpeStatus + */ + +/* + * ASSERTION 0028: + * + * When the GpeNumber parameter of AcpiGetGpeStatus routine is out + * of range for the referenced GpeDevice AE_BAD_PARAMETER exception + * code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiSetGpeType, + * AcpiEnableGpe, AcpiGetGpeStatus + */ + +/* + * ASSERTION 0029: + * + * When the EventStatus parameter of AcpiGetGpeStatus routine + * is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiSetGpeType, AcpiEnableGpe, + * AcpiGetGpeStatus + */ + +/* + * ASSERTION 0030: + * + * AcpiDisableGpe routine can be successfully used to request disabling + * of the single General Purpose Event specified by the GpeNumber parameter + * for the permanent GPE Block Device. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiSetGpeType, AcpiEnableGpe, + * AcpiDisableGpe + */ + +/* + * ASSERTION 0031: + * + * AcpiDisableGpe routine can be successfully used to request disabling + * of the single General Purpose Event specified by the GpeNumber parameter + * for the given initialized named GPE Block Device. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiSetGpeType, + * AcpiEnableGpe, AcpiDisableGpe + */ + +/* + * ASSERTION 0032: + * + * When the GpeDevice parameter of AcpiDisableGpe routine is invalid + * AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiSetGpeType, AcpiEnableGpe, + * AcpiDisableGpe + */ + +/* + * ASSERTION 0033: + * + * When the GpeDevice parameter of AcpiDisableGpe routine does not + * refer to a valid GPE Block Device AE_BAD_PARAMETER exception code + * is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiSetGpeType + * AcpiEnableGpe, AcpiDisableGpe + */ + +/* + * ASSERTION 0034: + * + * When the GpeNumber parameter of AcpiDisableGpe routine is out + * of range for the referenced GpeDevice AE_BAD_PARAMETER exception + * code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiSetGpeType + * AcpiEnableGpe, AcpiDisableGpe + */ + +/* + * ASSERTION 0035: + * + * AcpiInstallGpeHandler routine can be successfully used to request + * installation of the specified handler for the given general-purpose + * event. The handler passed with appropriate parameters could be called + * whenever the particular general-purpose event it was installed to handle + * had occured. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiInstallGpeHandler + */ + +/* + * ASSERTION 0036: + * + * When the GpeDevice parameter of AcpiInstallGpeHandler routine is + * invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiInstallGpeHandler + */ + +/* + * ASSERTION 0037: + * + * When the GpeDevice parameter of AcpiInstallGpeHandler routine does + * not refer to a valid GPE Block Device AE_BAD_PARAMETER exception code + * is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeHandler + */ + +/* + * ASSERTION 0038: + * + * When the GpeNumber parameter of AcpiInstallGpeHandler routine is + * out of range for the referenced GpeDevice AE_BAD_PARAMETER exception + * code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeHandler + */ + +/* + * ASSERTION 0039: + * + * When the Handler pointer parameter of AcpiInstallGpeHandler + * routine is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiInstallGpeHandler + */ + +/* + * ASSERTION 0040: + * + * If a handler for the given event is already installed AE_EXIST + * exception code is returned from AcpiInstallGpeHandler routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiInstallGpeHandler + */ + +/* + * ASSERTION 0041: + * + * AcpiRemoveGpeHandler routine can be successfully used to request + * removing of the installed handler for the given general-purpose + * event. The handler would not be called whenever the particular + * general-purpose event had occured. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiInstallGpeHandler + * AcpiRemoveGpeHandler + */ + +/* + * ASSERTION 0042: + * + * When the GpeDevice parameter of AcpiRemoveGpeHandler routine is + * invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiInstallGpeHandler + * AcpiRemoveGpeHandler + */ + +/* + * ASSERTION 0043: + * + * When the GpeDevice parameter of AcpiRemoveGpeHandler routine does + * not refer to a valid GPE Block Device AE_BAD_PARAMETER exception code + * is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiRemoveGpeHandler + */ + +/* + * ASSERTION 0044: + * + * When the GpeNumber parameter of AcpiRemoveGpeHandler routine is + * out of range for the referenced GpeDevice AE_BAD_PARAMETER exception + * code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiInstallGpeHandler + * AcpiRemoveGpeHandler + */ + +/* + * ASSERTION 0045: + * + * When the Handler pointer parameter of AcpiRemoveGpeHandler + * routine is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiInstallGpeHandler + * AcpiRemoveGpeHandler + */ + +/* + * ASSERTION 0046: + * + * When the Handler pointer parameter of AcpiRemoveGpeHandler + * routine is not the same as the one that is installed AE_BAD_PARAMETER + * exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiInstallGpeHandler + * AcpiRemoveGpeHandler + */ + +/* + * ASSERTION 0047: + * + * If a handler for the given event is not installed AE_NOT_EXIST + * exception code is returned from AcpiRemoveGpeHandler routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallGpeBlock, AcpiRemoveGpeHandler + */ diff --git a/tests/aapits/spec/handlers.txt b/tests/aapits/spec/handlers.txt new file mode 100755 index 0000000..db2f59e --- /dev/null +++ b/tests/aapits/spec/handlers.txt @@ -0,0 +1,444 @@ +/* + * The following assertions are based on description of + * ACPI Handler Support interfaces provided by ACPICA + * (section 6.9 "ACPI Miscellaneous Handler Support" of ACPICA ProgRef, + * routines AcpiInstallNotifyHandler, AcpiRemoveNotifyHandler, + * AcpiInstallAddressSpaceHandler, AcpiRemoveAddressSpaceHandler). + * + */ + +/* + * ASSERTION 0000: + * + * AcpiInstallNotifyHandler routine can be successfully used to install the + * specified global (ACPI_ROOT_OBJECT) handler for given notify type events + * (ACPI_SYSTEM_NOTIFY or ACPI_DEVICE_NOTIFY). The handler passed with + * appropriate parameters is called for every notify of the type specified. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallNotifyHandler + */ + +/* + * ASSERTION 0001: + * + * AcpiInstallNotifyHandler routine can be successfully used to install + * the specified handler for notify events on the given ACPI object (Device, + * Processor, Power, or Thermal Zone). The handler passed with appropriate + * parameters is called whenever a notify occurs on the target object. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallNotifyHandler + */ + +/* + * ASSERTION 0002: + * + * When the Object handle parameter of AcpiInstallNotifyHandler routine + * is invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallNotifyHandler + */ + +/* + * ASSERTION 0003: + * + * When the Type parameter of AcpiInstallNotifyHandler routine is + * not a valid value AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallNotifyHandler + */ + +/* + * ASSERTION 0004: + * + * When the Handler pointer parameter of AcpiInstallNotifyHandler routine + * is NULL the AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallNotifyHandler + */ + +/* + * ASSERTION 0005: + * + * If a handler for the given Object is already installed AE_ALREADY_EXISTS + * exception code is returned from AcpiInstallNotifyHandler. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallNotifyHandler + */ + +/* + * ASSERTION 0006: + * + * When the type of the Object parameter of AcpiInstallNotifyHandler routine + * is not one of the supported object types AE_TYPE exception code + * is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallNotifyHandler + */ + +/* + * ASSERTION 0007: + * + * If some call to AcpiOsAllocate routine during execution + * of AcpiInstallNotifyHandler routine returns NULL then AE_NO_MEMORY + * exception code is returned (insufficient dynamic memory to complete + * the request). Object parameter is eqaul to ACPI_ROOT_OBJECT. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallNotifyHandler + */ + +/* + * ASSERTION 0008: + * + * ASSERTION 0007 when Device parameter is an actual Object's Handle. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallNotifyHandler + */ + +/* + * ASSERTION 0009: + * + * AcpiRemoveNotifyHandler routine can be successfully used to remove + * the global handler for notify events that was previously installed + * via a call to AcpiInstallNotifyHandler. Then the handler will not be + * called whenever a notify of the type occurs. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallNotifyHandler, AcpiRemoveNotifyHandler + */ + +/* + * ASSERTION 0010: + * + * AcpiRemoveNotifyHandler routine can be successfully used to remove + * the handler for notify events that was previously installed on the + * target object via a call to AcpiInstallNotifyHandler. Then the handler + * will not be called whenever a notify on the object occurs. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallNotifyHandler, AcpiRemoveNotifyHandler + */ + +/* + * ASSERTION 0011: + * + * When the Device handler parameter of AcpiRemoveNotifyHandler routine + * is invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallNotifyHandler, AcpiRemoveNotifyHandler + */ + +/* + * ASSERTION 0012: + * + * When the Type parameter of AcpiRemoveNotifyHandler routine is + * not a valid value AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallNotifyHandler, AcpiRemoveNotifyHandler + */ + +/* + * ASSERTION 0013: + * + * When the Handler pointer parameter of AcpiRemoveNotifyHandler + * routine is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallNotifyHandler, AcpiRemoveNotifyHandler + */ + +/* + * ASSERTION 0014: + * + * If a handler for the given Object is not installed AE_NOT_EXIST + * exception code is returned from AcpiRemoveNotifyHandler routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiRemoveNotifyHandler + */ + +/* + * ASSERTION 0015: + * + * When the Handler pointer parameter of AcpiRemoveNotifyHandler + * routine is not the same as the one that is installed AE_BAD_PARAMETER + * exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallNotifyHandler, AcpiRemoveNotifyHandler + */ + +/* + * ASSERTION 0016: + * + * AcpiInstallAddressSpaceHandler routine can be successfully used + * to install the specified global scope (ACPI_ROOT_OBJECT) address + * space setup and access handlers for the given AddressSpace or Operation + * Region ID. The setup handler passed with appropriate parameters is invoked + * to both initialize and terminate the operation region handling code. The + * access handler passed with appropriate parameters is invoked whenever AML + * code attempts to access the target Operation Region. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallAddressSpaceHandler + */ + +/* + * ASSERTION 0017: + * + * ASSERTION 0016 in case a named ACPI object (Device, Processor, or + * Thermal Zone) owning relevant Operation Regions is specified as + * Device handle parameter of AcpiInstallAddressSpaceHandler routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallAddressSpaceHandler + */ + +/* + * ASSERTION 0018: + * + * ASSERTION 0016 in case ACPI_DEFAULT_HANDLER is used as access Handler + * parameter of AcpiInstallAddressSpaceHandler routine to install the handler + * supplied with by the ACPI CA for that address space ID. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallAddressSpaceHandler + */ + +/* + * ASSERTION 0019: + * + * ASSERTION 0017 in case ACPI_DEFAULT_HANDLER is used as access Handler + * parameter of AcpiInstallAddressSpaceHandler routine to install the handler + * supplied with by the ACPI CA for that address space ID. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallAddressSpaceHandler + */ + +/* + * ASSERTION 0020: + * + * When the Device handle parameter of AcpiInstallAddressSpaceHandler routine + * does not refer to an object of type Device, Processor, ThermalZone, or the + * root object AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallAddressSpaceHandler + */ + +/* + * ASSERTION 0021: + * + * When the Device handler parameter of AcpiInstallAddressSpaceHandler routine + * is invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallAddressSpaceHandler + */ + +/* + * ASSERTION 0022: + * + * When the SpaceId parameter of AcpiInstallAddressSpaceHandler routine + * is invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallAddressSpaceHandler + */ + +/* + * ASSERTION 0023: + * + * When the Handler pointer parameter of AcpiInstallAddressSpaceHandler + * routine is NULL the AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallAddressSpaceHandler + */ + +/* + * ASSERTION 0024: + * + * If some setup or access handler for the given Device is already installed + * AE_ALREADY_EXISTS exception code is returned from AcpiInstallAddressSpaceHandler. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallAddressSpaceHandler + */ + +/* + * ASSERTION 0025: + * + * When ACPI_DEFAULT_HANDLER is specified for an address space that + * has no default handler AE_NOT_EXIST exception code is returned from + * AcpiInstallAddressSpaceHandler. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallAddressSpaceHandler + */ + +/* + * ASSERTION 0026: + * + * If some call to AcpiOsAllocate routine during execution + * of AcpiInstallAddressSpaceHandler routine returns NULL then + * AE_NO_MEMORY exception code is returned (insufficient dynamic + * memory to complete the request). Device parameter is equal to + * ACPI_ROOT_OBJECT. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallAddressSpaceHandler + */ + +/* + * ASSERTION 0027: + * + * ASSERTION 0026 when Device parameter is an actual Object's Handle. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallAddressSpaceHandler + */ + +/* + * ASSERTION 0028: + * + * AcpiRemoveAddressSpaceHandler routine can be successfully used to remove + * the global handlers for Address Space setup and access that were previously + * installed via a call to AcpiInstallAddressSpaceHandler. Then the handlers + * will not be called whenever a relevant Operation Region is accessed. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallAddressSpaceHandler, AcpiRemoveAddressSpaceHandler + */ + +/* + * ASSERTION 0029: + * + * ASSERTION 0028 in case AcpiRemoveAddressSpaceHandler routine is + * applied to the particular Device (Device, Processor, or Thermal Zone). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallAddressSpaceHandler, AcpiRemoveAddressSpaceHandler + */ + +/* + * ASSERTION 0030: + * + * When the Device handle parameter of AcpiRemoveAddressSpaceHandler routine + * does not refer to an object of type Device, Processor, ThermalZone, or the + * root object AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiRemoveAddressSpaceHandler + */ + +/* + * ASSERTION 0031: + * + * When the Device handler parameter of AcpiRemoveAddressSpaceHandler routine + * is invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallAddressSpaceHandler, AcpiRemoveAddressSpaceHandler + */ + +/* + * ASSERTION 0032: + * + * When the SpaceId parameter of AcpiRemoveAddressSpaceHandler routine + * is invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallAddressSpaceHandler, AcpiRemoveAddressSpaceHandler + */ + +/* + * ASSERTION 0033: + * + * When the Handler pointer parameter of AcpiRemoveAddressSpaceHandler + * routine is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallAddressSpaceHandler, AcpiRemoveAddressSpaceHandler + */ + +/* + * ASSERTION 0034: + * + * When the Handler pointer parameter of AcpiRemoveAddressSpaceHandler + * routine is not the same as the one that is installed AE_BAD_PARAMETER + * exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallAddressSpaceHandler, AcpiRemoveAddressSpaceHandler + */ + +/* + * ASSERTION 0035: + * + * If a handler for the given scope is not installed AE_NOT_EXIST + * exception code is returned from AcpiRemoveAddressSpaceHandler routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiRemoveAddressSpaceHandler + */ + +/* + * ASSERTION 0036: + * + * AcpiInstallAddressSpaceHandler routine can be successfully used + * to install the default address space setup and access handlers + * for the PCI root bridge, identified by _HID or _CID. Appropriate + * _REG method will be run with the ACTIVATE notifications. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallAddressSpaceHandler + */ diff --git a/tests/aapits/spec/hardware.txt b/tests/aapits/spec/hardware.txt new file mode 100755 index 0000000..22f5abd --- /dev/null +++ b/tests/aapits/spec/hardware.txt @@ -0,0 +1,466 @@ +/* + * The following assertions are based on description of + * ACPI Hardware Management interfaces provided by ACPICA + * (section 6.3 "ACPI Hardware Management" of ACPICA ProgRef, + * routines AcpiEnable, AcpiDisable, AcpiGetRegister, AcpiSetRegister, + * AcpiSetFirmwareWakingVector, AcpiGetFirmwareWakingVector, + * AcpiGetSleepTypeData, AcpiEnterSleepStatePrep, AcpiEnterSleepState, + * AcpiLeaveSleepState, AcpiAcquireGlobalLock, AcpiReleaseGlobalLock, + * AcpiGetTimerResolution, AcpiGetTimerDuration, AcpiGetTimer). + * + */ + +/* + * ASSERTION 0000: + * + * When FADT is loaded and AcpiOsReadMemory function returns value 0 + * for ACPI_BITREG_SCI_ENABLE bit of the Register referred by XPm1aCntBlk + * (XPm1bCntBlk) field of FADT AcpiEnable routine can be successfully used + * to enable ACPI mode, it means AcpiOsWritePort function will be used to + * write to the port specified by SmiCmd field of FADT the value of AcpiEnable + * field that causes ACPI_BITREG_SCI_ENABLE bit to be read as 1. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnable + */ + +/* + * ASSERTION 0001: + * + * When ACPI mode is not supported (SmiCmd field of FADT is zero) + * AE_ERROR exception code is returned from AcpiEnable routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnable + */ + +/* + * ASSERTION 0002: + * + * On ASSERTION 0000 conditions when during AcpiEnable routine execution + * ACPI_BITREG_SCI_ENABLE bit can not be read as 1 AE_ERROR exception code + * is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnable + */ + +/* + * ASSERTION 0003: + * + * If the ACPI tables (FADT) have not been successfully loaded + * AE_NO_ACPI_TABLES exception code is returned from AcpiEnable routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiEnable + */ + +/* + * ASSERTION 0004: + * + * AcpiDisable routine can be successfully used to disable ACPI mode. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnable, AcpiDisable + */ + +/* + * ASSERTION 0005: + * + * When the system could not be transitioned out of ACPI mode + * AE_ERROR exception code is returned from AcpiDisable routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnable, AcpiDisable + */ + +/* + * ASSERTION 0006: + * + * AcpiGetRegister routine can be successfully used to read + * the bit register specified in the RegisterId parameter by + * one of the relevant manifest constants. The value returned + * is normalized to bit zero. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiGetRegister + */ + +/* + * ASSERTION 0007: + * + * When the RegisterId parameter of AcpiGetRegister routine + * is invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiGetRegister + */ + +/* + * ASSERTION 0008: + * + * AcpiSetRegister routine can be successfully used to write + * the given Value to the bit-defined register specified in the + * RegisterId parameter by one of the appropriate manifest constants. + * Other bits of the respective fixed ACPI h/w register are preserved, + * namely: + * - defined bits in status registers by writing as zeros, + * - defined bits in enable and control registers by writing back + * read values, + * - reserved bits in status registers by writing as zeros, + * - reserved bits in enable registers by writing as zeros, + * - reserved bits in control registers by writing back read values, + * - ignored bits the same way as reserved bits in these same types + * of registers. + * Note about SCI_EN bit of PM1 Control Register: "OSPM always preserves + * this bit position". + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiSetRegister + */ + +/* + * ASSERTION 0009: + * + * When the RegisterId parameter of AcpiSetRegister routine + * is invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiSetRegister + */ + +/* + * ASSERTION 0010: + * + * AcpiSetFirmwareWakingVector routine can be successfully used + * to set the firmware (ROM BIOS) wake vector. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiSetFirmwareWakingVector + */ + +/* + * ASSERTION 0011: + * + * If the FACS is not loaded or could not be found AE_NO_ACPI_TABLES + * exception code is returned from AcpiSetFirmwareWakingVector routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiSetFirmwareWakingVector + */ + +/* + * ASSERTION 0012: + * + * AcpiGetFirmwareWakingVector routine can be successfully used + * to obtain the firmware (ROM BIOS) wake vector. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiGetFirmwareWakingVector + */ + +/* + * ASSERTION 0013: + * + * If the FACS is not loaded or could not be found AE_NO_ACPI_TABLES + * exception code is returned from AcpiGetFirmwareWakingVector routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiGetFirmwareWakingVector + */ + +/* + * ASSERTION 0014: + * + * When the OutVector parameter of AcpiGetFirmwareWakingVector routine + * is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiGetFirmwareWakingVector + */ + +/* + * ASSERTION 0015: + * + * AcpiGetSleepTypeData routine can be successfully used + * to obtain the SLP_TYP object for the requested sleep state. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiGetSleepTypeData + */ + +/* + * ASSERTION 0016: + * + * When the SleepState parameter of AcpiGetSleepTypeData routine + * is invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiGetSleepTypeData + */ + +/* + * ASSERTION 0017: + * + * When one of the SleepType pointer parameters of AcpiGetSleepTypeData + * routine is invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiGetSleepTypeData + */ + +/* + * ASSERTION 0018: + * + * When one or more of the SLP_TYP values can not be located + * AE_AML_NO_OPERAND exception code is returned from AcpiGetSleepTypeData + * routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiGetSleepTypeData + */ + +/* + * ASSERTION 0019: + * + * When one or more of the SLP_TYP objects is not a numeric type + * AE_AML_OPERAND_TYPE exception code is returned from AcpiGetSleepTypeData + * routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiGetSleepTypeData + */ + +/* + * ASSERTION 0020: + * + * AcpiEnterSleepStatePrep routine can be successfully used + * to prepare to enter a system sleep state (_PTS and _GTS methods + * are evaluated). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnterSleepStatePrep + */ + +/* + * ASSERTION 0021: + * + * AcpiEnterSleepState routine can be successfully used + * to do transitions to the specified sleep state. It returns + * for transitions to the S1 state only. The function must be + * called with interrupts disabled. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnterSleepStatePrep, AcpiEnterSleepState + */ + +/* + * ASSERTION 0022: + * + * AcpiLeaveSleepState routine can be successfully used + * (to perform cleanup after leaving a sleep state) when + * \_SI.SST, \_BFS and \WAK are correctly declared in the + * relevant DSDT. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnterSleepStatePrep, AcpiEnterSleepState, + * AcpiLeaveSleepState + */ + +/* + * ASSERTION 0023: + * + * AcpiAcquireGlobalLock routine can be successfully used to obtain + * exclusive access to the single system-wide ACPI Global Lock (a case + * when Owned bit of Global Lock is clear). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables, + * AcpiLoadTables, AcpiEnableSubsystem, + * AcpiAcquireGlobalLock + */ + +/* + * ASSERTION 0024: + * + * When the OutHandle parameter of AcpiAcquireGlobalLock routine + * is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiAcquireGlobalLock + */ + +/* + * ASSERTION 0025: + * + * When the global lock could not be acquired within the specified time limit + * AE_TIME exception code is returned from AcpiAcquireGlobalLock routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiAcquireGlobalLock + */ + +/* + * ASSERTION 0026: + * + * If the SubSystem is not initialized AcpiAcquireGlobalLock routine + * returns a Failure. + * + * ROUTINES: AcpiInitializeTables, AcpiAcquireGlobalLock + */ + +/* + * ASSERTION 0027: + * + * AcpiReleaseGlobalLock routine can be successfully used to release + * the global lock on the thread acquired it. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables, + * AcpiLoadTables, AcpiEnableSubsystem, + * AcpiAcquireGlobalLock, AcpiReleaseGlobalLock + */ + +/* + * ASSERTION 0028: + * + * When the Handle parameter of AcpiReleaseGlobalLock routine + * is invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiAcquireGlobalLock, + * AcpiReleaseGlobalLock + */ + +/* + * ASSERTION 0029: + * + * When the Global Lock have not yet been acquired AE_NOT_ACQUIRED + * exception code is returned from AcpiReleaseGlobalLock routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiReleaseGlobalLock + */ + +/* + * ASSERTION 0030: + * + * AcpiGetTimerResolution routine can be successfully used to obtain + * the PM Timer resolution � either 24 (for 24-bit) or 32 (for 32-bit + * timers). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiGetTimerResolution + */ + +/* + * ASSERTION 0031: + * + * When the OutValue parameter of AcpiGetTimerResolution routine + * is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiGetTimerResolution + */ + +/* + * ASSERTION 0032: + * + * AcpiGetTimerDuration routine can be successfully used to calculate + * the time elapsed (in microseconds) between StartTicks and EndTicks, + * taking into consideration the PM Timer frequency, resolution, and + * counter rollovers. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiGetTimerDuration + */ + +/* + * ASSERTION 0033: + * + * When the OutValue parameter of AcpiGetTimerDuration routine + * is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiGetTimerDuration + */ + +/* + * ASSERTION 0034: + * + * AcpiGetTimer routine can be successfully used to obtain + * the current value of the PM Timer (in ticks). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiGetTimer + */ + +/* + * ASSERTION 0035: + * + * When the OutValue parameter of AcpiGetTimer routine + * is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiGetTimer + */ + +/* + * ASSERTION 0036: + * + * When the SubSystem is initialized AcpiAcquireGlobalLock routine + * can be successfully used to obtain exclusive access even if FACS + * is not registered. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiAcquireGlobalLock + */ + +/* + * ASSERTION 0037: + * + * Statement of ASSERTION 0023 when Owned bit of Global Lock is set + * and then gets cleared. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables, + * AcpiLoadTables, AcpiEnableSubsystem, + * AcpiAcquireGlobalLock + */ + +/* + * ASSERTION 0038: + * + * AcpiReleaseGlobalLock routine can be successfully used to release + * the global lock on a thread different from the acquiring one. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables, + * AcpiLoadTables, AcpiEnableSubsystem, + * AcpiAcquireGlobalLock, AcpiReleaseGlobalLock + */ + +/* + * ASSERTION 0039: + * + * Statement of ASSERTION 0023 when the Global Lock is acquired before + * a call to AcpiAcquireGlobalLock(0xFFFF) and released somewhen later. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables, + * AcpiLoadTables, AcpiEnableSubsystem, + * AcpiAcquireGlobalLock + */ + +/* + * ASSERTION 0040: + * + * Statement of ASSERTION 0023 when the Global Lock is acquired by means + * an AML method before a call to AcpiAcquireGlobalLock(0xFFFF) and released + * the same manner somewhen later. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables, + * AcpiLoadTables, AcpiEnableSubsystem, + * AcpiAcquireGlobalLock + */ + +/* + * ASSERTION 0041: + * + * Statement of ASSERTION 0023 when the Global Lock is concurrently acquired + * and released on evaluation of the AML method accessing a GL protected field. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables, + * AcpiLoadTables, AcpiEnableSubsystem, + * AcpiAcquireGlobalLock + */ + diff --git a/tests/aapits/spec/init.txt b/tests/aapits/spec/init.txt new file mode 100755 index 0000000..1bd85e1 --- /dev/null +++ b/tests/aapits/spec/init.txt @@ -0,0 +1,777 @@ +/* + * The following assertions are based on description of + * ACPI Subsystem Initializing interfaces provided by ACPICA + * (section 6.1 "Subsystem Initialization, Shutdown, and Status" + * of ACPICA ProgRef, routines AcpiInitializeSubsystem, + * AcpiInstallInitializationHandler, AcpiEnableSubsystem, + * AcpiInitializeObjects, AcpiGetSystemInfo, AcpiSubsystemStatus, + * AcpiFormatException, AcpiPurgeCachedObjects, AcpiTerminate + * + */ + +/* +SEE: see all these "There are no any calls to the AcpiOs* + interfaces while the routine is thus invoked" +*/ + + +/* + * ASSERTION 0000: + * + * The call to AcpiInitializeSubsystem routine + * initiates call to AcpiOsInitialize routine + * of OS Service Layer. + * + * ROUTINES: AcpiInitializeSubsystem + */ + +/* + * ASSERTION 0001: + * + * If AcpiOsInitialize routine returns AE_ERROR then + * AcpiInitializeSubsystem routine returns AE_ERROR too. + * + * ROUTINES: AcpiInitializeSubsystem + */ + +/* + * ASSERTION 0002: + * + * If some call to AcpiOsAllocate routine during invocation + * of AcpiInitializeSubsystem routine returns NULL then + * AcpiInitializeSubsystem returns AE_NO_MEMORY. + * + * IMPLEMENTATION: + * + * The test initiates repeatedly the sequence of calls + * to AcpiInitializeSubsystem and AcpiTerminate and forces + * the sebsequently increased call to AcpiOsAllocate + * to return NULL and expects AE_NO_MEMORY for that call + * until the index of failed call increases the actual + * number of memory allocations actually required during + * initialization. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiTerminate + */ + +/* + * ASSERTION 0003: + * + * If some call to AcpiOsCreateLock routine during invocation + * of AcpiInitializeSubsystem routine returns AE_NO_MEMORY then + * AcpiInitializeSubsystem returns AE_NO_MEMORY too. + * + * IMPLEMENTATION: + * + * something like that in ASSERTION 0002 !!!!!!!!!!!!!!!: + * =================== + * + * The test initiates repeatedly the sequence of calls + * to AcpiInitializeSubsystem and AcpiTerminate and forces + * the sebsequently increased call to AcpiOsCreateLock to + * return AE_NO_MEMORY and expects AE_NO_MEMORY for that call + * until the index of failed calls increases the actual number + * of Locks (really only one) required during initialization. + * + * ROUTINES: AcpiInitializeSubsystem + */ + +/* + * ASSERTION 0004: + * + * If some call to AcpiOsCreateSemaphore routine during invocation + * of AcpiInitializeSubsystem routine returns AE_NO_MEMORY then the + * routine returns AE_NO_MEMORY too. + * + * IMPLEMENTATION: + * something like that in ASSERTION 0002 !!!!!!!!!!!!!!!: + * + * ROUTINES: AcpiInitializeSubsystem + */ + +/* + * ASSERTION 0005: + * + * Call to AcpiTerminate routine frees all the resources + * allocated by AcpiInitializeSubsystem returned AE_OK. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiTerminate + */ + +/* + * ASSERTION 0006: + * + * AcpiTerminate can be invoked before any call to AcpiInitializeSubsystem. + * + * ROUTINES: AcpiTerminate + */ + +/* + * ASSERTION 0007: + * + * The repeated call to AcpiTerminate is available. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiTerminate + */ + +/* + * ASSERTION 0008: + * + * Call to AcpiTerminate routine frees all the resources + * allocated by AcpiInitializeSubsystem one returned AE_ERROR. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiTerminate + */ + +/* + * ASSERTION 0009: + * + * Call to AcpiTerminate routine frees all the resources + * allocated by AcpiInitializeSubsystem one returned AE_NO_MEMORY. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiTerminate + */ + +/* + * ASSERTION 0010: + * + * All the resources allocated by AcpiInitializeSubsystem routine + * returned a FAILURE due to some AcpiOs interface returning AE_ERROR + * are freed. + * + * IMPLEMENTATION: + * + * The test forces the sebsequently increased call to any AcpiOs + * to return AE_ERROR (if any) and expects a FAILURE for that call + * to AcpiInitializeSubsystem until the count of overall AcpiOs calls + * increased and checks differences between successful allocations and + * realeasings of the relevant system resources. Then AcpiInitializeSubsystem + * must return a FAILURE and the differences should be equal to zeroes. + * + * ROUTINES: AcpiInitializeSubsystem + */ + +/* + * ASSERTION 0011: + * + * All the resources allocated by AcpiInitializeSubsystem routine + * returned AE_NO_MEMORY due to some AcpiOs interface returning NULL + * (AE_NO_MEMORY) are freed. + * + * IMPL: + * + * ROUTINES: AcpiInitializeSubsystem + */ + +/* + * ASSERTION 0012: + * + * Check that the complementary pair of routines, AcpiInitializeSubsystem + * and AcpiTerminate, can be invoked repeatedly multiple times, each time + * the call to AcpiTerminate follows the call to AcpiInitializeSubsystem, + * and all the resources are freed after AE_OK return of AcpiTerminate. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiTerminate + */ + +/* + * ASSERTION 0013: + * + * The repeated call to AcpiInitializeSubsystem routine without the + * intermediate call to AcpiTerminate one results in AE_ERROR. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiTerminate + */ + +/* + * ASSERTION 0014: + * + * After the successful call to AcpiLoadTables routine + * AcpiEnableSubsystem one can be successfully used to Complete + * the ACPI Subsystem initialization and enable ACPI operations. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem + */ + +/* + * ASSERTION 0015: + * + * After the successful call to AcpiEnableSubsystem routine + * the next call to AcpiTerminate one frees all the resources + * allocated by Core Subsystem. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiTerminate + */ + +/* + * ASSERTION 0016: + * + * If the initial call to AcpiInitializeSubsystem routine was not + * performed at all then AcpiEnableSubsystem routine returns AE_ERROR. + * There are no any calls to the AcpiOs* interfaces while the routine is + * thus invoked. + * + * ROUTINES: AcpiEnableSubsystem + */ + +/* + * ASSERTION 0017: + * + * If the initial call to AcpiInitializeSubsystem routine resulted in + * failure then next use of AcpiEnableSubsystem routine results in failure + * too. There are no any calls to the AcpiOs* interfaces while the routine + * is thus invoked. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiEnableSubsystem + */ + +/* + * ASSERTION 0018: + * + * If the initial call to AcpiLoadTables routine was not performed at + * all then AcpiEnableSubsystem routine fails. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiEnableSubsystem + */ + +/* + * ASSERTION 0019: + * + * If the initial call to AcpiLoadTables routine resulted in failure + * then next use of AcpiEnableSubsystem routine results in failure too. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem + */ + +/* + * ASSERTION 0020: + * + * If AcpiEnableSubsystem routine initially failed then the next + * call to AcpiTerminate one frees all the resources allocated + * by Core Subsystem. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiTerminate + */ + +/* + * ASSERTION 0021: + * + * If AcpiEnableSubsystem routine initially returned AE_OK then any + * repeated call to it results in failure. The next call to AcpiTerminate + * routine frees all the resources allocated by Core Subsystem. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiTerminate + */ + + +/* + * ASSERTION 0022: + * + * After the successful call to AcpiEnableSubsystem routine + * AcpiInitializeObjects one can be successfully used to initialize + * objects within the ACPI namespace. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects + */ + +/* + * ASSERTION 0023: + * + * After the successful call to AcpiInitializeObjects routine + * the next call to AcpiTerminate one frees all the resources + * allocated by Core Subsystem. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects + * AcpiTerminate + */ + +/* + * ASSERTION 0024: + * + * If the initial call to AcpiInitializeSubsystem routine was not + * performed at all then AcpiInitializeObjects routine returns AE_ERROR. + * There are no any calls to the AcpiOs* interfaces while the routine is + * thus invoked. + * + * ROUTINES: AcpiInitializeObjects + */ + +/* + * ASSERTION 0025: + * + * If the initial call to AcpiInitializeSubsystem routine resulted in + * failure then next use of AcpiInitializeObjects routine results in failure + * too. There are no any calls to the AcpiOs* interfaces while the routine + * is thus invoked. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeObjects + */ + +/* + * ASSERTION 0026: + * + * If the initial call to AcpiLoadTables routine was not performed at + * all then AcpiInitializeObjects routine fails. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeObjects + */ + +/* + * ASSERTION 0027: + * + * If the initial call to AcpiLoadTables routine resulted in failure + * then next use of AcpiInitializeObjects routine results in failure too. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiInitializeObjects + */ + +/* + * ASSERTION 0028: + * + * If the initial call to AcpiEnableSubsystem routine was not performed at + * all then AcpiInitializeObjects routine fails. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiInitializeObjects + */ + +/* + * ASSERTION 0029: + * + * If the initial call to AcpiEnableSubsystem routine resulted in failure + * then next use of AcpiInitializeObjects routine results in failure too. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects + */ + +/* + * ASSERTION 0030: + * + * If AcpiInitializeObjects routine failed then the next + * call to AcpiTerminate one frees all the resources allocated + * by Core Subsystem. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiTerminate + */ + +/* + * ASSERTION 0031: + * + * If AcpiInitializeObjects routine initially returned AE_OK then any + * repeated call to it results in failure. The next call to AcpiTerminate + * routine frees all the resources allocated by Core Subsystem. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiTerminate + */ + +/* + * ASSERTION 0032: + * + * On the call to AcpiInitializeObjects routine if the ACPI_NO_DEVICE_INIT + * flag is not set up then the _STA and _INI methods on the device objects + * will be run during the call, at that _INI will be run only either _STA + * is not present or after the _STA invocation indicating that the device + * is present and enabled. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + */ + +/* + * ASSERTION 0033: + * + * On the call to AcpiInitializeObjects routine if the ACPI_NO_DEVICE_INIT + * flag is set up then the _INI and _STA methods on the device objects will + * not be run during the call. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallInitializationHandler + */ + +/* + * ASSERTION 0034: + * + * On the call to AcpiInitializeObjects routine if the ACPI_NO_OBJECT_INIT + * flag is not set up then the final initialization pass to complete + * initialization of OperationRegions, BufferFields, Buffers, and Packages + * will be run during the call. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects + */ + +/* + * ASSERTION 0035: + * + * On the call to AcpiInitializeObjects routine if the ACPI_NO_OBJECT_INIT + * flag is set up then the final initialization pass to complete initialization + * of OperationRegions, BufferFields, Buffers, and Packages will not be run + * during the call. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects + */ + +/* + * ASSERTION 0036: + * + * After the exit out of the AcpiInitializeObjects routine + * the object cache appears to be purged so that next call + * to AcpiPurgeCachedObjects routine does not initiate any + * call to to the AcpiOs* interfaces. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiPurgeCachedObjects + */ + +/* + * ASSERTION 0037: + * + * If the system was successfully initialized, that means + * the following sequence of successful calls: + * + * AcpiInitializeSubsystem + * AcpiLoadTables + * AcpiEnableSubsystem + * AcpiInitializeObjects + * + * then AcpiSubsystemStatus returns AE_OK. + * + * ROUTINES: AcpiSubsystemStatus, AcpiInitializeSubsystem, + * AcpiLoadTables, AcpiEnableSubsystem, + * AcpiInitializeObjects + */ + +/* + * ASSERTION 0038: + * + * If the system was shuted down after successful initialization, + * that means the following sequence of successful calls: + * + * AcpiInitializeSubsystem + * AcpiLoadTables + * AcpiEnableSubsystem + * AcpiInitializeObjects + * AcpiTerminate + * + * then AcpiSubsystemStatus returns AE_ERROR. + * + * ROUTINES: AcpiSubsystemStatus, AcpiInitializeSubsystem, + * AcpiLoadTables, AcpiEnableSubsystem, + * AcpiInitializeObjects, AcpiTerminate + */ + + +/* + * ASSERTION 0039: + * + * If the system initialization was not complete, + * means that only a part of the following sequence + * of successful calls was performed: + * + * AcpiInitializeSubsystem + * AcpiLoadTables + * AcpiEnableSubsystem + * + * then AcpiSubsystemStatus returns AE_ERROR. + * + * ROUTINES: AcpiSubsystemStatus, AcpiInitializeSubsystem, + * AcpiLoadTables, AcpiEnableSubsystem, + */ + +/* + * ASSERTION 0040: + * + * If the system initialization doesn't succeed, + * means that some of the routines in the following + * sequence failed: + * + * AcpiInitializeSubsystem + * AcpiLoadTables + * AcpiEnableSubsystem + * AcpiInitializeObjects + * + * then AcpiSubsystemStatus returns AE_ERROR. + * + * ROUTINES: AcpiSubsystemStatus, AcpiInitializeSubsystem, + * AcpiLoadTables, AcpiEnableSubsystem, + * AcpiInitializeObjects + */ + +/* + * ASSERTION 0041: + * + * AcpiGetSystemInfo routine returns AE_BUFFER_OVERFLOW when the Length + * field of the OutBuffer parameter indicates that the specified buffer + * is too small to hold the system information. Upon return, the Length + * field contains the minimum required buffer length. The routine returns + * AE_OK being repeatedly called passed with the properly updated OutBuffer + * parameter. The buffer will be properly filled with the ACPI_SYSTEM_INFO + * structure. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetSystemInfo + */ + +/* + * ASSERTION 0042: + * + * AcpiGetSystemInfo routine returns AE_BAD_PARAMETER when: + * - the OutBuffer pointer is NULL, + * - the Length field of the OutBuffer is not ACPI_ALLOCATE_BUFFER, + * but the Pointer field of the OutBuffer is NULL. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetSystemInfo + */ + +/* + * ASSERTION 0043: + * + * AcpiGetSystemInfo routine returns AE_OK passed with the equal to + * ACPI_ALLOCATE_BUFFER Length field of the OutBuffer parameter after + * AcpiInitializeSubsystem routine was successfully executed and there + * was enough memory to allocate. Upon return, the Pointer field of the + * OutBuffer parameter will point to a buffer properly filled with the + * ACPI_SYSTEM_INFO structure. The buffer can successfully be released + * by AcpiOsFree routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetSystemInfo, AcpiOsFree + */ + +/* + * ASSERTION 0044: + * + * AcpiGetSystemInfo routine returns AE_NO_MEMORY passed with the equal + * to ACPI_ALLOCATE_BUFFER Length field of the OutBuffer parameter after + * AcpiInitializeSubsystem routine was successfully executed if there + * was no enough memory to allocate (AcpiOsFree returns NULL). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetSystemInfo, AcpiOsFree + */ + +/* + * ASSERTION 0045: + * + * AcpiGetSystemInfo routine fails passed with the equal to + * ACPI_ALLOCATE_BUFFER Length field of the OutBuffer parameter + * before AcpiInitializeSubsystem routine was successfully executed + * disregard of AcpiOsFree successful execution. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetSystemInfo, AcpiOsFree + */ + +/* + * ASSERTION 0046: + * + * AcpiInstallInitializationHandler routine result in AE_BAD_PARAMETER + * if NULL is specified as its Handler parameter. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallInitializationHandler + */ + +/* + * ASSERTION 0047: + * + * AcpiInstallInitializationHandler routine sets up the global handler + * for initialization handling which is invoked by Core Subsystem during + * call to AcpiInitializeObjects routine for each Device object within + * the namespace after the Device has been initialized (the _INI and _STA + * methods have been run on the device). + * + * An Acpi namespace Object which pointer to the handler will being + * passed to the specified global handler routine should be Device + * objects, the Function parameter should be equal to the manifest + * constant ACPI_INIT_DEVICE_INI. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallInitializationHandler + */ + +/* + * ASSERTION 0048: + * + * After a global initialization handler was successfully set up + * additional calls to AcpiInstallInitializationHandler routine result + * in AE_ALREADY_EXISTS until the Core Subsystem shutdown by AcpiTerminate(). + * The initial handler is not overwritten. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallInitializationHandler + */ + +/* + * ASSERTION 0049: + * + * If the initial call to AcpiInitializeSubsystem routine was not + * performed at all then AcpiInstallInitializationHandler routine + * returns AE_ERROR. There are no any calls to the AcpiOs* interfaces + * while the routine is thus invoked. + * + * ROUTINES: AcpiInstallInitializationHandler + */ + +/* + * ASSERTION 0050: + * + * If the initial call to AcpiInitializeSubsystem routine resulted in + * failure then next use of AcpiInstallInitializationHandler routine + * results in failure too. There are no any calls to the AcpiOs* interfaces + * while the routine is thus invoked. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInstallInitializationHandler + */ + +/* + * ASSERTION 0051: + * + * When the global handler for initialization handling invoked + * by the Core Subsystem during call to AcpiInitializeObjects + * routine results in AE_CTRL_TERMINATE the Subsystem stops the walk + * through the Acpi namespace tree immediately so that the _INI + * and _STA methods will not have been run on the remained devices. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallInitializationHandler + */ + +/* + * ASSERTION 0052: + * + * When the global handler for initialization handling invoked + * by the Core Subsystem during call to AcpiInitializeObjects + * routine results in AE_CTRL_DEPTH the Subsystem stops the walk + * deeply into the Acpi namespace tree so that the _INI and _STA + * methods will not have been run on the devices located deeply + * on the tree. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallInitializationHandler + */ + +/* + * ASSERTION 0053: + * + * Any combinations of the manifest constants: + * + * ACPI_NO_ADDRESS_SPACE_INIT + * ACPI_NO_HARDWARE_INIT + * ACPI_NO_EVENT_INIT + * ACPI_NO_ACPI_ENABLE + * ACPI_NO_HANDLER_INIT + * + * can be passed to AcpiEnableSubsystem routine used in the common + * sequence of the calls during the ACPI Subsystem successful initialization. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiSubsystemStatus, AcpiTerminate + */ + +/* + * ASSERTION 0054: + * + * If some call to AcpiOsAllocate routine during invocation + * of AcpiEnableSubsystem routine returns NULL then + * AcpiEnableSubsystem returns AE_NO_MEMORY. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiTerminate + */ + +/* + * ASSERTION 0055: + * + * If some call to AcpiOsAllocate routine during invocation + * of AcpiInitializeObjects routine returns NULL then + * AcpiInitializeObjects returns AE_NO_MEMORY. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiTerminate + */ + +/* + * ASSERTION 0056: + * + * AcpiFormatException routine returns a human-readable string + * determined by the any specified ACPI exception code. + * + * ROUTINES: AcpiFormatException + */ + +/* + * ASSERTION 0057: + * + * When a wrong ACPI exception code is passed to AcpiFormatException + * routine the routine returns a string that is not equal to any string + * which is relevant to correct ACPI exception code. + * + * ROUTINES: AcpiFormatException + */ + +/* + * ASSERTION 0058: + * + * AcpiPurgeCachedObjects routine frees all memory blocks + * not released after Method execution so that the object + * cache appears to be purged. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiPurgeCachedObjects + */ + +/* + * ASSERTION 0059: + * + * When during Device objects initialization subsequent Device's + * _STA Method indicate that the Device is not present (and not + * "functioning") no any _STA or _INI method of this Device's + * childrens will be invoked. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiInstallInitializationHandler + */ + + +/* + * ASSERTION 0060: + * + * Variation of ASSERTION 0019 when FADT is not present + * among the registered Tables. AcpiEnableSubsystem routine + * results in failure. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem + */ diff --git a/tests/aapits/spec/memory.txt b/tests/aapits/spec/memory.txt new file mode 100755 index 0000000..454ad02 --- /dev/null +++ b/tests/aapits/spec/memory.txt @@ -0,0 +1,83 @@ +/* + * The following assertions are based on description of + * ACPI Memory Management interfaces provided by ACPICA + * (section 6.2 "ACPI Memory Management" of ACPICA ProgRef, + * routines AcpiAllocate, AcpiCallocate, AcpiFree). + * + */ + +/* + * ASSERTION 0000: + * + * After a call to AcpiInitializeSubsystem AcpiAllocate routine + * can be successfully used to dynamically allocate memory. On debug + * mode after the subsystem is shutdown the allocations which are not + * released represent outstanding blocks diagnostics. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAllocate + */ + +/* + * ASSERTION 0001: + * + * When during AcpiAllocate routine execution the relevant + * AcpiOsAllocate call returns NULL the first one returns + * NULL too. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAllocate + */ + +/* + * ASSERTION 0002: + * + * After a call to AcpiInitializeSubsystem AcpiCallocate routine + * can be successfully used to dynamically allocate zero-initialized + * memory. On debug mode after the subsystem is shutdown the allocations + * which are not released represent outstanding blocks diagnostics. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiCallocate + */ + +/* + * ASSERTION 0003: + * + * When during AcpiCallocate routine execution the relevant + * AcpiOsAllocate call returns NULL the first one returns + * NULL too. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiCallocate + */ + +/* + * ASSERTION 0004: + * + * AcpiFree routine can be successfully used to release memory + * allocated by AcpiAllocate routine. On debug mode after the + * subsystem is shutdown the released allocations will not be + * represented in outstanding blocks diagnostics. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAllocate, AcpiFree + */ + +/* + * ASSERTION 0005: + * + * AcpiFree routine can be successfully used to release memory + * allocated by AcpiCallocate routine. On debug mode after the + * subsystem is shutdown the released allocations will not be + * represented in outstanding blocks diagnostics. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiCallocate, AcpiFree + */ diff --git a/tests/aapits/spec/namespace.txt b/tests/aapits/spec/namespace.txt new file mode 100755 index 0000000..f7d1f2b --- /dev/null +++ b/tests/aapits/spec/namespace.txt @@ -0,0 +1,1612 @@ +/* + * The following assertions are based on description of + * ACPI Namespace Access interfaces provided by ACPICA + * (section 6.5 "ACPI Namespace Access" of ACPICA ProgRef, + * routines AcpiEvaluateObject, AcpiGetObjectInfo, + * AcpiGetNextObject, AcpiGetParent, AcpiGetType, + * AcpiGetHandle, AcpiGetName, AcpiGetDevices, + * AcpiAttachData, AcpiDetachData, AcpiGetData and + * AcpiWalkNamespace). + * + * We should take into account that the enumerated interfaces + * can be called not only after the Subsystem is exactly initialized, + * but at any point of initialization stage, those points are states + * which Subsystem is transfered in when the dedicated initializing + * interfaces (AcpiInitializeSubsystem, AcpiLoadTables, AcpiEnableSubsystem, + * AcpiInitializeObjects, AcpiTerminate) have successfully been executed. + * + * Also the interfaces can be used to manage NS objects created and + * deleted dynamically during AML Methods invocations. + */ + +/* + * ASSERTION 0000: + * + * AcpiEvaluateObject routine retrieves the current value of the specified + * ACPI Namespace Target Object (Integer, String, Buffer). The same Object + * can be specified by + * 1) an absolute namespace path in Pathname (the Object either is NULL + * or is ignored otherwise), + * 2) a path relative to the Object handle. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0001: + * + * AcpiEvaluateObject routine provides execution of the Control Method + * specified by the ACPI Namespace Target Object. The return result of + * the Method is retrieved (if any). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0002: + * + * AcpiEvaluateObject routine provides a pass of the Control Method + * parameters specified by the MethodParams pointer to an ACPI_OBJECT_LIST. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0003: + * + * When AcpiEvaluateObject routine provides a pass of the Control Method + * parameters specified by the MethodParams pointer the exceeding parameters + * are ignored. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0004: + * + * The specified Method Object is successfully evaluated + * by AcpiEvaluateObject routine in the both cases when + * ReturnObject parameter is not NULL and is equal to NULL. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0005: + * + * When the specified Target Object of AcpiEvaluateObject routine + * is a void Control Method and ReturnObject parameter is not NULL + * the Length field of the ReturnObject parameter will be set to zero. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0006: + * + * When the specified Target Object of AcpiEvaluateObject routine + * is a Control Method and an exception occurs during the execution + * of the relevant AML code all nested control methods are immediately + * terminated, up to and including the parent method. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0007: + * + * When the specified Target Object of AcpiEvaluateObject routine + * is of ACPI_TYPE_DEVICE type AE_TYPE exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0008: + * + * When the specified Target Object of AcpiEvaluateObject routine + * is a Control Method and an unspecified error occurs during the + * parsing of the AML code AE_AML_ERROR exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0009: + * + * When the specified Target Object of AcpiEvaluateObject routine + * is a Control Method and the Method can not be parsed due to the + * invalid AML code AE_AML_PARSE exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0010: + * + * When the specified Target Object of AcpiEvaluateObject routine + * is a Control Method and an invalid opcode is encountered in the + * invalid AML code AE_AML_BAD_OPCODE exception code is returned. + * + * IMPLEMENTATION: + * + * Obtain (option -f of iASL) and run a Method containing the bad + * opcode 0x21 resulted in compiling of ASL-code + * + * Method(M001) { + * Mutex(MTX1, 0x0100) + * Stall(1) + * } + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0011: + * + * When the specified Target Object of AcpiEvaluateObject routine + * is a Control Method and an required operand is missing (this can + * be caused by some method that does not return any object) the + * AE_AML_NO_OPERAND exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0012: + * + * When the specified Target Object of AcpiEvaluateObject routine + * is a Control Method and an operand object is not of the required + * ACPI type AE_AML_OPERAND_TYPE exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0013: + * + * When the specified Target Object of AcpiEvaluateObject routine + * is a Control Method and an operand object has an invalid value + * AE_AML_OPERAND_VALUE exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0014: + * + * When the specified Target Object of AcpiEvaluateObject routine + * is a Control Method and a method attempted to access a local + * variable that was not initialized AE_AML_UNINITIALIZED_LOCAL + * exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0015: + * + * When the specified Target Object of AcpiEvaluateObject routine + * is a Control Method and a method attempted to access an argument + * that was not part of the argument list, or was not passed into + * the method properly AE_AML_UNINITIALIZED_ARG exception code + * is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION XXXX: + * + * When the specified Target Object of AcpiEvaluateObject routine + * is a Control Method and a method attempted to use (dereference) + * a reference to an element of a package object that is empty + * (uninitialized) AE_AML_UNITIALIZED_ELEMENT exception code + * is returned. + * + * Note: now the dereference does not cause any exception, only + * error is to use the result in some expression that causes + * AE_AML_NO_RETURN_VALUE + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0016: + * + * When the specified Target Object of AcpiEvaluateObject routine + * is a Control Method and an overflow occurred during a numeric + * conversion (such as BCD conversion) AE_AML_NUMERIC_OVERFLOW + * exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0017: + * + * When the specified Target Object of AcpiEvaluateObject routine + * is a Control Method and the method attempted to access beyond the + * end of an Operation Region defined boundary AE_AML_REGION_LIMIT + * exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0018: + * + * When the specified Target Object of AcpiEvaluateObject routine + * is a Control Method and the method attempted to access beyond the + * end of a Buffer object AE_AML_BUFFER_LIMIT exception code is + * returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0019: + * + * When the specified Target Object of AcpiEvaluateObject routine + * is a Control Method and the method attempted to access beyond the + * end of a Package object AE_AML_PACKAGE_LIMIT exception code is + * returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0020: + * + * When the specified Target Object of AcpiEvaluateObject routine + * is a Control Method and the method attempted to access beyond the + * end of a String object AE_AML_STRING_LIMIT exception code is + * returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0021: + * + * When the specified Target Object of AcpiEvaluateObject routine + * is a Control Method and the method attempted to execute a divide + * instruction with a zero divisor AE_AML_DIVIDE_BY_ZERO exception + * code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0022: + * + * When the specified Target Object of AcpiEvaluateObject routine + * is a Control Method and a name contained within the AML code has + * one or more invalid characters AE_AML_BAD_NAME exception code + * is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0023: + * + * When the specified Target Object of AcpiEvaluateObject routine + * is a Control Method and a name reference within the AML code can + * not be found and therefore is not resolved AE_AML_NAME_NOT_FOUND + * exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0024: + * + */ + +/* + * ASSERTION 0025: + * + * When the specified Target Object of AcpiEvaluateObject routine + * is a Control Method and an error that is internal to the ACPI CA + * subsystem occurs AE_AML_INTERNAL exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0026: + * + * When an invalid character is found in the Pathname parameter + * of AcpiEvaluateObject routine AE_BAD_CHARACTER exception + * code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0027: + * + * When the path in the Pathname parameter of AcpiEvaluateObject + * routine contains at least one ACPI name that is not exactly four + * characters long AE_BAD_PATHNAME exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0028: + * + * When the specified Target Object of AcpiEvaluateObject routine + * is a Package and bad or invalid data is found in the object the + * AE_BAD_DATA exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0029: + * + * When Both the Object and Pathname parameters of AcpiEvaluateObject + * routine are NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0030: + * + * When the Object handle parameter of AcpiEvaluateObject routine + * is NULL but the Pathname is not absolute AE_BAD_PARAMETER + * exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0031: + * + * When the Pathname parameter of AcpiEvaluateObject routine + * is relative but the Object is invalid AE_BAD_PARAMETER + * exception code is returned. + * + * IMPLEMENTATION: + * + * Make Object handle invalid by unloading DSDT table + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0032: + * + * When the Length field of OutBuffer parameter of AcpiEvaluateObject + * routine is not ACPI_ALLOCATE_BUFFER, but the Pointer field of OutBuffer + * is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0033: + * + * When the Length field of ReturnBuffer parameter of + * AcpiEvaluateObject routine is too small to hold the actual + * returned object AE_BUFFER_OVERFLOW exception code is + * returned. Upon return, the Length field contains the minimum + * required buffer length. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0034: + * + * When during call to AcpiEvaluateObject routine an unspecified + * error occurs AE_ERROR exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0035: + * + * If some call to AcpiOsAllocate routine during execution + * of AcpiEvaluateObject routine returns NULL then AE_NO_MEMORY + * exception code is returned (insufficient dynamic memory to + * complete the request). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0036: + * + * When the object referenced by the combination of the Object + * and Pathname parameters of AcpiEvaluateObject routine is not + * found within the namespace AE_NOT_FOUND exception code is + * returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0037: + * + * When the specified Target Object of AcpiEvaluateObject routine + * is missing (this is an internal error) AE_NULL_OBJECT exception + * code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0038: + * + * If during invocation of AcpiEvaluateObject routine an internal + * stack overflow occurs then AE_STACK_OVERFLOW exception code is + * returned (an error in the AML, or control methods or objects are + * nested too deep). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0039: + * + * If during invocation of AcpiEvaluateObject routine an internal + * stack underflow occurs then AE_STACK_UNDERFLOW exception code is + * returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiEvaluateObject + */ + +/* + * ASSERTION 0040: + * + * AcpiGetObjectInfo routine can be successfully used to obtain + * information about an Object (Device) specified by the Object handle + * parameter. The returned ACPI_DEVICE_INFO structure should contain + * correct Type, Name, and Valid fields and remaining fields: + * CurrentStatus, Address, HardwareId, UniqueId, and CompatibilityId - + * should correspond to evaluation of the Device _STA (Status) object + * and respective Device identification objects (_ADR, _HID, _UID, _CID). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetObjectInfo + */ + +/* + * ASSERTION 0041: + * + * When the Object handle parameter of AcpiGetObjectInfo routine + * is invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetObjectInfo + */ + +/* + * ASSERTION 0042: + * + * When the OutBuffer pointer parameter of AcpiGetObjectInfo + * routine is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetObjectInfo + */ + +/* + * ASSERTION 0043: + * + * When the Object handle parameter of AcpiGetObjectInfo routine + * is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetObjectInfo + */ + +/* + * ASSERTION 0044: + * + * If some call to AcpiOsAllocate routine during execution + * of AcpiGetObjectInfo routine returns NULL then AE_NO_MEMORY + * exception code is returned (insufficient dynamic memory to + * complete the request). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetObjectInfo + */ + +/* + * ASSERTION 0045: + * + * If both the Parent and the Child parameters of AcpiGetNextObject + * routine are NULL the search begins at the Root Object so that the + * OutHandle returned will belong to the Root scope of the namespace tree. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetNextObject + */ + +/* + * ASSERTION 0046: + * + * If the Child parameter of AcpiGetNextObject routine is NULL + * and the Parent is non-NULL the search is performed starting + * at the beginning of the scope so that the OutHandle returned + * will belong to the Parent scope. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetNextObject + */ + +/* + * ASSERTION 0047: + * + * If the Child parameter of AcpiGetNextObject routine is non-NULL + * it is used as the starting point (the current object) for the search + * in the Parent scope so that the OutHandle returned will be the next + * object of the specified Type in the scope. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetNextObject + */ + +/* + * ASSERTION 0048: + * + * When the Parent handle parameter of AcpiGetNextObject routine + * is invalid and the Child parameter is NULL AE_BAD_PARAMETER + * exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetNextObject + */ + +/* + * ASSERTION 0049: + * + * When the Child handle parameter of AcpiGetNextObject routine + * is invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetNextObject + */ + +/* + * ASSERTION 0050: + * + * When the Type parameter of AcpiGetNextObject routine + * refers to an invalid type AE_BAD_PARAMETER + * exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetNextObject + */ + +/* + * ASSERTION 0051: + * + * When the Child handle parameter of AcpiGetNextObject routine + * refers to the last object of the given Type within the Parent + * AE_NOT_FOUND exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetNextObject + */ + +/* + * ASSERTION 0052: + * + * If the Child handle parameter of AcpiGetNextObject routine + * is NULL and the parent object has no children of the given + * Type AE_NOT_FOUND exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetNextObject + */ + +/* + * ASSERTION 0053: + * + * If some call to AcpiOsAllocate routine during execution + * of AcpiGetNextObject routine returns NULL then AE_NO_MEMORY + * exception code is returned (insufficient dynamic memory to + * complete the request). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetNextObject + */ + +/* + * ASSERTION 0054: + * + * AcpiGetParent routine can be successfully used to obtain + * a handle to the parent of the specified Child object. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetParent + */ + +/* + * ASSERTION 0055: + * + * When the Child handle parameter of AcpiGetParent routine + * is invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetParent + */ + +/* + * ASSERTION 0056: + * + * When the OutParent pointer parameter of AcpiGetParent routine + * is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetParent + */ + +/* + * ASSERTION 0057: + * + * When the Child handle parameter of AcpiGetParent routine + * refers to a Root level entry AE_NULL_ENTRY exception + * code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetParent + */ + +/* + * ASSERTION 0058: + * + * If some call to AcpiOsAllocate routine during execution + * of AcpiGetParent routine returns NULL then AE_NO_MEMORY + * exception code is returned (insufficient dynamic memory to + * complete the request). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetParent + */ + +/* + * ASSERTION 0059: + * + * AcpiGetType routine can be successfully used to obtain + * the type of the ACPI namespace Object specified by the handle. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetType + */ + +/* + * ASSERTION 0060: + * + * When the Object handle parameter of AcpiGetType routine + * is invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetType + */ + +/* + * ASSERTION 0061: + * + * When the OutType pointer parameter of AcpiGetType routine + * is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetType + */ + +/* + * ASSERTION 0062: + * + * If some call to AcpiOsAllocate routine during execution + * of AcpiGetType routine returns NULL then AE_NO_MEMORY + * exception code is returned (insufficient dynamic memory to + * complete the request). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetType + */ + +/* + * ASSERTION 0063: + * + * When the Parent parameter is NULL AcpiGetHandle routine can be + * successfully used to translate the specified absolute Pathname + * to an object into the object handle. + * Check that interpretation of the (Handle, Pathname) pair of + * parameters is aligned with the AcpiEvaluateObject routine behavior. + * + * Facultative case: fully qualified (absolute) pathname without + * the leading backslash sign (\) is allowed + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetHandle + */ + +/* + * ASSERTION 0064: + * + * When the Parent parameter is an appropriate ACPI_HANDLE value + * AcpiGetHandle routine can be successfully used to translate the + * specified relative or absolute Pathname to an object into the object + * handle. + * Check that interpretation of the (Handle, Pathname) pair of + * parameters is aligned with the AcpiEvaluateObject routine behavior. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetHandle + */ + +/* + * ASSERTION 0065: + * + * When an invalid character is found in the Pathname parameter + * of AcpiGetHandle routine AE_BAD_CHARACTER exception code + * is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetHandle + */ + +/* + * ASSERTION 0066: + * + * When the path in the Pathname parameter of AcpiGetHandle + * routine contains at least one ACPI name that is longer than + * four characters AE_BAD_PATHNAME exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetHandle + */ + +/* + * ASSERTION 0067: + * + * When the Pathname pointer parameter of AcpiGetHandle routine + * is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetHandle + */ + +/* + * ASSERTION 0068: + * + * When the Parent parameter of AcpiGetHandle routine is NULL + * but the Pathname parameter does not begin with a backslash + * character AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetHandle + */ + +/* + * ASSERTION 0069: + * + * When the OutHandle pointer parameter of AcpiGetHandle routine + * is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetHandle + */ + +/* + * ASSERTION 0070: + * + * While the namespace has not been successfully loaded + * AE_NO_NAMESPACE exception code is returned from + * AcpiGetHandle routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetHandle + */ + +/* + * ASSERTION 0071: + * + * When one or more of the segments of the Pathname parameter + * of AcpiGetHandle routine refers to a non-existent object the + * AE_NOT_FOUND exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetHandle + */ + +/* + * ASSERTION 0072: + * + * If some call to AcpiOsAllocate routine during execution + * of AcpiGetHandle routine returns NULL then AE_NO_MEMORY + * exception code is returned (insufficient dynamic memory to + * complete the request). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetHandle + */ + +/* + * ASSERTION 0073: + * + * AcpiGetHandle routine returns AE_NOT_FOUND being passed with + * the Pathname referring to the parent of the root of the namespace. + * + * ACPI 3.0 Spec, 5.3 ACPI Namespace: + * An attempt to access names in the parent of the root will result in + * the name not being found. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetHandle + */ + +/* + * ASSERTION 0074: + * + * When the NameType parameter is the ACPI_FULL_PATHNAME manifest + * constant AcpiGetName routine can be successfully used to obtain + * a full pathname (from the root, with path segment separators) + * of the specified Object. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetName + */ + +/* + * ASSERTION 0075: + * + * When the NameType parameter is the ACPI_SINGLE_NAME manifest + * constant AcpiGetName routine can be successfully used to obtain + * a single segment ACPI name (4 characters, null terminated) of + * the specified Object. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetName + */ + +/* + * ASSERTION 0076: + * + * When the Object handle parameter of AcpiGetName routine + * is invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetName + */ + +/* + * ASSERTION 0077: + * + * When the OutName pointer parameter of AcpiGetName routine + * is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetName + */ + +/* + * ASSERTION 0078: + * + * When the Length field of the OutName pointer parameter + * of AcpiGetName routine is not ACPI_ALLOCATE_BUFFER but + * the Pointer field of OutName is NULL AE_BAD_PARAMETER + * exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetName + */ + +/* + * ASSERTION 0079: + * + * When the Length field of OutName parameter of AcpiGetName + * routine indicates that the buffer is too small to hold the + * actual pathname AE_BUFFER_OVERFLOW exception code is + * returned. Upon return, the Length field contains the minimum + * required buffer length. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetName + */ + + +/* + * ASSERTION 0080: + * + * While the namespace has not been successfully loaded + * AE_NO_NAMESPACE exception code is returned from + * AcpiGetName routine. + * + * Note: it is impossible to reproduce because the initial + * Handle parameter can not be obtained on this conditions. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetName + */ + +/* + * ASSERTION 0081: + * + * If some call to AcpiOsAllocate routine during execution + * of AcpiGetName routine returns NULL then AE_NO_MEMORY + * exception code is returned (insufficient dynamic memory to + * complete the request). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetName + */ + +/* + * ASSERTION 0082: + * + * AcpiGetDevices routine can be successfully used to perform + * a modified depth-first walk of the namespace tree to call + * the specified UserFunction function every time when a device + * with the Hardware ID matching the specified HID is found. + * If AE_OK code is returned from UserFunction then the function + * will be invoked for every next device with the matching ID + * while the walk is not done. When the result of the relevant + * _STA Method indicate an absence of the device the deeper walk + * is stopped. Besides HID set of CID is taked into account during + * the choice of the matched device. + + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetDevices + */ + +/* + * ASSERTION 0083: + * + * The ASSERTION 0082 when AE_CTRL_DEPTH code is returned from UserFunction. + * The function will be invoked for every next device with the matching ID + * if its depth within the namespace is not deeper than the depth of the + * current object. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetDevices + */ + +/* + * ASSERTION 0084: + * + * The ASSERTION 0082 when AE_CTRL_TERMINATE code is returned from UserFunction. + * The walk will be stopped immediately and AE_CTRL_TERMINATE will be returned + * from AcpiGetDevices routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetDevices + */ + +/* + * ASSERTION 0085: + * + * The ASSERTION 0082 when the code returned from UserFunction differs + * from AE_OK, AE_CTRL_DEPTH, and AE_CTRL_TERMINATE. The walk will be stopped + * immediately and the code will be returned from AcpiGetDevices routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetDevices + */ + +/* + * ASSERTION 0086: + * + * The ASSERTION 0082 when the HID is NULL. All objects of type Device + * within the namespace are passed to the User Function. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetDevices + */ + +/* + * ASSERTION 0087: + * + * When the UserFunction parameter of AcpiGetDevices routine + * is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetDevices + */ + +/* + * ASSERTION 0088: + * + * If some call to AcpiOsAllocate routine during execution + * of AcpiGetDevices routine returns NULL then AE_NO_MEMORY + * exception code is returned (insufficient dynamic memory to + * complete the request). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetDevices + */ + +/* + * ASSERTION 0089: + * + * AcpiAttachData routine can be successfully used to associate + * the specified arbitrary Data pointer with the given namespace + * Object. The function specified by the Handler parameter is called + * when the Object is deleted during the Subsystem termination. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAttachData, AcpiTerminate + */ + +/* + * ASSERTION 0090: + * + * The ASSERTION 0089 when the namespace Object is deleted during + * the unloading of the relevant ACPI table. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAttachData, AcpiUnloadTable + */ + +/* + * ASSERTION 0091: + * + * More than one Data pointer with the different Handler function can be + * associated with the given namespace Object by means additional invocations + * of the AcpiAttachData routine. All Handler functions specified are called + * when the Object is deleted. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAttachData + */ + +/* + * ASSERTION 0092: + * + * When AcpiAttachData routine for given namespace Object is repeatedly + * called with the same Handler parameter AE_ALREADY_EXISTS exception + * code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAttachData + */ + +/* + * ASSERTION 0093: + * + * When the Object handle parameter of AcpiAttachData routine + * is invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAttachData + */ + +/* + * ASSERTION 0094: + * + * When the Handler pointer parameter of AcpiAttachData routine + * is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAttachData + */ + +/* + * ASSERTION 0095: + * + * When the Data pointer parameter of AcpiAttachData routine + * is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAttachData + */ + +/* + * ASSERTION 0096: + * + * If some call to AcpiOsAllocate routine during execution + * of AcpiAttachData routine returns NULL then AE_NO_MEMORY + * exception code is returned (insufficient dynamic memory to + * complete the request). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAttachData + */ + +/* + * ASSERTION 0097: + * + * While the namespace has not been successfully loaded + * AE_NO_NAMESPACE exception code is returned from AcpiAttachData + * routine. + * + * Note. Relevant conditions can not be achieved because the Handle + * parameter either will not be successfully obtained or will + * of necessity be invalid and initiate AE_BAD_PARAMETER return. + * + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAttachData + */ + +/* + * ASSERTION 0098: + * + * AcpiDetachData routine can be successfully used to remove + * a previous association between user Data and the given namespace + * Object so that the function specified the Handler to be called + * when the Object is deleted will not really be called. + * + * IMPLEMENTATION: + * + * Associate with the given namespace Object two different Handler/Data + * pairs then detach one of them by AcpiDetachData. Only second Handler + * will be called when the Object is deleted. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAttachData, AcpiDetachData + */ + +/* + * ASSERTION 0099: + * + * When the Object handle parameter of AcpiDetachData routine + * is invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAttachData, AcpiDetachData + */ + +/* + * ASSERTION 0100: + * + * When the Handler pointer parameter of AcpiDetachData routine + * is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAttachData, AcpiDetachData + */ + +/* + * ASSERTION 0101: + * + * If some call to AcpiOsAllocate routine during execution + * of AcpiDetachData routine returns NULL then AE_NO_MEMORY + * exception code is returned (insufficient dynamic memory to + * complete the request). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAttachData, AcpiDetachData + */ + +/* + * ASSERTION 0102: + * + * While the namespace has not been successfully loaded + * AE_NO_NAMESPACE exception code is returned from AcpiDetachData + * routine. + * + * Note. See ASSERTION 0097. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAttachData, AcpiDetachData + */ + +/* + * ASSERTION 0103: + * + * When there are no Handler/Data pair with the given Handler pointer + * previously associated with the specified namespace Object parameter + * of AcpiDetachData routine AE_NOT_FOUND exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAttachData, AcpiDetachData + */ + +/* + * ASSERTION 0104: + * + * AcpiGetData routine can be successfully used to retrieve + * Data that was previously associated with the given namespace + * Object. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAttachData, AcpiGetData + */ + +/* + * ASSERTION 0105: + * + * When the Object handle parameter of AcpiGetData routine + * is invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAttachData, AcpiGetData + */ + +/* + * ASSERTION 0106: + * + * When the Handler pointer parameter of AcpiGetData routine + * is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAttachData, AcpiGetData + */ + +/* + * ASSERTION 0107: + * + * When the Data pointer parameter of AcpiGetData routine + * is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAttachData, AcpiGetData + */ + +/* + * ASSERTION 0108: + * + * If some call to AcpiOsAllocate routine during execution + * of AcpiGetData routine returns NULL then AE_NO_MEMORY + * exception code is returned (insufficient dynamic memory to + * complete the request). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAttachData, AcpiGetData + */ + +/* + * ASSERTION 0109: + * + * While the namespace has not been successfully loaded + * AE_NO_NAMESPACE exception code is returned from + * AcpiGetData routine. + * + * Note. See ASSERTION 0097. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAttachData, AcpiGetData + */ + +/* + * ASSERTION 0110: + * + * When there are no Handler/Data pair with the given Handler pointer + * previously associated with the specified namespace Object parameter + * of AcpiGetData routine AE_NOT_FOUND exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAttachData, AcpiGetData + */ + +/* + * ASSERTION 0111: + * + * AcpiWalkNamespace routine can be successfully used to perform + * a modified depth-first walk of the namespace tree starting (and + * ending) at the object specified by the StartObject handle to call + * the specified UserFunction function every time when an object that + * matches the Type parameter is found. If AE_OK code is returned from + * UserFunction then the function will be invoked for every next object + * with the matching Type until the MaxDepth levels are descended. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiWalkNamespace + */ + +/* + * ASSERTION 0112: + * + * The ASSERTION 0111 when AE_CTRL_DEPTH code is returned from + * UserFunction. The function will be invoked for every next object + * with the matching Type if its depth within the namespace is not + * deeper than the depth of the current object. Also AE_CTRL_DEPTH + * will be returned from AcpiWalkNamespace routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiWalkNamespace + */ + +/* + * ASSERTION 0113: + * + * The ASSERTION 0111 when AE_CTRL_TERMINATE code is returned from + * UserFunction. The walk will be stopped immediately and AE_CTRL_TERMINATE + * will be returned from AcpiWalkNamespace routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiWalkNamespace + */ + +/* + * ASSERTION 0114: + * + * The ASSERTION 0111 when the code returned from UserFunction differs + * from AE_OK, AE_CTRL_DEPTH, and AE_CTRL_TERMINATE. The walk will be stopped + * immediately and the code will be returned from AcpiWalkNamespace routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiWalkNamespace + */ + +/* + * ASSERTION 0115: + * + * When the MaxDepth parameter of AcpiWalkNamespace routine + * is zero AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiWalkNamespace + */ + +/* + * ASSERTION 0116: + * + * When the UserFunction address parameter of AcpiWalkNamespace + * routine is NULL AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiWalkNamespace + */ + +/* + * ASSERTION 0117: + * + * When the StartObject handle parameter of AcpiWalkNamespace + * routine is invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiWalkNamespace + */ + +/* + * ASSERTION 0118: + * + * When the Type parameter of AcpiWalkNamespace routine + * is invalid AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiWalkNamespace + */ + +/* + * ASSERTION 0119: + * + * If some call to AcpiOsAllocate routine during execution + * of AcpiWalkNamespace routine returns NULL then AE_NO_MEMORY + * exception code is returned (insufficient dynamic memory to + * complete the request). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiWalkNamespace + */ + +/* + * ASSERTION 0120: + * + * AcpiAttachData routine can be successfully used to associate + * the specified arbitrary Data pointer with the given namespace + * Object. The function specified by the Handler parameter is not + * called when the attached Object is replaced with some Object + * of another ACPI type. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAttachData, AcpiDetachData, + * AcpiTerminate + */ + +/* + * ASSERTION 0121: + * + * When the path in the Pathname parameter of AcpiGetHandle + * routine contains some ACPI name that is shorter than four + * characters long it can be successfully processed. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetHandle + */ + +/* + * ASSERTION 0122: + * + * The ASSERTION 0091 when the target Namespace Object is \. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAttachData, AcpiDetachData + */ + +/* + * ASSERTION 0123: + * + * The ASSERTION 0091 when the target Namespace Object is Named + * dynamic object on Method level. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAttachData, AcpiDetachData + */ + +/* + * ASSERTION 0124: + * + * The ASSERTION 0091 when the target Namespace Object is Named + * dynamic object on Global level. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAttachData, AcpiDetachData + */ + +/* + * ASSERTION 0125: + * + * The ASSERTION 0091 for multiple Namespace Objects. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiAttachData, AcpiDetachData + */ diff --git a/tests/aapits/spec/resource.txt b/tests/aapits/spec/resource.txt new file mode 100755 index 0000000..f16f080 --- /dev/null +++ b/tests/aapits/spec/resource.txt @@ -0,0 +1,443 @@ +/* + * The following assertions are based on description of + * ACPI Resource Management interfaces provided by ACPICA + * (section 6.6 "ACPI Resource Management" of ACPICA ProgRef, + * routines AcpiGetCurrentResources, AcpiGetPossibleResources, + * AcpiSetCurrentResources, AcpiGetIrqRoutingTable, AcpiWalkResources). + * + */ + +/* + * ASSERTION 0000: + * + * AcpiGetCurrentResources routine can be successfully used to obtain + * the current resources for a specific device specified by the Device + * handle parameter. The resource data is placed in the buffer contained + * in the OutBuffer structure. Upon completion the Length field of OutBuffer + * will indicate the number of bytes copied into the Pointer field of the + * OutBuffer buffer. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetCurrentResources + */ + +/* + * ASSERTION 0001: + * + * When the Device handle parameter of AcpiGetCurrentResources routine + * is invalid the AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetCurrentResources + */ + +/* + * ASSERTION 0002: + * + * When the OutBuffer pointer parameter of AcpiGetCurrentResources + * routine is NULL the AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetCurrentResources + */ + +/* + * ASSERTION 0003: + * + * When the Length field of the OutBuffer pointer parameter + * of AcpiGetCurrentResources routine is not ACPI_ALLOCATE_BUFFER + * but the Pointer field of OutBuffer is NULL the AE_BAD_PARAMETER + * exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetCurrentResources + */ + +/* + * ASSERTION 0004: + * + * When the Device handle parameter of AcpiGetCurrentResources + * routine does not refer to an object of type ACPI_TYPE_DEVICE + * the AE_TYPE exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetCurrentResources + */ + +/* + * ASSERTION 0005: + * + * When the Length field of OutBuffer parameter of + * AcpiGetCurrentResources routine is too small to hold the actual + * returned object the AE_BUFFER_OVERFLOW exception code is + * returned. Upon return, the Length field contains the minimum + * required buffer length. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetCurrentResources + */ + +/* + * ASSERTION 0006: + * + * If some call to AcpiOsAllocate routine during execution + * of AcpiGetCurrentResources routine returns NULL then AE_NO_MEMORY + * exception code is returned (insufficient dynamic memory to + * complete the request). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetCurrentResources + */ + +/* + * ASSERTION 0007: + * + * AcpiGetPossibleResources routine can be successfully used to obtain + * the possible resources for a specific device specified by the Device + * handle parameter. The resource data is placed in the buffer contained + * in the OutBuffer structure. Upon completion the Length field of OutBuffer + * will indicate the number of bytes copied into the Pointer field of the + * OutBuffer buffer. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetPossibleResources + */ + +/* + * ASSERTION 0008: + * + * When the Device handle parameter of AcpiGetPossibleResources routine + * is invalid the AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetPossibleResources + */ + +/* + * ASSERTION 0009: + * + * When the OutBuffer pointer parameter of AcpiGetPossibleResources + * routine is NULL the AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetPossibleResources + */ + +/* + * ASSERTION 0010: + * + * When the Length field of the OutBuffer pointer parameter + * of AcpiGetPossibleResources routine is not ACPI_ALLOCATE_BUFFER + * but the Pointer field of OutBuffer is NULL the AE_BAD_PARAMETER + * exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetPossibleResources + */ + +/* + * ASSERTION 0011: + * + * When the Device handle parameter of AcpiGetPossibleResources + * routine does not refer to an object of type ACPI_TYPE_DEVICE + * the AE_TYPE exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetPossibleResources + */ + +/* + * ASSERTION 0012: + * + * When the Length field of OutBuffer parameter of + * AcpiGetPossibleResources routine is too small to hold the actual + * returned object the AE_BUFFER_OVERFLOW exception code is + * returned. Upon return, the Length field contains the minimum + * required buffer length. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetPossibleResources + */ + +/* + * ASSERTION 0013: + * + * If some call to AcpiOsAllocate routine during execution + * of AcpiGetPossibleResources routine returns NULL then AE_NO_MEMORY + * exception code is returned (insufficient dynamic memory to + * complete the request). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetPossibleResources + */ + +/* + * ASSERTION 0014: + * + * AcpiSetCurrentResources routine can be successfully used to set + * the current resources for a specific device specified by the Device + * handle parameter. The resource data is passed to the routine the buffer + * pointed to by the InBuffer parameter. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiSetCurrentResources + */ + +/* + * ASSERTION 0015: + * + * When the Device handle parameter of AcpiSetCurrentResources routine + * is invalid the AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiSetCurrentResources + */ + +/* + * ASSERTION 0016: + * + * When the InBuffer pointer parameter of AcpiSetCurrentResources + * routine is NULL the AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiSetCurrentResources + */ + +/* + * ASSERTION 0017: + * + * When the Pointer field of the InBuffer pointer parameter of + * AcpiSetCurrentResources routine is NULL the AE_BAD_PARAMETER + * exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiSetCurrentResources + */ + +/* + * ASSERTION 0018: + * + * When the Length field of the InBuffer pointer parameter + * of AcpiSetCurrentResources routine is zero the AE_BAD_PARAMETER + * exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiSetCurrentResources + */ + +/* + * ASSERTION 0019: + * + * When the Device handle parameter of AcpiSetCurrentResources + * routine does not refer to an object of type ACPI_TYPE_DEVICE + * the AE_TYPE exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiSetCurrentResources + */ + +/* + * ASSERTION 0020: + * + * If some call to AcpiOsAllocate routine during execution + * of AcpiSetCurrentResources routine returns NULL then AE_NO_MEMORY + * exception code is returned (insufficient dynamic memory to + * complete the request). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiSetCurrentResources + */ + +/* + * ASSERTION 0021: + * + * AcpiGetIrqRoutingTable routine can be successfully used to obtain + * the IRQ routing table for a specific bus specified by the Device + * handle parameter. It does so by attempting to execute the _PRT method + * contained in the scope of the Device. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetIrqRoutingTable + */ + +/* + * ASSERTION 0022: + * + * When the Device handle parameter of AcpiGetIrqRoutingTable routine + * is invalid the AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetIrqRoutingTable + */ + +/* + * ASSERTION 0023: + * + * When the OutBuffer pointer parameter of AcpiGetIrqRoutingTable + * routine is NULL the AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetIrqRoutingTable + */ + +/* + * ASSERTION 0024: + * + * When the Length field of the OutBuffer pointer parameter + * of AcpiGetIrqRoutingTable routine is not ACPI_ALLOCATE_BUFFER + * but the Pointer field of OutBuffer is NULL the AE_BAD_PARAMETER + * exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetIrqRoutingTable + */ + +/* + * ASSERTION 0025: + * + * When the Device handle parameter of AcpiGetIrqRoutingTable + * routine does not refer to an object of type ACPI_TYPE_DEVICE + * the AE_TYPE exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetIrqRoutingTable + */ + +/* + * ASSERTION 0026: + * + * When the Length field of OutBuffer parameter of + * AcpiGetIrqRoutingTable routine is too small to hold the actual + * returned object the AE_BUFFER_OVERFLOW exception code is + * returned. Upon return, the Length field contains the minimum + * required buffer length. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetIrqRoutingTable + */ + +/* + * ASSERTION 0027: + * + * If some call to AcpiOsAllocate routine during execution + * of AcpiGetIrqRoutingTable routine returns NULL then AE_NO_MEMORY + * exception code is returned (insufficient dynamic memory to + * complete the request). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiGetIrqRoutingTable + */ + +/* + * ASSERTION 0028: + * + * AcpiWalkResources routine can be successfully used to walk through + * the current or possible (the Path parameter specifies which) resource + * list of device resources and call the specified UserFunction function + * for every resource of the given Device. If AE_OK code is returned from + * UserFunction then the function will be invoked for every next resource + * in the list. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiWalkResources + */ + +/* + * ASSERTION 0029: + * + * The ASSERTION 0028 when AE_DEPTH code is returned from UserFunction. + * The function will be invoked for every next resource in the list. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiWalkResources + */ + +/* + * ASSERTION 0030: + * + * The ASSERTION 0028 when AE_TERMINATE code is returned from UserFunction. + * The walk will be stopped immediately and AE_TERMINATE will be returned + * from AcpiWalkResources routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiWalkResources + */ + +/* + * ASSERTION 0031: + * + * The ASSERTION 0028 when the code returned from UserFunction differs + * from AE_OK, AE_DEPTH, and AE_TERMINATE. The walk will be stopped + * immediately and the code will be returned from AcpiWalkResources routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiWalkResources + */ + +/* + * ASSERTION 0032: + * + * When the Device handle parameter of AcpiWalkResources + * routine is invalid the AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiWalkResources + */ + +/* + * ASSERTION 0033: + * + * When the Path parameter of AcpiWalkResources routine does not + * refer to a _CRS or _PRS control method the AE_BAD_PARAMETER + * exception code is returned. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiWalkResources + */ + +/* + * ASSERTION 0034: + * + * If some call to AcpiOsAllocate routine during execution + * of AcpiWalkResources routine returns NULL then AE_NO_MEMORY + * exception code is returned (insufficient dynamic memory to + * complete the request). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables, + * AcpiEnableSubsystem, AcpiInitializeObjects, + * AcpiWalkResources + */ diff --git a/tests/aapits/spec/table.txt b/tests/aapits/spec/table.txt new file mode 100755 index 0000000..fa77e7a --- /dev/null +++ b/tests/aapits/spec/table.txt @@ -0,0 +1,684 @@ +/* + * The following assertions are based on description of + * ACPI Table Management interfaces provided by ACPICA + * (section 6.4 "ACPI Table Management" of ACPICA ProgRef, + * routines AcpiFindRootPointer, AcpiInitializeTables, + * AcpiReallocateRootTable, AcpiLoadTables, AcpiGetTableHeader, + * AcpiGetTable, AcpiGetTableByIndex). + * + */ + +/* + * ASSERTION 0000: + * + * When the TableAddress pointer parameter of AcpiFindRootPointer + * routine is NULL the AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiFindRootPointer + */ + +/* + * ASSERTION 0001: + * + * When the Core Subsystem has not been initialized AcpiInitializeTables + * routine called with InitialTableArray pointer of enough room can be + * successfully used to register ACPI tables pointed by the supplied RSDT. + * + * ROUTINES: AcpiInitializeTables + */ + +/* + * ASSERTION 0002: + * + * When the Core Subsystem has not been initialized AcpiInitializeTables + * routine called with InitialTableArray pointer of no enough room to + * register all ACPI tables pointed by the supplied RSDT does not fail + * (actually table entries is truncated). + * + * ROUTINES: AcpiInitializeTables + */ + +/* + * ASSERTION 0003: + * + * When the Core Subsystem has not been initialized the NULL pointer + * passed to AcpiInitializeTables routine as its InitialTableArray + * parameter (to request dynamic allocation of the initial Tables + * array) will cause the routine to fail. + * + * There are no any calls to the AcpiOs* interfaces while the routine is + * thus invoked. + * + * ROUTINES: AcpiInitializeTables + */ + +/* + * ASSERTION 0004: + * + * When the Core Subsystem has been initialized AcpiInitializeTables + * routine called with NULL InitialTableArray pointer (to request + * dynamic allocation of the initial Tables array) can be successfully + * used to register ACPI tables pointed by the supplied RSDT. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables + */ + +/* + * ASSERTION 0005: + * + * If some call to AcpiOsAllocate routine during invocation + * of AcpiInitializeTables routine called with InitialTableArray + * parameter set to NULL returns NULL then AcpiInitializeTables + * returns AE_NO_MEMORY. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables + */ + +/* + * ASSERTION 0006: + * + * When AllowResize parameter passed to AcpiInitializeTables routine + * is set to 1 (to allow dynamic enlargement of the initial Tables + * array) AcpiReallocateRootTable routine can be successfully used + * to reallocate the array. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables + * AcpiReallocateRootTable + */ + +/* + * ASSERTION 0007: + * + * If some call to AcpiOsAllocate routine during invocation + * of AcpiReallocateRootTable routine returns NULL then + * AcpiReallocateRootTable returns AE_NO_MEMORY. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables + * AcpiReallocateRootTable + */ + +/* + * ASSERTION 0008: + * + * When AllowResize parameter passed to AcpiInitializeTables routine + * is set to 1 but the Core Subsystem has not been initialized + * AcpiReallocateRootTable routine will result in an exception. + * + * There are no any calls to the AcpiOs* interfaces while the routine is + * thus invoked. + * + * ROUTINES: AcpiInitializeTables, AcpiReallocateRootTable + */ + +/* + * ASSERTION 0009: + * + * When AllowResize parameter passed to AcpiInitializeTables routine + * is set to 0 (dynamic enlargement of the initial Tables array is not + * allowed) a call to AcpiReallocateRootTable routine will result in + * AE_SUPPORT exception. + * + * There are no any calls to the AcpiOs* interfaces while the routine is + * thus invoked. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables + * AcpiReallocateRootTable + */ + +/* + * ASSERTION 0010: + * + * When AcpiInitializeTables routine was called with NULL InitialTableArray + * pointer (to request dynamic allocation of the initial Tables array) a call + * to AcpiReallocateRootTable routine will result in AE_SUPPORT exception. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables + * AcpiReallocateRootTable + */ + +/* + * ASSERTION 0011: + * + * When the Core Subsystem has not been initialized the pointer + * to any ACPI table pointed by the supplied RSDT can be obtained + * through AcpiGetTable routine passed with the respective signature + * string and instance number after AcpiInitializeTables routine was + * called. + * + * ROUTINES: AcpiInitializeTables, AcpiGetTable + */ + +/* + * ASSERTION 0012: + * + * Statement of ASSERTION 0011 when the Core Subsystem has been + * initialized + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables, + * AcpiGetTable + */ + +/* + * ASSERTION 0013: + * + * If AcpiOsGetRootPointer OSL routine fails then AcpiInitializeTables + * routine returns AE_NOT_FOUND (there is no any RSDP found). + * + * ROUTINES: AcpiInitializeTables + */ + +/* + * ASSERTION 0014: + * + * If specified table is not present in the supplied RSDT + * then AcpiGetTable routine returns AE_NOT_FOUND. + * + * ROUTINES: AcpiInitializeTables, AcpiGetTable + */ + +/* + * ASSERTION 0015: + * + * Statement of ASSERTION 0011 when the Core Subsystem has been + * initialized and static Table List reallocated. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables, + * AcpiReallocateRootTable, AcpiGetTable + */ + +/* + * ASSERTION 0016: + * + * After the successful call to AcpiInitializeTables routine + * and required initialization of the Core Subsystem AcpiLoadTables + * routine can be successfully used to load valid ACPI tables + * pointed by the supplied RSDT. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables + * AcpiLoadTables + */ + +/* + * ASSERTION 0017: + * + * Statement of ASSERTION 0011 when the Core Subsystem has been + * initialized before call to AcpiInitializeTables routine. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables + * AcpiLoadTables + */ + +/* + * ASSERTION 0018: + * + * After the successful call to AcpiLoadTables routine + * the next call to AcpiTerminate one frees all the resources + * allocated by Core Subsystem. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables + * AcpiReallocateRootTable, AcpiLoadTables + * AcpiTerminate + */ + +/* + * ASSERTION 0019: + * + * If the initial call to AcpiInitializeSubsystem routine was not + * performed at all then AcpiLoadTables routine fails. There is no + * call to any AcpiOs* interface while the routine is thus invoked. + * The same result should be obtained even if AcpiInitializeTables + * will have been called. + * + * ROUTINES: AcpiInitializeTables, AcpiLoadTables + */ + +/* + * ASSERTION 0020: + * + * Statement of ASSERTION 0019 when a call to AcpiInitializeSubsystem + * routine was done but resulted in failure. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables, + * AcpiLoadTables + */ + +/* + * ASSERTION 0021: + * + * If AcpiLoadTables routine initially failed then the next + * call to AcpiTerminate one frees all the resources allocated + * by Core Subsystem. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables + * AcpiReallocateRootTable, AcpiLoadTables + * AcpiTerminate + */ + +/* + * ASSERTION 0022: + * + * Statement of ASSERTION 0021 when AcpiReallocateRootTable + * is not invoked. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables + * AcpiLoadTables, AcpiTerminate + */ + +/* + * ASSERTION 0023: + * + * If AcpiLoadTables routine initially returned AE_OK then any repeated + * call to it results in failure. The next call to AcpiTerminate routine + * frees all the resources allocated by Core Subsystem. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables + * AcpiReallocateRootTable, AcpiLoadTables + * AcpiTerminate + */ + +/* + * ASSERTION 0024: + * + * If some call to AcpiOsAllocate routine during invocation + * of AcpiLoadTables routine returns NULL then AcpiLoadTables + * returns AE_NO_MEMORY. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables + * AcpiTerminate + */ + +/* + * ASSERTION 0025: + * + * AcpiInitializeTables routine returns AE_INVALID_TABLE_LENGTH + * when the table header of RSDT contains an invalid length. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables, + * AcpiTerminate + */ + +/* + * ASSERTION 0026: + * + * AcpiInitializeTables routine returns SUCCESS even if some + * of the required ACPI Tables: FADT, FACS or DSDT - can not + * be found in the memory structures in the supplied RSDT. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables, + * AcpiTerminate + */ + +/* + * ASSERTION 0027: + * + * AcpiLoadTables routine returns AE_BAD_CHECKSUM when computed table + * checksum does not match the checksum in the table. Take into account + * ACPI_CHECKSUM_ABORT definition. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables, + * AcpiLoadTables, AcpiTerminate + */ + +/* + * ASSERTION 0028: + * + * AcpiInitializeTables routine returns AE_BAD_SIGNATURE when the table + * header of FACS or DSDT contains an invalid signature (RSDP is actually + * checked in AcpiFindRootPointer which is not used in emulating mode, bad + * FADT signature can not be detected as far as such a table can not be + * recognized to be actual FADT). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables, + * AcpiTerminate + */ + +/* + * ASSERTION 0029: + * + * AcpiLoadTables routine returns AE_BAD_HEADER when the table header + * is invalid or not of a valid type (the length field is invalid). + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables, + * AcpiLoadTables, AcpiTerminate + */ + +/* + * ASSERTION 0030: + * + * AcpiLoadTables routine returns AE_INVALID_TABLE_LENGTH when the length + * field in the table header of FADT or FACS is shorter than the relevant + * table structure field. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables, + * AcpiLoadTables, AcpiTerminate + */ + +/* + * ASSERTION 0031: + * + * After the successful call to AcpiInitializeTables routine + * AcpiGetTableByIndex one can be successfully used to get the + * pointer to a table specified by the Index in the List of the + * registered ACPI Tables. + * + * ROUTINES: AcpiInitializeTables, AcpiGetTableByIndex + */ + +/* + * ASSERTION 0032: + * + * Statement of ASSERTION 0031 when the Core Subsystem has been + * initialized and AcpiReallocateRootTable routine executed. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables + * AcpiReallocateRootTable, AcpiGetTableByIndex + * AcpiTerminate + */ + + +/* + * ASSERTION 0033: + * + * When the Index parameter of AcpiGetTableByIndex routine + * is out of a range of the registered ACPI Tables indexes + * the AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeTables, AcpiGetTableByIndex + */ + + +/* + * ASSERTION 034: + * + * When the OutTable pointer parameter of AcpiGetTableByIndex + * routine is NULL the AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeTables, AcpiGetTableByIndex + */ + +/* + * ASSERTION 0035: + * + * Since next instance of SSDT (or PSDT) is loaded by means + * Load ASL operator and the number of the registered ACPI Tables + * incremented AcpiGetTableByIndex routine will successfully + * return a pointer to the Table even if the Table is unloaded + * by means UnLoad ASL operator. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables + * AcpiLoadTables, AcpiEnableSubsystem, + * AcpiInitializeObjects, AcpiGetTableByIndex + */ + +/* + * ASSERTION 0036: + * + * When AllowResize parameter passed to AcpiInitializeTables routine + * is set to 0 (dynamic enlargement of the initial Tables array is not + * allowed) loading of some next instance of SSDT (or PSDT) by means + * Load ASL operator will result in AE_SUPPORT exception. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables + * AcpiLoadTables, AcpiEnableSubsystem, + * AcpiInitializeObjects + */ + +/* + * ASSERTION 0037: + * + * When AllowResize parameter passed to AcpiInitializeTables routine + * is set to 1 (to allow dynamic enlargement of the initial Tables + * array) loading of any next instance of SSDT (or PSDT) by means + * Load ASL operator will be successful. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables + * AcpiLoadTables, AcpiEnableSubsystem, + * AcpiInitializeObjects + */ + +/* + * ASSERTION 0038: + * + * When the Core Subsystem has been initialized the request for + * dynamic allocation of the initial Tables array (InitialTableArray + * pointer parameter of AcpiInitializeTables is set to NULL) suppresses + * the "dynamic enlargement of the initial Tables array is not allowed" + * feature (AllowResize parameter is set to 0) so that loading of any next + * instance of SSDT (or PSDT) by means Load ASL operator will be successful. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables + * AcpiLoadTables, AcpiEnableSubsystem, + * AcpiInitializeObjects + */ + +/* + * ASSERTION 0039: + * + * After the successful call to AcpiInitializeTables routine + * AcpiGetTableHeader one can be successfully used to get the + * header of a table specified by the Signature and Instance + * parameter set to 1. + * + * ROUTINES: AcpiInitializeTables, AcpiGetTableHeader + */ + +/* + * ASSERTION 0040: + * + * Statement of ASSERTION 0039 when the Core Subsystem has been + * initialized and AcpiReallocateRootTable routine executed. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables + * AcpiReallocateRootTable, AcpiGetTableHeader + * AcpiTerminate + */ + +/* + * ASSERTION 0041: + * + * After the successful call to AcpiInitializeTables routine + * AcpiGetTableHeader one can be successfully used to get the + * headers of a different Instances of SSDT (PSDT). + * + * ROUTINES: AcpiInitializeTables, AcpiGetTableHeader + */ + +/* + * ASSERTION 0042: + * + * Statement of ASSERTION 0041 when the Core Subsystem has been + * initialized and AcpiReallocateRootTable routine executed. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables + * AcpiReallocateRootTable, AcpiGetTableHeader + * AcpiTerminate + */ + +/* + * ASSERTION 0043: + * + * When the Signature parameter of AcpiGetTableHeader routine + * points to an invalid Table signature the AE_NOT_FOUND exception + * code is returned. + * + * ROUTINES: AcpiInitializeTables, AcpiGetTableHeader + */ + +/* + * ASSERTION 044: + * + * When the OutTableHeader pointer parameter of AcpiGetTableHeader + * routine is NULL the AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeTables, AcpiGetTableHeader + */ + +/* + * ASSERTION 045: + * + * When the table type specified by the Signature only supports + * a single table and the Instance parameter of AcpiGetTableHeader + * routine is not equal to 1 the AE_NOT_FOUND exception code is returned. + * + * ROUTINES: AcpiInitializeTables, AcpiGetTableHeader + */ + +/* + * ASSERTION 0046: + * + * AcpiGetTableHeader routine returns AE_NOT_FOUND when the table + * type specified by the Signature is valid but there is no table + * of these Signature and Instance currently loaded. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiGetTableHeader + */ + +/* + * ASSERTION 0047: + * + * Since given instance of SSDT (or PSDT) is loaded by means + * Load ASL operator AcpiGetTableHeader routine will successfully + * return a pointer to the Header of the Table even if the Table + * is unloaded by means UnLoad ASL operator. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables + * AcpiLoadTables, AcpiEnableSubsystem, + * AcpiInitializeObjects, AcpiGetTableHeader + */ + +/* + * ASSERTION 0048: + * + * After the successful call to AcpiInitializeTables routine + * AcpiGetTable one can be successfully used to get the + * header of a table specified by the Signature and Instance + * parameter set to 1. + * + * ROUTINES: AcpiInitializeTables, AcpiGetTable + */ + +/* + * ASSERTION 0049: + * + * Statement of ASSERTION 0048 when the Core Subsystem has been + * initialized and AcpiReallocateRootTable routine executed. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables + * AcpiReallocateRootTable, AcpiGetTable + * AcpiTerminate + */ + +/* + * ASSERTION 0050: + * + * After the successful call to AcpiInitializeTables routine + * AcpiGetTable one can be successfully used to get the + * headers of a different Instances of SSDT (PSDT). + * + * ROUTINES: AcpiInitializeTables, AcpiGetTable + */ + +/* + * ASSERTION 0051: + * + * Statement of ASSERTION 0050 when the Core Subsystem has been + * initialized and AcpiReallocateRootTable routine executed. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables + * AcpiReallocateRootTable, AcpiGetTable + * AcpiTerminate + */ + +/* + * ASSERTION 0052: + * + * When the Signature parameter of AcpiGetTable routine + * points to an invalid Table signature the AE_NOT_FOUND exception + * code is returned. + * + * ROUTINES: AcpiInitializeTables, AcpiGetTable + */ + +/* + * ASSERTION 053: + * + * When the OutTable pointer parameter of AcpiGetTable routine + * is NULL the AE_BAD_PARAMETER exception code is returned. + * + * ROUTINES: AcpiInitializeTables, AcpiGetTable + */ + +/* + * ASSERTION 054: + * + * When the table type specified by the Signature only supports + * a single table and the Instance parameter of AcpiGetTable + * routine is not equal to 1 the AE_NOT_FOUND exception code is returned. + * + * ROUTINES: AcpiInitializeTables, AcpiGetTable + */ + +/* + * ASSERTION 0055: + * + * AcpiGetTable routine returns AE_NOT_FOUND when the table + * type specified by the Signature is valid but there is no table + * of these Signature and Instance currently loaded. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiGetTable + */ + +/* + * ASSERTION 0056: + * + * Since given instance of SSDT (or PSDT) is loaded by means + * Load ASL operator AcpiGetTable routine will successfully + * return a pointer to the the Table even if the Table is + * unloaded by means UnLoad ASL operator. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables + * AcpiLoadTables, AcpiEnableSubsystem, + * AcpiInitializeObjects, AcpiGetTable + */ + +/* + * ASSERTION 0057: + * + * AcpiGetTable and AcpiGetTableHeader routines passed with + * the same Signature and Instance parameters return the same + * pointer to the requested Table. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiGetTable, + * AcpiGetTableHeader + */ + + +/* + * ASSERTION 0058: + * + * Bug 34 reproducing + * + * If initialy loaded SSDT is repeatedly loaded by means of Load + * ASL operator and the previous Table in the registered Tables list + * have an incorrect checksum value then Evaluation of the Method with + * the Load operator returns AE_ALREADY_EXIST (not AE_BAD_CHECKSUM). + * + * Note: ACPI_CHECKSUM_ABORT macros should be defined as TRUE + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables + * AcpiLoadTables, AcpiEnableSubsystem, + * AcpiInitializeObjects + */ + + +/* + * ASSERTION 0059: + * + * AcpiLoadTables routine returns AE_NO_ACPI_TABLES when at least + * one of the required ACPI Tables: FADT, FACS or DSDT - could not be + * found in the memory structures in the supplied RSDT. + * + * ROUTINES: AcpiInitializeSubsystem, AcpiInitializeTables, + * AcpiLoadTables, AcpiTerminate + */ + diff --git a/tests/aslts.sh b/tests/aslts.sh new file mode 100755 index 0000000..154e5b3 --- /dev/null +++ b/tests/aslts.sh @@ -0,0 +1,120 @@ +#!/bin/bash +# +# aslts - execute ASL test suite +# +# optional parameters: +# + +# Will build temporary versions of iASL and acpiexec +postfix=`date +%H%M%S` +tmp_iasl=/tmp/iasl-$postfix +tmp_acpiexec=/tmp/acpiexec-$postfix + + +# Setup environment and variables. +# Need a path to ASLTS and iasl,acpiexec generation dir +setup_environment() { + + aslts_dir=$1 + generation_dir=$2 + + if [ -z "$generation_dir" ] ; then + echo "missing generation directory argument" + exit + elif [ -z "$aslts_dir" ] ; then + echo "missing aslts directory argument" + exit + elif [ ! -d "$generation_dir" ] ; then + echo $generation_dir is not a dir + exit + elif [ ! -d "$aslts_dir" ] ; then + echo $aslts_dir is not a dir + exit + fi + + # Variables required by ASLTS + unset ASL + unset acpiexec + unset ASLTSDIR + + export ASL=$tmp_iasl + export acpiexec=$tmp_acpiexec + export ASLTSDIR=$aslts_dir + export PATH=$ASLTSDIR/bin:$PATH +} + + +# Generate both iASL and acpiexec from source +build_acpi_tools() { + + restore_dir=$PWD + cd ${generation_dir} + rm -f $tmp_iasl $tmp_acpiexec + + # Build native-width iASL compiler and acpiexec + make clean + make iasl + make acpiexec + + if [ -d "bin64" ] && [ -f "bin64/iasl" ]; then + echo "Installing 64-bit tools" + cp bin64/iasl $tmp_iasl + cp bin64/acpiexec $tmp_acpiexec + elif [ -d "bin32" ] && [ -f "bin32/iasl" ]; then + echo "Installing 32-bit tools" + cp bin32/iasl $tmp_iasl + cp bin32/acpiexec $tmp_acpiexec + else + echo "Could not find iASL/acpiexec tools" + exit + fi + + # Ensure that the tools are available + if [ ! -f $tmp_iasl ] ; then + echo "iasl compiler not found" + exit + elif [ ! -f $tmp_acpiexec ] ; then + echo "acpiexec utility not found" + exit + fi + + cd $restore_dir +} + + +# Compile and run the ASLTS suite +run_aslts() { + + # Remove a previous version of the AML test code + version=`$ASL | grep version | awk '{print $5}'` + rm -rf $ASLTSDIR/tmp/aml/$version + + # Compile all ASL test modules + Do 0 aslts + + # Execute the test suite + echo "" + echo "ASL Test Suite Started: `date`" + start_time=$(date) + Do 1 + echo "" + echo "ASL Test Suite Finished: `date`" + echo " Started: $start_time" + + rm -f $tmp_iasl $tmp_acpiexec +} + +NPARAM=$# + +# Main - arguments are optional + +if [ $NPARAM -eq 2 ]; then + setup_environment $1 $2 +else + setup_environment aslts ../generate/unix +fi + + +build_acpi_tools +run_aslts + diff --git a/tests/aslts/HOW_TO_INSTALL b/tests/aslts/HOW_TO_INSTALL new file mode 100644 index 0000000..44648e2 --- /dev/null +++ b/tests/aslts/HOW_TO_INSTALL @@ -0,0 +1,61 @@ + +How to install the AML tests +---------------------------- + + +There are two ways to install the AML tests in a Unix-like environment: + +1. > cd aslts + > make install + +2. > aslts/bin/Do 0 aslts + +where 'aslts' is the root directory of the test suite. The base name must +be exactly 'aslts'. + +The generated tests will be located in the aslts/tmp/aml parent directory +which is created automatically by make-install. + +The actual AML code of the individual ASL tests are placed in the following +subdirectories: + + With compiler optimization: + + aslts/tmp/aml/opt/32 + aslts/tmp/aml/opt/64 + + Without compiler optimization: + + aslts/tmp/aml/nopt/32 + aslts/tmp/aml/nopt/64 + +If the directories aslts/tmp/aml/* do not exist they are automatically +created. + + +SEE ALSO + + aslts/HOW_TO_USE + Comments on the Do utility in the bin/README file + + +ENVIRONMENT + + For test generation, the envirnoment variable 'ASL' should be set to the + pathname of the iASL compiler. + + For example, for cygwin under windows: + + > export ASL="c:/acpica/libraries/iasl.exe" + + + For test execution, two additional variables are required: + + acpiexec - path to acpiexec utility: (example) + + > export acpiexec="c:/acpica/libraries/acpiexec.exe" + + ASLTSDIR - path to the aslts directory: (example) + + > export ASLTSDIR="c:/acpica/tests/aslts" + diff --git a/tests/aslts/HOW_TO_USE b/tests/aslts/HOW_TO_USE new file mode 100644 index 0000000..cb6c236 --- /dev/null +++ b/tests/aslts/HOW_TO_USE @@ -0,0 +1,243 @@ + +How to execute the run-time tests +--------------------------------- + + +1. Install the tests (see HOW_TO_INSTALL). + + +2. To configure the required/desired set of test cases and the modes of + the execution runs, manually edit the settings file: + + aslts/bin/settings + + If necessary, tune the test suite to your current needs by setting the + variables SETN and run4. These variables control the test suite options + and are contained in this file: + + aslts/src/runtime/cntl/runmode.asl + +3. Use the Do utility to run the specified set of tests in all specified + modes of execution runs. It supports the automated logging of the results + of test runs and allows results to be compared. See comments for the Do + utility within the Do script file (aslts/bin/Do). + + a) Set the following environment variables: + + ASL - path to iASL compiler: (example) + + > export ASL="c:/acpica/libraries/iasl.exe" + + acpiexec - path to acpiexec utility: (example) + + > export acpiexec="c:/acpica/libraries/acpiexec.exe" + + ASLTSDIR - path to the aslts directory: (example) + + > export ASLTSDIR="c:/acpica/tests/aslts" + + b) Add the following directory to the PATH variable: + + aslts/bin + + c) If necessary, convert all scripts in the aslts/bin directory to unix + line endings: + + > d2u aslts/bin/* + + d) Execute "Do" with one of the following commands: + (Use 'Do 1' to run all tests) + + 0 - Compile and install AML tests + 1 - Execute all configured tests in all enabled modes + 2 - Compare two multi-results of two runs of tests + 3 - Print out the names of all the available test cases + 4 - Calculate the current state of all bugs and report the summary + tables + 5 - Prepare bdemo summary files of one multi-results directory for all + modes + 6 - Concatenate bdemo summary files of two multi-results + + +4. If desired, any individual AML test can be generated from within its + directory by running the iASL compiler on the MAIN.asl file for that test. + For example: + + > iASL MAIN.asl + + +5. If desired, any individual AML test can be executed from the aslts/tmp/aml + directory by invoking the AcpiExec utility with the name of the AML test + and the batch execute option. For example: + + > cd aslts/tmp/aml + > acpiexec -eMAIN 20090320/nopt/32/arithmetic.aml + + +6. When all tests are executed in batch mode (Do 1), the individual test + results are placed in the following directory structure: + + aslts/tmp/RESULTS/ + / + norm/ // normal interpeter mode, no slack + 32/ // 32-bit table execution + 64/ // 64-bit table execution + slack/ // interpreter slack mode enabled + 32/ // 32-bit table execution + 64/ // 64-bit table execution + summary // test execution summary + + +7. After completion, each AML test reports its status as one of the following: + + [PASS|FAIL|BLOCKED|SKIPPED] + + PASS - Success, no errors encountered in the functionality of the + product. + FAIL - The test encountered errors - improper functionality of the + product. + BLOCKED - The test was blocked (was not run). This option is used for the + tests which are temporarily causing abort or hang of execution + due to the errors the product. + SKIPPED - The test was skipped (was not run). This option is used in case + where the result of the test is undefined under the particular + conditions. + + +8. How to evaluate the results of the run-time tests. + + A. Successful run. + + After the run is completed, the following summary lines are displayed + by ASLTS: + + a) "Run time (in seconds): 0x0000000000000031" + b) "The total number of exceptions handled: 0x0000000000000005" + c) "TEST ACPICA: 64-bit : PASS" + + Line (a) shows the run time in seconds measured by the ASL Timer operator. + + Line (b) reports the number of exceptions which took place during the test + execution. + + Line (c) reports the mode of the run and the summary status: + Mode is either 32-bit or 64-bit + Status is one of [PASS|FAIL|BLOCKED|SKIPPED] + + + B. Failed run. + + a) "Run time (in seconds): 0x0000000000000031" + b) "The total number of exceptions handled: 0x0000000000000005" + c) "TEST ACPICA: 64-bit : FAIL : Errors # 0x0000000000000009" + + The number of errors (9 here) is reported as + Errors # 0x0000000000000009". + + C. Example error message: + + "---------- ERROR : 0x000000001903301A, 0x0000000000033017, m503" + "TITLE : Miscellaneous named object creation" + "COLLECTION : functional" + "TEST CASE : name" + "TEST : PCG0" + "ERROR, file : package.asl" + " index : 000000000000001A" + "CHECKING, file : package.asl" + " method : m123" + " index : 0000000000000017" + "(r):" + 0x0000000000000025 + "(e):" + 0x0000000000000027 + "---------- END." + + Explanations: + + 0x000000001903301A, + 0x0000000000033017 - two 32-bit words of error opcode + (see "The layout of error opcode" below) + + m503 - This is usually the name of the executing control method (which + in turn is usually a conglomeration of subtests) or some brief + diagnostic message explanation/designation/naming of the error. + + "TITLE : The common intention of the test + "COLLECTION : Functional/complex/exceptions/.. + "TEST CASE : The name of test case (bfield, arithmetic, opackageel, ...) + "TEST : The name of test (simplest unit reported by diagnostics + and supplied with the satatus line) + "ERROR, file : The name of file where the error reporting + function (err()) was invoked + " index : Index of error inside that file where err() was invoked + (each invocation of err() differs with its index) + "CHECKING, file : The name of the file where the checking was initiated + " method : The name of method initiated the checking + " index : Index of the checking inside the file "CHECKING, file" + + (r): - usually, the following value is a received one + (e): - usually, the following value is an expected one + + + D. The errors (currently 200 max) are summarized as follows at the end of + the test output. Example of test "Reference": + + "========= ERRORS SUMMARY (max 200):" + "reference, ref50.asl, 0000000000000003, ref50.asl, 0000000000000000, m22c" + "reference, datastproc.asl, 000000000000000F, ref50.asl, 0000000000000001, m22c" + "reference, ref50.asl, 0000000000000007, ref50.asl, 0000000000000000, m234" + "reference, ref50.asl, 0000000000000007, ref50.asl, 0000000000000000, m234" + "reference, datastproc.asl, 0000000000000001, ref50.asl, 0000000000000013, m365" + "reference, datastproc.asl, 0000000000000001, ref50.asl, 0000000000000015, m365" + "reference, datastproc.asl, 0000000000000001, ref50.asl, 0000000000000017, m365" + "========= END." + + Explanations: + + "reference, datastproc.asl, 0000000000000001, ref50.asl, 0000000000000017, m365" + + reference - The name of the test case + datastproc.asl - The name of the file where the error was revealed + and reported by invoking err(..,index,..) + 0000000000000001 - Index of error inside that (datastproc.asl) file + ref50.asl - The name of file where the checking was initiated + 0000000000000017 - Index of that checking inside that (ref50.asl) file + m365 - Diagnostic message (usually, the name of the method + containing the conglomeration of tests) + + For more information, see the file aslts/TESTS. + + +9. The layout of the error opcode (three 32-bit words) + + 0xctfffeee + 0xmmzzzuuu + 0xnnnnnnnn + + c - Index of tests collection + t - Index of test inside the collection + f - Absolute index of the file reporting the error + e - Index of error (inside the file) + z - Absolute index of the file initiating the checking + u - Index of checking + n - Name of Method initiating the checking + m - Miscellaneous: + 1) in case of TCLD tests there is an index of bug stored (max 600) + + +How to use ASL-compilation control test collection +================================================== + +The tests for the ASL Compiler to check its ability to detect, report and +reject wrong ASL code are contained in this directory: + + aslts/src/compilation/collection + +At present, no utility is provided to perform automated run and verification +of these tests. + +The tests contain ASL code with compile errors such that no output AML files +are expected. Expected are Warning and Error messages to be reported by ASL +Compiler for the incorrect ASL code. When implemented, the utility should +parse the output of the ASL Compiler for these files to verify the presence +of the expected messages. diff --git a/tests/aslts/Makefile b/tests/aslts/Makefile new file mode 100644 index 0000000..c638503 --- /dev/null +++ b/tests/aslts/Makefile @@ -0,0 +1,6 @@ +# aslts + +MDIRS= src + +TOP= . +include $(TOP)/Makefile.switch diff --git a/tests/aslts/Makefile.def b/tests/aslts/Makefile.def new file mode 100644 index 0000000..63cdd0b --- /dev/null +++ b/tests/aslts/Makefile.def @@ -0,0 +1,180 @@ +# Makefile.def + +# Set variables: +# +# for install: +# ASL - path name of iASL compiler +# +# Internal variables to be pre-defined: +# TOP - relative name of aslts directory +# AMLMOD - name of resulting AML module (DefinitionBlock->AMLFileName) +# without .aml extension. + +# Two level hierarchy of compilation: +# optimization & (32/64 mode). +# +# Directory | Flags +# |--------------------------- +# | optimization | 32/64 mode +# --------------------------------------- +# opt/32 | | -r 1 +# opt/64 | | -r 2 +# nopt/32 | -oa | -r 1 +# nopt/64 | -oa | -r 2 + +SETOF_INDEXES= 0 1 2 3 +SETOF_AMLDIRS= nopt/32 nopt/64 opt/32 opt/64 +SETOF_ASLFAGS= "-oa -r 1" "-oa -r 2" "-r 1" "-r 2" +COMMON_ASL_FLAGS= "-cr -vs" + +COMPILER_LOG="$(TOP)/tmp/aml/$(aslversion)/compile.txt" +COMPILER_ERROR_LOG="$(TOP)/tmp/aml/$(aslversion)/error.txt" + +# Create general directory + +GDMODE=775 +INST= install +INST.dir= $(INST) -d -m $(GDMODE) $@ +ASLMOD= MAIN + +# Empty all (specify 'all' target, if needed, before Makefile.def include) + +empty_all: FORCE + +# Rule to create directories located into aslts/tmp/aml; +# aslversion is determined dynamically. + +${SETOF_AMLDIRS:%=$(TOP)/tmp/aml/$(aslversion)/%}: + $(INST.dir) + +# Make-install one particular Test Case for all modes + +install_all_modes_of_test_case: ${SETOF_AMLDIRS:%=$(TOP)/tmp/aml/$(aslversion)/%} + @rval=0; \ + if [ -f "$(ASL)" ]; then \ + dd=`pwd`; \ + echo "---- Test path: $$dd" >> $(COMPILER_LOG); \ + echo "---- Test path: $$dd" >> $(COMPILER_ERROR_LOG); \ + for i in ${SETOF_INDEXES}; do \ + set -- $(SETOF_AMLDIRS); \ + shift $$i; \ + CUR_AMLDIR=$$1; \ + set -- $(SETOF_ASLFAGS); \ + shift $$i; \ + CUR_ASLFLAGS=$$1; \ + echo "---- Test type: $$CUR_AMLDIR (Flags $(COMMON_ASL_FLAGS) $$CUR_ASLFLAGS $(ADD_ASLFLAGS))" >> $(COMPILER_LOG); \ + echo "---- Test type: $$CUR_AMLDIR (Flags $(COMMON_ASL_FLAGS) $$CUR_ASLFLAGS $(ADD_ASLFLAGS))" >> $(COMPILER_ERROR_LOG); \ + for j in ${AMLMOD}; do \ + rm -f $$j.aml; \ + done; \ + for j in ${ASLMOD} $(ASLMODADD); do \ + echo "---- Compile: $$j.asl" >> $(COMPILER_LOG); \ + "$(ASL)" $$CUR_ASLFLAGS "$(COMMON_ASL_FLAGS)" $(ADD_ASLFLAGS) $$j.asl >> $(COMPILER_LOG) 2>> $(COMPILER_ERROR_LOG); \ + echo "" >> $(COMPILER_LOG); \ + ret=$$?; \ + if [ $$ret != 0 ]; then rval=1; echo "**** Unexpected iASL failure!"; exit 1; fi; \ + done; \ + if [ $$ret != 0 ]; then break; fi; \ + for j in ${AMLMOD}; do \ + ls -l $$j.aml >> $(COMPILER_LOG); \ + echo "---- Move: $$j.aml $(TOP)/tmp/aml/$(aslversion)/$$CUR_AMLDIR" >> $(COMPILER_LOG); \ + mv $$j.aml $(TOP)/tmp/aml/$(aslversion)/$$CUR_AMLDIR; \ + ret=$$?; \ + if [ $$ret != 0 ]; then rval=2; echo "**** mv failed!"; break; fi; \ + done; \ + done; \ + else \ + echo "Bad iASL 0: <$(ASL)> does not exist"; \ + rval=1; \ + fi; \ + if [ $$rval != 0 ]; then exit 1; fi + +# Make-install one particular Test Case for all modes. +# Move results to aslts/tmp/aml directory. +# Determine current version of iASL. +# Create aslts/tmp/aml/ directory with the precautions. + +install_test_case: + @if [ ! -f "$(ASL)" ]; then \ + echo "Bad iASL 1: <$(ASL)> does not exist"; exit 1; \ + else \ + aslversion=""; \ + testcasedir=`pwd`; \ + cd $(TOP); \ + if [ $$? -ne 0 ]; then \ + echo "Bad dir: $(TOP)"; exit 1; \ + else \ + dd=`pwd`; \ + base=`basename "$$dd"`; \ + if [ x$$base != xaslts ]; then \ + echo "Bad base name of ASLTS Test Suite: <$$base> of <$$dd>"; exit 1; \ + else \ + x=`"$(ASL)" -va xxx | grep "Compiler version"`; \ + echo "---- iASL version: $$x"; \ + if [ -z "$$x" ]; then \ + echo "Bad iASL 2: bad signon <$(ASL)>"; exit 1; \ + else \ + aslversion=`echo "$$x" | awk -F" " '{ print $$5}'`; \ + if [ -z "$$aslversion" ]; then \ + echo "Bad iASL 3: could not get version <$(ASL)>"; exit 1; \ + else \ + if [ ! -d ./tmp ]; then \ + mkdir tmp; \ + fi; \ + cd ./tmp; \ + if [ $$? -ne 0 ]; then \ + echo "Bad dir: aslts/tmp"; exit 1; \ + else \ + if [ ! -d ./aml ]; then \ + mkdir aml; \ + fi; \ + cd ./aml; \ + if [ $$? -ne 0 ]; then \ + echo "Bad dir: aslts/tmp/aml"; exit 1; \ + else \ + if [ ! -d "./$$aslversion" ]; then \ + mkdir $$aslversion; \ + fi; \ + cd ./$$aslversion; \ + if [ $$? -ne 0 ]; then \ + echo "Bad dir: aslts/tmp"; exit 1; \ + else \ + cd "$$testcasedir"; \ + export aslversion; make install_all_modes_of_test_case; \ + fi; \ + fi; \ + fi; \ + fi; \ + fi; \ + fi; \ + fi; \ + fi + +# Compile one particular Test Case for all modes. +# No moving results to aslts/tmp/aml directory. + +compile_test_case: + @rval=0; \ + + echo "Compile_test_case" + + if [ -f "$(ASL)" ]; then \ + for i in ${SETOF_INDEXES}; do \ + set -- $(SETOF_AMLDIRS); \ + shift $$i; \ + CUR_AMLDIR=$$1; \ + set -- $(SETOF_ASLFAGS); \ + shift $$i; \ + CUR_ASLFLAGS=$$1; \ + for j in ${ASLMOD} $(ASLMODADD); do \ + "$(ASL)" $$CUR_ASLFLAGS $(ADD_ASLFLAGS) $$j.asl \ + ret=$$?; \ + if [ $$ret != 0 ]; then rval=1; echo "**** Unexpected iASL failure!"; exit 1; fi; \ + done; \ + done; \ + else \ + echo "Bad iASL 4: <$(ASL)> does not exist"; \ + rval=1; \ + fi; \ + if [ $$rval != 0 ]; then exit 1; fi + diff --git a/tests/aslts/Makefile.switch b/tests/aslts/Makefile.switch new file mode 100644 index 0000000..3e76868 --- /dev/null +++ b/tests/aslts/Makefile.switch @@ -0,0 +1,38 @@ +# common switch make + +all: ${MDIRS} +${MDIRS}: FORCE + @cd $@; pwd; make + +install: FORCE + @for d in ${MDIRS}; do \ + (cd $$d; \ + if [ $$? -ne 0 ]; then \ + echo "Bad element of MDIRS: <$$d>"; \ + else \ + pwd; make install; \ + fi); \ + echo "---- Completed test package [$$d]"; \ + done + +clean: FORCE + @for d in ${MDIRS}; do \ + (cd $$d; \ + if [ $$? -ne 0 ]; then \ + echo "Bad element of MDIRS: <$$d>"; \ + else \ + pwd; make clean; \ + fi); \ + done + +clobber: FORCE + @for d in ${MDIRS}; do \ + (cd $$d; \ + if [ $$? -ne 0 ]; then \ + echo "Bad element of MDIRS: <$$d>"; \ + else \ + pwd; make clobber; \ + fi); \ + done + +FORCE: diff --git a/tests/aslts/NOTE b/tests/aslts/NOTE new file mode 100644 index 0000000..dba6c64 --- /dev/null +++ b/tests/aslts/NOTE @@ -0,0 +1,152 @@ +Free layout. +Any remarks (e.g. not to forget to do something). +Some information can be obsolete. +================================= + + +|------------------------------------------------------------------------------| +runtime/collections/complex/misc/misc.asl: +don't forget to uncomment switch operator in method m100 after when the bug 73 +will be fixed. +|------------------------------------------------------------------------------| +clean up method m218 (crbuffield.asl) after that when errors 65,66,68,69 +(in 32-bit mode) will be investigated and resolved +|------------------------------------------------------------------------------| +do up to date COVERAGE files +|------------------------------------------------------------------------------| +the tests to check the return code of ASL compiler +|------------------------------------------------------------------------------| +additional option of acpiexec is required +|------------------------------------------------------------------------------| +1. investigate and report the errors of bfield test run in 32-bit mode: + + "=========== ERRORS SUMMARY (max 255):" + "11001041, functional, bfield, crbuffield.asl, 00000041" + "11001042, functional, bfield, crbuffield.asl, 00000042" + "11001044, functional, bfield, crbuffield.asl, 00000044" + "11001045, functional, bfield, crbuffield.asl, 00000045" + "=========== END." + "TEST ACPICA: 32-bit : FAIL : Errors # 0x00000004" + +2. do test: 64-bit constant (I64), 32-bit run mode, + Store(I64, Buffer Field (64-bit; <64-bit ; >64-bit)) + see bfield test, method m218. +|------------------------------------------------------------------------------| +aslts/src/runtime/collections/functional/descriptor/register.asl: +Currently Register macro DescriptorName is not implemented. +Uncomment fragment of code in Method RT19 when in will be implemented in ACPICA. +|------------------------------------------------------------------------------| +file bug on Timer operator again: +test timing and this: +[ACPI Debug] String: [0x21] "Run time (in seconds): 0x00000000" +|------------------------------------------------------------------------------| +replace "if (LEqual(F64, 1))" by "if (F64)" +|------------------------------------------------------------------------------| +see errors: +"12002003, functional, constant, constants.asl, 00000003" +"12002006, functional, constant, constants.asl, 00000006" +|------------------------------------------------------------------------------| +see summary list of tests run: grammar/TMP/pass/results +|------------------------------------------------------------------------------| +NOTE: to handle the opcode of ASLTS release +|------------------------------------------------------------------------------| +fix the test CST1 - "(\_REV, Revision" +|------------------------------------------------------------------------------| +write email: methods should be able to obtain and return UNINITIALIZED type data +|------------------------------------------------------------------------------| +Update the line of HOW_TO_USE file: + C. The layout of the particular error message. +|------------------------------------------------------------------------------| +!DONE: +!To generate: +!aml/32 +!aml/64 +!aml/notoptimized/32 +!aml/notoptimized/64 +|------------------------------------------------------------------------------| +estimate the run time of each test (on the particular machine) and describe that +in file TESTS +|------------------------------------------------------------------------------| +estimate the run time of full tests and the summary times of their parts +|------------------------------------------------------------------------------| +image of integer 0x1234567890abcfed in 32-bit mode would be converted to +buffer. See this also in relation to bug 74 (?) +|------------------------------------------------------------------------------| +do test converting "big constant" 0x1234567890abcfed: Name(,Integer); +Name(,Buffer); Buffer Field; LocalX; ArgX; ... +|------------------------------------------------------------------------------| +see: 2+2=5 +|------------------------------------------------------------------------------| +Add the test from the demo of Bug 61 into exc.asl test when the relevant bug +will be fixed. Now it is not safe for the common test run. +|------------------------------------------------------------------------------| +Do the test package2.asl or remove the file. +|------------------------------------------------------------------------------| +See aslts/reference.asl test, particularly all concerned to Method and +if those problems were not resolved by reporting Error of compilation +do the relevant RUNTIME tests! As well for Buffer Fields and Field Units. +|------------------------------------------------------------------------------| +Many files contain SEE items at their tops. +See them and fix what they require! +|------------------------------------------------------------------------------| +Dont forget to uncomment ASL code relevant to bugs: y000,y0..., see runmode.asl +|------------------------------------------------------------------------------| +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. +name space, object life time issues +|------------------------------------------------------------------------------| +Update the tests in case the change of "Table 17-8 Object Conversion Rules" +will take place. +|------------------------------------------------------------------------------| +1. bdemo/DECL.asl, + bdemo/RUN.asl + + Bug demo 144 excluded until the bug 182 is fixed + +2. name/DECL.asl, + name/RUN.asl + + method.asl and function.asl files excluded until the bug 182 is fixed + +3. bdemo of 161 excluded again!!!!!!!!!!!!!!!!!! + see test bdemo, concerning bug 161: + Note: restore the initial form of the CreateField-s below of bug 161. + + DONE! + +4. set yXXX after the relevant bug fixing! + +5. change all R0?? to W0?? + +6. see bdemo 118 + +7. test Reference: RUN.asl + // Uncomment when the most bugs are fixed! +8. +Method(m21c, 4) + While(lpN0) { + + // Operands + + Multiply(lpC0, 4, Local6) + ^ ???? + Multiply(lpC0, 6, Local6) +|------------------------------------------------------------------------------| +bdemostabs - +# Extend the PATH variable +x=`echo "$PATH" | awk -F: '{ for (i=1; i<=NF; i++) { print $i}}' | grep "aslts/bin"` +BUG_STATE_DIR="$x/bugstate" +PATH=$PATH:$BUG_STATE_DIR + +this works incorrectly when the origin PATH has several "aslts/bin". + +|------------------------------------------------------------------------------| +Statistics (of memory consumption, time of execution, etc.) reported at the end +of each test and summarized by Do (asltsrun) utility should be further +generalized and adapted for needs to show improving/regression of memory +consumption, time execution, etc. to serve the improvement of ACPICA purposes. +|------------------------------------------------------------------------------| +|------------------------------------------------------------------------------| +|------------------------------------------------------------------------------| +|------------------------------------------------------------------------------| diff --git a/tests/aslts/README b/tests/aslts/README new file mode 100644 index 0000000..c753f9a --- /dev/null +++ b/tests/aslts/README @@ -0,0 +1,130 @@ + +CONTENTS + + ACPICA ASL grammar validation Test Suite (ASLTS) + + + ASLTS verifies, in "hardware-independent" mode, conformity of ACPICA +ASL compiler and interpreter to the ACPI ASL grammar specification. The +more common task of ASLTS is to check, in "hardware-independent" mode also, +all the functionality of ACPICA which can be initiated and then verified +from inside the test modules coded in ASL. The first local task is performed +by the test collection named 'functional', to achieve the second one the tests +of other collections are intended: complex, exceptions, etc. The conditional +difference between the tests of 'functional' and 'complex' collections is that +the tests of 'functional' collection checks specific functionality of the +particular ASL operator while the tests of 'complex' collection verify the +more common functionality. + + The testing is performed in "hardware-independent" mode without any +access to ACPI subsystem hardware. In this purpose the AcpiExec utility +is used which includes the entire ACPICA subsystem and allows to execute +the AML code and thus verify functionality of ACPICA subsystem. + + The ASL source code is compiled to AML code and then passed to +AcpiExec utility. In this relation one more type tests are provided, +so called ASL-compilation control test collection, which check ability +of ASL compiler to reveal and report incorrect ASL code. + + The tests of the exceptional conditions test collection +initiate and verify exceptional conditions, check that the +exceptions occur (or not occur) in the expected specified way. + + The testing is provided in both 32-bit and 64-bit modes +(option -r of ASL compiler) as well both normal and slack +modes (option -s of AcpiExec). + + +tmp + + directory is automatically created (if doesn't exist) while installing + or running the tests performed by the utility Do + +tmp/aml + + directory is automatically created (if doesn't exist) while installing + the tests performed by the utility Do and contains 32-bit and 64-bit + AML codes of the tests + +tmp/RESULTS + + directory is automatically created during the test execution + (if doesn't exist) initiated by the Do utility and contains results + (so called multi-results) of runs of tests - utility Do performs each + run of tests is several modes: + 32-bit norm mode + 64-bit norm mode + 32-bit slack mode + 32-bit slack mode + so the result of run of tests is called multi-result. It is located + into RESULTS/ directory. + +bin + + utilities to manager the tests + +src + + source code of tests + +TESTS + + per-collection list of run-time tests + +HOW_TO_INSTALL + + actions needed to prepare the tests for running + +HOW_TO_USE + + how to run the tests and explain the result of run + +Makefile.def + + the common use targets and rules + +Makefile.switch + + the uniform targets and rules to pass commands of make utility + to the specified enclosed directories + +Makefile + + currect directory targets and rules + + + THE UNIFORM STRUCTURE OF ASLTS SOURCE CODE + +The ASLTS source code contains files of the same name +which are of the same functionality described below. + +DECL.asl + + contains all the declarations corresponding to some test + +RUN.asl + + contains all the invocations corresponding to some test + +MAIN.asl + + contains declaration of DefinitionBlock corresponding to some test; + the DefinitionBlock contains method MAIN which is a starting method + of the test; as a rule, this file contains the relevant DECL.asl and + RUN.asl includes + +README + + the brief description of the contents of the inclusive directory + (hierarchy of README files explaining the contents of directories) + +FULL + + contains declaration of DefinitionBlock corresponding to some test + which is conglomeration of several other tests + +NOTE + + any notes to not forget something to do etc. + +- end diff --git a/tests/aslts/TESTS b/tests/aslts/TESTS new file mode 100644 index 0000000..5ae3426 --- /dev/null +++ b/tests/aslts/TESTS @@ -0,0 +1,141 @@ + ALL THE RUN-TIME TESTS + ====================== + + 51 - the current total amount of resulting *.aml files in aslts/aml/*/ + directory. + + Among them are 7 conglomerations of particular tests: + complex, exc_operand, exceptions, functional, full, + operand, result + + Per-collection list of run-time tests + + + - Name of test ------ Contents of test --------------------------------------- + + Functional tests, collection #1 + ______________________________________________________________________________ + 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 | + | | | + | functional | full the functional test collection - all the tests of | + | | the functional test collection are compiled together | + | | as one DefinitionBlock | + ______________________________________________________________________________ + + Complex tests, collection #2 + ______________________________________________________________________________ + + 0 | misc | Miscellaneous not systematized tests | + 1 | provoke | Check operators under the known critical conditions | + | | | + | operand | Source Operand tests | + | | | + 2 | oarg | | + 3 | oconst | | + 4 | olocal | | + 5 | oreturn | | + 6 | onamedloc | | + 7 | onamedglob | | + 8 | opackageel | | + 9 | oreftonamed | | +10 | oconversion | (obsolete, update required) | +11 | oreftopackageel | | + | | | + | result | Result of Operators tests | + | | | +12 | rstore | | +13 | roptional | | +14 | rconversion | (obsolete, update required) | +15 | rcopyobject | | +16 | rindecrement | | +17 | rexplicitconv | | + | | | +18 | badasl | ASL-incorrect tests compiled with -f option of ASL | + | | | +19 | namespace | Name Space component tests | + | | | + | complex | full the complex test collection - all the tests of | + | | the complex test collection are compiled together | + | | as one DefinitionBlock | + ______________________________________________________________________________ + + Exceptional conditions tests, collection # 3 + ______________________________________________________________________________ + + 0 | exc | Initiate and verify exceptional conditions | + | | | + | exc_operand | Exceptions caused by inappropriate type of operands | + | | | + 1 | exc_operand1 | (obsolete, update required) | + 2 | exc_operand2 | | + | | | + | exc_result | Exceptions caused by inappropriate type of destination | + | | | + 3 | exc_result1 | (obsolete, update required) | + 4 | exc_result2 | | + | | | + 5 | exc_ref | Exceptions caused by inappropriate use of references | + | | | + 6 | exc_tbl | Exceptions caused by inappropriate use of table | + | | management | + | | | + | exceptions | full the exceptional conditions test collection - all | + | | the tests of the exceptional conditions test | + | | collection are compiled together as one | + | | DefinitionBlock | + ______________________________________________________________________________ + + Bug-demo tests, collection #4 + ______________________________________________________________________________ + + 0 | bdemo | The tests to demonstrate bugs and prove bug-fixes | + 1 | bdemof | The same but the tests which require -f option of ASL | + ______________________________________________________________________________ + + Service tests, collection #5 + ______________________________________________________________________________ + + 0 | condbranches | Service-test reports failures when | + | | some conditional branches are disabled. | + ______________________________________________________________________________ + + Mt-tests, collection #6 + ______________________________________________________________________________ + + 0 | mt | Tests of multi-threading functionality | + | | | + | mt_mutex | tests of mutexes | + ______________________________________________________________________________ + + To prove identity of ACPICA to MS tests, collection #7 + ______________________________________________________________________________ + + 0 | abbu | Tests applicable to both AcpiExec and MS-abbu utilities | + ______________________________________________________________________________ + + Implementation dependent tests, collection #8 + ______________________________________________________________________________ + + 0 | dynobj | The ASL Dynamical Object support test | + ______________________________________________________________________________ + + All tests together (functional + complex + exceptions + etc.) + ______________________________________________________________________________ + | full | full test - all the collections (functional + complex | + | | + exceptions + etc.) are compiled together as one | + | | DefinitionBlock | + ______________________________________________________________________________ + diff --git a/tests/aslts/adm/BugState/ALLBUGS b/tests/aslts/adm/BugState/ALLBUGS new file mode 100644 index 0000000..eedb295 --- /dev/null +++ b/tests/aslts/adm/BugState/ALLBUGS @@ -0,0 +1,385 @@ +ALLBUGS| Dont remove this line, it is used in the automatic processing of the table! +| +| This is a STATE-MANUALLY table. +| +|IID COMP LBZID KBZID STATE-MANUALLY PR SUMMARY +|=================================================| + 0| I | | | | | Logical operators return True equal to One but not Ones + 1| C | 419 | | | 100 | The ASL Compiler doesn't allow non-constant TimeoutValue for Acquire + 2| I | | | | | The elseif operator works incorrectly + 3| C | 420 | | | 100 | The ASL Compiler should reject Switch operators with the identical Case operators in it + 4| I | | | | | Concatenate being invoked in Method M000 changes the type of LocalX of calling Method passsed as operand to M000 + 5| I | | | | | Switch operator doesn't provide Default branch + 6| I | | | | | ToInteger converts a decimal string the same way as a hexadecimal one + 7| I | | | | | ToString updates the LocalX value (if it is zero) passed as Length parameter + 8| I | | | | | The type returned by ObjectType for Object created by Field operator is not Field + 9| I | | | | | Exception on ObjectType passed with not initialized values (in LocalX) + 10| I | | | | | ToBuffer transforms operand (in local variable) to reference + 11| C | | | FIXED | | The ASL Compiler crashes on Create*Field for invalid FieldName parameter + 12| I | | 5360 | INTEGRATED | | DerefOf doesn't evaluate String to Object + 13| I | | | | | The type returned by ObjectType for Object created by Create*Field operator is not BufferField + 14| I,S | 421 | | | 100 | Implementation differs the specified Maximal value of MicroSeconds + 15| I | | | | | ToDecimalString produces the Strings which have the length greater than expected + 16| I | | | REJECTED | | Concatenate operator produces the resulting String exceeding 200 symbols without generating exception + 17| I | | | | | LEqual works incorrectly for Buffer-operands containing zero + 18| I | | | | | LGreater works incorrectly for Buffer-operands containing zero + 19| I | | | | | LGreaterEqual works incorrectly for Buffer-operands containing zero + 20| I | | | | | LLess works incorrectly for Buffer-operands containing zero + 21| I | | | | | LLessEqual works incorrectly for Buffer-operands containing zero + 22| I | | | | | LNotEqual works incorrectly for Buffer-operands containing zero + 23| I | 435 | | | 100 | FromBCD/ToBCD works incorrectly in 64-bit mode starting with the large enough values + 24| C | | | FIXED | | The EISAID doesn't provides input control of "uppercase letter" part (UUU) of EisaIdString + 25| S | | | REJECTED | | The maximal length exceeding exception should be additionally specified for some operators + 26| C | | | REJECTED | | The ASL Compiler doesn't forbid images of Strings exceeding maximum + 27| I | | | | | Crash of ObjectType for the particular BufferFields + 28| I | | | | | No exception on Create*Field for out of Buffer range + 29| M | | | | 100 | Looks, like Sleep (or Wait) spend less time than specified + 30| I | | | | | Crash of ObjectType for the particular Fields + 31| C | 422 | | | 100 | The ASL Compiler doesn't try to detect and reject attempts to use object before its declaration is evaluated + 32| C | | | FIXED | | The ASL Compiler should reject the same and out of range IRQ numbers (IRQ and IRQNoFlags macros) + 33| C | | | FIXED | | The ASL-compiler doesn't refuse the same descriptor names present in the same scope (Method) + 34| I | | | | | Some data tables are corrupted when _BAS field of FixedIO Resource Descriptor Macro is specified + 35| C,S | | | FIXED | | The DMA Resource Descriptor Macro (specification, compilation error, to strengthen the ASL Compiler input control) + 36| C | | | FIXED | | The ASL compiler should reject the VendorShort Resource Descriptor Macro with the out of range bytes number + 37| S,C | 424 | | | | The Memory24 Resource Descriptor Macro specification should be updated + 38| I | 418 | | INTEGRATED | | LGreater passed with Integer and String works incorrectly in 32-bit mode + 39| C | | | | | The ASL Compiler fails on specific expressions with ObjectType + 40| I | | | | | Crash on sync-objects reusing + 41| I | | | | | ToInteger transforms operand to reference when no conversion is required + 42| I | | | | | ToDecimalString transforms operand to reference when no conversion is required + 43| I | | | | | ToHexString transforms operand to reference when no conversion is required + 44| I | | | | | The ToUUID Macro loses the high hex-digit of each byte + 45| I | | | | | Exception on ToDecimalString for Buffer with 51 elements + 46| I | | | | | Exception on ToHexString for Buffer with 67 elements + 47| M | | | | 100 | Timer operator doesn�t provide gradually increased values + 48| I | | | REJECTED | | No exception on result of Concatenate longer than 210 bytes + 49| I | | | REJECTED | | No exception on result of ToDecimalString longer than 210 bytes + 50| I | | | REJECTED | | No exception on result of ToHexString longer than 210 bytes + 51| S,C,I | 371 | | | | Register() macro missing parameter + 52| I | | | | | The EdgeLevel offset of Interrupt macro (_HE) is specified as 25-th bit but actually it is implemented as 24-th bit + 53| C | | | FIXED | | The ASL Compiler doesn't reject the out of range number of interrupts for Interrupt macro + 54| I | | | | | All ASL Operators causes exceptions on two immediately passed Buffers + 55| C | | | FIXED | | The ASL Compiler should reject the same Interrupt numbers (Interrupt macros) + 56| C | 423 | | | 100 | The ASL Compiler generates a one element descriptor for Interrupt macro with the empty InterruptList + 57| I | | | | | The standalone Return is processed incorrectly + 58| I | 417 | | INTEGRATED | | Concatenate of two Integers may operates in 32-bit mode as in 64-bit mode + 59| I | | | | | String to Buffer conversion doesn't reduce the size of resulting Buffer + 60| I | | | | | "Outstanding allocations" on processing the Type Conversion + 61| I | | | | | Crash on Store the OperationRegion result returned by Method + 62| C | 436 | | INTEGRATED | | Crash of the iASL Compiler when ASL-code contains a long String declaration + 63| I | | 5329 | INTEGRATED | | String to Integer conversion contradicts new April 2005 Conversion Rules + 64| I | | | | | Specific operations should initiate AE_BAD_HEX_CONSTANT exceptions + 65| I | | | REJECTED | | BufferField type object should be passed to Methods without any conversion (to Buffer or Integer) + 66| I | | | REJECTED | | FieldUnit type object should be passed to Methods without any conversion (to Buffer or Integer) + 67| I | | | REJECTED | | BufferField type object should be returned by Methods without any conversion (to Buffer or Integer) + 68| I | | | REJECTED | | FieldUnit type object should be returned by Methods without any conversion (to Buffer or Integer) + 69| I | | | | | Exception on storing the result of Mid operation + 70| C | 425 | | REJECTED | | The ASL Compiler should reject Resource Descriptors where ResourceSourceIndex is present but ResourceSource is omitted + 71| C | | | FIXED | | The ASL Compiler should reject Resource Descriptors where ResourceSourceIndex is omitted but ResourceSource is present + 72| C | | | FIXED | | The ASL Compiler program returns improper status after compiling invalid ASL code + 73| C | | | FIXED | | The ASL Compiler fails and reports a large number of "Recursive method call" remarks + 74| I | | | | | Ones is not equal to 0xFFFFFFFF in 32-bit mode + 75| C | | | | | Each scope of DefinitionBlock should be supplied with its set of _T_x objects + 76| I | | | | | Unexpected dereference of Index reference in Store operator + 77| I | | | | | Exception on ToInteger operator under specific conditions + 78| I | | | | | Specific expression Derefof(Refof(i000)) causes deletion of object (i000) + 79| I | | | | | Specific expression with ToBuffer causes exception + 80| C,S | 416 | | | 100 | The ASL compiler should report Error when the name of Method (but not invocation of it) is specified in expressions + 81| C,I,S | 415 | | | 100 | Call to Method immediately passed to ObjectType is evaluated improperly + 82| S | 414 | | | 100 | The Data Type Conversion Rules table should be updated + 83| I | | 5387 | INTEGRATED | | No exception on DerefOf of an arbitrary Source + 84| I | | 5361 | INTEGRATED | | Failed to interpret AML code alternated with Method declarations + 85| I | | | | | Exception on DeRefOf operator applied to IRef to Uninitialized element of Package + 86| I | | | | | ToString operator produces one "Outstanding allocation" + 87| I | | | | | Exception on Switch operator applied to the result of ToBuffer operator + 88| S | | | REJECTED | | Spec of Match operator should be changed (conversion/null package entries) + 89| S | | | | 100 | Clarifying what does the ASL Method as an element of Package mean + 90| S | 412 | | | 100 | Spec of Match operator should be changed (conversion/null package entries) + 91| S | 411 | | | 100 | The result of String-to-Buffer conversion should include the string null terminator + 92| I | | | | | Invalid result of Index operator passed with the immediate image of Package + 93| I | | | | | Invalid result of Index operator passed with the immediate image of Buffer + 94| I | | | | | Invalid result of Index operator passed with the immediate image of String + 95| I | | | | | Big amount of invocations of Methods causes overlap of OwnerId counter + 96| C | 410 | | | 100 | The ASL Compiler fails to recognize specific Uninitialized LocalX + 97| I | | | | | Crash on ObjectType passed with IRef to Method which is an element of Package + 98| I | | | | | Crash on a specific AML code + 99| I | | | | | The specific sequence of operations dealing with IRef/ORef corrupts the source object +100| I | | | | | The specific combination of operators aborts execution +101| C | | | | | The ASL compiler fails to create RefOf reference to Method not returning explicitly any object +102| I | | | | | The specific combination of operators produces one "Outstanding allocation" +103| I | | | | | The Method type element of Package is being invoked +104| I | | | | | The ObjectType operator being passed with the IRef to the Uninitialized element of Package causes crash +105| I | | | | | The ObjectType operator being passed with the IRef obtained by the specific way causes crash +106| I | | 5388 | | 100 | Crash on RefOf(Debug) operation +107| C | | | | | The ASL Compiler crashes when tries to convert data that can not be converted +108| C | | | FIXED | | The ASL Compiler crashes when the result of ToBCD exceeds the current range of Integer +109| C | | | FIXED | | The ASL Compiler crashes on FromBCD being passed with the invalid data (hex image containing not only decimal digits) +110| I ML | | | FIXED | | The Memory Leak anomaly on a While operator (the first anomaly encountered by PMEMCV instrumentation) +111| I | | | | | No String to Integer and Buffer to Integer conversions of the Predicate Value in If, ElseIf and While operators +112| C | | | | | The ASL compiler refuses passing the Named Objects and String constants as a MicroSecs operand of the Stall operator +113| I | | 5389 | | 100 | Unexpected dereference of Index reference immediately passed to Method +114| C | 407 | | | 100 | Method object as a Source of Index operation is treated by iASL mistakenly as a call to that Method +115| I | | 5390 | | 100 | Unexpected dereference of Index reference returned by Method and immediately passed to another Method +116| C | | | FIXED | | The ASL Compiler doesn't recognize attempts to generate IRefs to arbitrary type objects +117| I | | | | | Modifying the copy of the String obtained by the Store operator modifies the initial String Object also +118| I | | 5328 | | 100 | Access to FieldObject element of Package causes exception +119| I | 413 | | INTEGRATED | | The Logical operators in 32-bit mode act with 64-bit values +120| I | | 5370 | INTEGRATED | | Unexpected exception on Store of Device and ThermalZone elements of Package to Debug operation +121| I | 406 | | | 100 | Crash on attempt to deal with the invalid BufferFields (zero NumBits passed to CreateField) +122| C | 405 | | FIXED INTEGRATED | | The ASL Compiler doesn't report Error/Warning for zero NumBits parameter of CreateField operator +123| I | 404 | | INTEGRATED | | No exception when StartIndex in Match operator is equal to or greater than the size of SourcePackage +124| I | 403 | | INTEGRATED | | No exception when the Index argument on Index() operator is out of the Source +125| I | | | | | The Mid operator in 64-bit mode returns non-empty result for improper Index +126| I | | 5372 | | 100 | The Read access automatic dereference for RefOf reference doesn't work +127| I | | 5391 | | 100 | Unexpectedly CopyObject of immediately passed Index reference is not reference +128| I | | 5392 | INTEGRATED | | Copying the RefOf reference to Named object spoils that reference +129| I,C,S | | | | | Creating Package of an arbitrary length, Package & VarPackage +130| I | | | | | Reference to String works differently to like the references to Buffer and Package work +131| I | | 5394 | | 100 | Store to the Index reference immediately returned by Method doesn't work +132| I | | 5373 | | 100 | The Read access automatic dereference for Index reference doesn't work +133| I | | 5374 | | 100 | The Write access automatic dereference for Index reference doesn't work +134| I | | 5375 | | 100 | Writing RefOf reference from inside Method breaks effectively local Arg +135| I | | 5358 | | | Store of Index reference to another element of the same Package causes hang +136| I | | | | | CopyObject of named Buffer to the longer named Buffer works incorrectly +137| I | | | | | The Implicit Result Object conversion is mistakenly applied to the optional storing of FromBCD +138| I | | | | | 8 bytes but not 4 expected ones are written to BufferField in 32-bit mode +139| I | | | | | DeRefof and Store operations on 64-bit Integers of 32-bit AML table has been loaded modify them +140| C | | | FIXED | | The ASL Compiler doesn't report NumElements being less than the number of elements in the PackageList +141| S | 402 | | | 100 | The term 'object reference' in DMA Resource Descriptor Macro specs sounds ambiguously +142| C | 401 | | | 100 | The ASL Compiler doesn't support non-empty list of parameters of Function Declaration +143| C | | | | | The ASL Compiler doesn't support more than two-element long list of ParameterTypes argument of Method +144| C | | | | | The ASL Compiler doesn't support multiple type list for particular ParameterType of Method +145| C | | | FIXED | | The ASL Compiler should report an error for SyncLevel argument of Method outside of range +146| C | | | | | The ASL compiler refuses Package in Case operator +147| S | 400 | | | | ProcessorObj Object Type Keyword is not present in ObjectTypeKeyword +148| C | 399 | | | 100 | Additional errors to be reported by iASL for Control Method Declaration +149| S | 398 | | | 100 | Spec of Function should be clarified +150| I | | 5334 | INTEGRATED | | No exception when Serialized Method is run after the higher level mutex acquiring +151| I | | | | | The zero-length resulting String of Mid operator passed to Concatenate operator causes crash +152| C | 394 | | | 100 | Decrease severity of iASL error for non-Computational types in the Computational data positions +153| I | | 5314 | | 1 | Source and Target objects after ACPI AML StoreOp behave identically +154| I | | | | | Exception occurs on attempt to rewrite Device type object passed by ArgX to Method +155| I | | | | | Global level AML code execution is performed twice +156| I ML | | 5422 | FIXED INTEGRATED | | Memory leak till the Method exit for each execution of If(TRUE)-Else/ElseIf +157| C | 397 | | | 100 | Exception while processing the empty ParameterTypes list of Method +158| I ML | | 5423 | FIXED INTEGRATED | | Memory leak till the Method exit for each execution of Break +159| I ML | | 5424 | FIXED INTEGRATED | | Memory leak till the Method exit for each execution of Continue +160| I | | | | | Attempt to declare Field inside the If scope causes exception +161| I | | 5359 | INTEGRATED | | Named object passed as a BitIndex or NumBits to CreateField causes hang +162| I | | 5326 | INTEGRATED | | Crash while processing the global level execution exception +163| I ML | | 5425 | | 100 | The copy of Device object to LocalX is not ever released +164| I | | | FIXED | | Subtest m22d of Reference test started causing exceptions since 20050526 +165| I ML | | 5426 | FIXED INTEGRATED | | Unnecessary memory allocation for CreateField should be eliminated +166| I ML | | 5427 | INTEGRATED | | Releasing memory of the inside Method scopes surrounding Return operation is needed +167| I | | | | | Manipulation test PASS but started reporting suspicious diagnostic +168| C,I | | | FIXED | | Wrong specific Package obtained for not optimized AML code +169| I | 395 | | INTEGRATED | | Improper work of ShiftLeft and ShiftRight operators on Linux in a specific case +170| I | | | REJECTED | | -- see if to rewrite it for Fields but not for BufferFields +171| I | 396 | | INTEGRATED | | Improper Integer to String implicit conversion in a specific case +172| I | | | FIXED | | Outstanding allocations to be investigated +173| I | | 5336 | FIXED INTEGRATED | | Two the same fragments of code should be compacted to one +174| I | | | | | Inappropriate constant in DescriptorType field of the Descriptor->Address64 structure +175| I | | 5369 | INTEGRATED | | Unexpected exception on Store of ThermalZone to Debug operation +176| I | | 5466 | | 100 | Store-to-Debug an element of Package having reference to itself results in an infinite loop +177| I | | 5480 | INTEGRATED | | Exception BUFFER_LIMIT occurs instead of STRING_LIMIT one +178| I | 393 | | | 100 | Unexpected exception occurs on access to the Fields specified by BankField +179| I | | | | | ConcatenateResTemplate operation falls into an endless loop +180| C | | | | | Failed to compiler Switch/Case operators +181| C | | | | | Failed to compiler specific Method +182| I | | | | | Exception on a specific declarations of objects of the same name +183| C | | | | | Stack OverFlow of ASL compiler on processing the specific recursive method call +184| I | | | | | Nesting Methods cause exceptions +185| I | 392 | | | 100 | In a slack mode Method should implicitly return zero (0) as a default value +186| I | 391 | | | 100 | The predicate value of If/While operations is not implicitly returned in slack mode +187| I | 389 | | | 100 | No exception in non-slack mode on attempt to obtain value from Method terminated by the standalone Return +188| I | 390 | | INTEGRATED | | ConcatenateResTemplate doesn't consume an empty buffer +189| I | | | | | The 1-byte buffer passed to ConcatenateResTemplate doesn't cause a run-time error +190| I | | | | | In ConcatenateResTemplate an operand ending only with the first byte of the end tag doesn't cause a run-time error +191| I,S | 388 | | | 100 | CopyObject to Buffer Field specification/implementation should be clarified/fixed +192| I | 387 | | | 100 | Incorrect value of Bank register after storing to its banked field +193| I | 354 | | | 100 | storing opt. results of Not/NAnd/NOr into Buffer Field in 32-bit mode can soil the higher bits of BF +194| I | 386 | | | 100 | Incorrect length of result of ToBuffer in case it is stored into a Named Buffer +195| I | 353 | | | 100 | Increment and Decrement of String or Buffer changes the type of operand +196| I | | | | | Incorrect conversion of String to Integer for ToInteger("0x0x12345678") +197| I | | | | | No exception occurs for incorrect String-image of Integer passed to ToInteger like "0x 1234" +198| I | | 6028 | INTEGRATED | | AML interpretation in 32-bit slack mode becomes unstable after some exceptions +199| I | | | | | No exception on DerefOf for parameter which is none of ObjectReference/IndexReference/String +200| I | 352 | | | 100 | the code path taken after exception in AcpiPsParseLoop is incorrect +201| I | 385 | | | 100 | Many Outstanding allocations on ASLTS tests run +202| I | | 6151 | FIXED INTEGRATED | | The ASLTS test b129 falls into an infinitive loop in a 32-bit slack mode +203| I | 348 | | | 100 | ObjectType operation falls into infinite loop for ring of RefOf references +204| I | 347 | | | 100 | SizeOf operation falls into infinite loop for ring of RefOf references +205| I | 346 | | | 100 | Store-to-Debug operation falls into infinite loop for ring of RefOf references +206| I | 345 | | | 100 | ObjectType operation falls into infinite loop for ring of Index references +207| I | 344 | | | 100 | SizeOf operation falls into infinite loop for ring of Index references +208| I | 343 | | | 100 | Store-to-Debug operation falls into infinite loop for ring of Index references +209| I | | 6220 | REJECTED | | Ineffective memory consumption detected by b135 ASLTS tests +210| I | 349 | | | 100 | Implicit return objects are not released in Slack Mode +211| I | | 6514 | INTEGRATED | | ACPI-CA memory leak due to optionally stored AML Object passed through "child" Method +212| I | | 6389 | | 100 | AML interpreter doesn't prevent dead RefOf-references +213| I | 342 | | | 100 | abort of AcpiExec on accessing internal object of terminated method by returned IRef +214| I | 350 | | | 100 | crash of AcpiExec on repeated CopyObject of OpRegion +215| I | 351 | | | 100 | exception on accessing IndexField with IndexName Region Field exceeding 32 bits +216| I | 341 | | | 100 | exception AE_NOT_FOUND on CreateField under specific conditions +217| I | 409 | | | 100 | Dynamic OpRegion _REG method execution problem +218| I | 408 | | | 100 | Access to internal object of Method is lost after returning from the recursive call to that Method +219| I | 426 | | | 100 | The result of Interrupt Resource Template macro is incorrect when ResourceSource is omitted +220| I | 427 | | | 100 | Inconsistent "Access is available/unavailable" _REG method calls +221| I | 428 | | | 100 | AcpiExec improper emulates alternating access to OpRegions covering different ranges +222| I | 429 | | | 100 | Alternating access to OpRegions of different Address Spaces issue +223| I | 430 | | | 100 | DataTableRegion with the non-constant *String arguments unexpectedly causes an exception or crash +224| I | 431 | | | 100 | AcpiExec is unable to emulate access to IndexField Object +225| C | 432 | | FIXED INTEGRATED | | Crash of the ASL compiler for large Offset or Length in Field Unit list +226| I | 433 | | INTEGRATED | | Excessive data is written to the Data field if it is wider than Access Width of the IndexField +227| C | | | FIXED | | The ASL Compiler fails on ASL file which ends up with the symbol of comment '/' without the following '\n' +228| I | | 5395 | | 100 | Store to the RefOf reference immediately returned by Method doesn't work +229| I | 434 | | | 100 | Clarify what is the proper behaviour in case of the zero length buffer +230| C | 437 | | | 100 | ReturnType argument of Method declaration is not supported +231| C | 438 | | | 100 | ParameterTypes argument of Method declaration is not supported +232| I | 440 | | | 100 | No exception on the repeated declaration +233| C | 441 | | | 100 | An invalid non-ASCII letter in declaration passed to ASL Compiler by Include operator causes hang of it +234| M | 448 | | | 100 | The UNIX OSL synchronization interfaces should be developed to support testing +235| M | | | | 100 | Acpiexec hangs on absent global lock on Linux, but does not hang on Windows +236| C | 453 | | | 100 | The ASL Compiler hangs on incorrect ElseIf +237| C | 454 | | | 100 | The ASL Compiler fails to recognize specific Uninitialized LocalX (for Switch) +238| I,S | 455 | | | 100 | The jumping over levels in releasing mutexes is not prohibited +239| I | 456 | | | 100 | Crash in a slack-multi-threading mode when returning from the method experienced exception +240| I | 467 | | | 100 | No exception when not owner thread runs Release of Global lock +241| I | 458 | | | 100 | Crash of AML interpreter after an exception in AcpiExReadDataFromField called from AcpiExResolveObjectToValue +242| I | 471 | | | 100 | Releasing the mutex the first Acquired on the non-zero level makes Releasing the residuary mutexes of that level impossible +243| I | 470 | | | 100 | The normal work with mutexes is broken after the mutex Release order violation +244| I | 472 | | | 100 | Acquire/Release in a global level AML code don't work +245| S | 459 | | | 100 | Switch statement translation example in ACPI Spec is contradictory +246| C | 460 | | | 100 | Switch implementation can cause AE_ALREADY_EXISTS exception when Switch is within While +247| C | 461 | | | 100 | ASL compiler incorrectly implements Break within Switch +248| I | | | | 100 | Incorrect ReferenceCount on Switch operation +249| I | | | | 100 | Strengthen the type control for AcpiExResolveOperands +250| I | | | | 100 | The ReferenceCount mechanism should be added with the internal control +251| I,C,S | 469 | | | 100 | AE_ALREADY_EXISTS on multi-threading on Switch operator +252| C | 468 | | | 100 | ASL compiler crashes on incorrect expression with Switch +253| M | 465 | | | 100 | Option -b of AcpiExec should be generalized to run any command of ACPICA debugger in a Batch mode +254| M | 466 | | | 100 | Adjust the Threads command of AcpiExec to the actual need of mt-testing +255| I | 473 | | | 100 | The multi-threading test mt_mutex/mf07 fails/crashes/hangs on 20060828 +256| I | | | | 100 | Removing the useless code increases essentially the rate of interpretation +257| I | 480 | | | 100 | Unexpected AE_AML_OPERAND_TYPE when the Object in Load is a Region Field +258| I | 481 | | | 100 | Load operator should fail if its Object parameter being a Region is not in SystemMemory +259| I | 482 | | | 100 | _REG method execution during Load operator processing issue +260| I | 484 | | | 100 | For a DDBHandle Object ObjectType unexpectedly results in AE_AML_INTERNAL +261| I | 486 | | | 100 | Crash when DDBHandle parameter of Load is an Indexed Reference +262| I | 487 | 7873 | INTEGRATED | | Unexpected AE_STACK_OVERFLOW for a method call expression with nested calls +263| I | 499 | 7871 | INTEGRATED | | The sequence of evaluating operands of expression with the named objects is violated +264| I | | | | 100 | Crash on re-writing named element of Package +265| I | | | | 100 | The second run to method calculating the IRef-to-String expression is evaluated incorrectly +266| I | | 7874 | FIXED INTEGRATED | | Code of ACPICA which handles AML_NAME_OP as ObjDesc->Reference.Opcode is unused +267| M | | | | 100 | Add the BatchMode with the AcpiTerminate +268| I | | | | 100 | The manner parameters are passed to method in ACPICA contradicts to MS +269| I | | | | 100 | The sequence of evaluating Named object operands passed to method is violated +270| S | | | | 100 | ACPI control method calling convention and MS interpreter don't fit each other +271| I | | | | 100 | CopyObject of Device works incorrectly +272| I | | | | 100 | CopyObject of ThermalZone works incorrectly +273| I | 498 | | | 100 | Implementation of LoadTable operator should take into account its RootPathString parameter +274| I | | | | 100 | Named object as element of Package is handled by ACPICA differently than by MS +275| I | 500 | 7872 | INTEGRATED | | Pop result from bottom principle doesn't work +276| I | | | | 100 | 'Large Reference Count' on AML code with LoadTable/UnLoad in a slack mode +277| I | 501 | | | 100 | Crash of AML interpreter under the specific conditions (see 7466) +278| I | 508 | | | 100 | Namespace location to be relative" functionality of Load operator issue +279| C | 509 | | | 100 | iASL unexpected behavior for the same multiple External +280| C | 516 | | | 100 | iASL can unexpectedly emit the "not accessible" error for Source parameter of CondRefof +281| I | 576 | | | 100 | Normal strings as the LoadTable parameters can cause the matching table to be not found +282| I | 577 | | | 100 | Crash when the Buffer Object parameter of Load is used after an exception in it +283| I | 578 | | | 100 | When the Object parameter of Load is a Field the checksum of the supplied SSDT should be verified +284| I | 579 | | | 100 | An exception should be emitted on Load if the Length field of SSDT exceeds length of its source +285| I | 580 | | | 100 | AE_AML_OPERAND_TYPE unexpectedly occurs when the Handle parameter of Unload is a Method call +286| I | 581 | | | 100 | After an exception the elements of the Package passed to Unload are unexpectedly deleted +287| I | 582 | | | 100 | If any string to match a proper field on LoadTable exceeds field's length an exception should be emitted +288| C | 583 | | | 100 | iASL unexpectedly forbids ParameterData of Loadtable to be LocalX or UserTerm +289| I | 584 | | | 100 | Search of the table matched Loadtable parameters should be restricted to XSDT +290| I | 586 | | | 100 | AcpiExec is unable to emulate Load from OpRegion +291| C | 587 | | | 100 | iASL inconsistence on compilation of LoadTable with/without the -oa option +292| I | 588 | | | 100 | Different second and third UnLoad execution with the same argument behavior +293| I | 585 | | | 100 | Incorrect zero-length Buffer to String conversion +294| I | 589 | | | 100 | _ERR method can not be evaluated when AE_OWNER_ID_LIMIT is emitted +295| C | 590 | | | 100 | iASL reports the improper "operator has no effect" warning for LoadTable +296| I | 591 | | | 100 | AE_AML_INTERNAL unexpectedly occurs when the Loadtable ParameterData and its Target differ in the types +297| I | | | | 100 | After AE_LIMIT the further work of ACPICA mutex framework looks unstable +298| I | | | FIXED INTEGRATED | | AcpiExOpcode_XA_XT_XR routines assign addresses of released cache objects to WalkState->ResultObj causing further problems +299| I | | | | 100 | Many outstanding allocations on abnormal termination of AcpiDsCallControlMethod +300| I | | | | 100 | Recursive calls to methods with the internal declarations (and Switches) should be provided +301| I | | | | 100 | Recursive calls to methods with the internal declarations (and Swithces) causes AE_AML_INTERNAL and crash +302| I | | | | 100 | Scope operation doesn't work for the root node Location +303| I | | | | 100 | Name operation performed from inside the If operation doesn't work for the full-path ObjectName +304| I | | | | 100 | No exception AE_AML_METHOD_LIMIT for the number of method invocations exceeding 255 +305| I | | | | 100 | Not owner recursive method call releases global object created by method +306| I | | | | 100 | Complex indirect storing to a LocalX violates the Writing to LocalX Rule +|=================================================| +| +| +| The symbol of comment is character '|' in the first position of line of file. +| The column-separator symbol is '|'. +| +| +| The contents of fields of the table: +| +| ========= +| COMP - component the bug relates to: +| I - AML Interpreter +| C - iASL compiler +| M - simulation purposes (OS Layer insertions for simulation purposes only) +| U - utility +| S - specs +| ML - memory leak (additional information but not component) +| IID - internal ID of bug +| LBZID - local bugzilla ID +| KBZID - kernel bugzilla ID +| PR - priority for fixing the bug. Should be non-empty for each not fixed +| bug and empty otherwise: +| 1 - will be fixed in the first turn +| 2 - will be fixed in the second turn.. +| SUMMARY - summary. Short description of bug. +| +| STATE-MANUALLY - the state of bug set up/confirmed (if needed) manually: +| FIXED - bug is fixed. It is to be filled only when there is no +| ability to create the relevant bdemo test which shows +| the current state of the bug. +| REJECTED - not a bug more. Each rejected bug should be confirmed +| by this entry here. +| INTEGRATED - bug-fix is olready integrated. Each fixed bug should be +| confirmed by this entry here that its patch/update is +| integrated. +| ========= +| +| +| COMMENTS: +| +| Floating point fix proposed: 29,47 +| +| About how INTEGRATED was set up: +| +| (did not check the code update, but only PASS of test): 58,119,169,171 +| +| About how FIXED was set up: +| +| checked out visually: 53 +| +| About how REJECTED was set up: +| +| 88 -- duplicate of 90 +| 170 -- duplicate of 191 +| +| Specs: +| +| 37,51,147: +| the bugs are filed against specification, so the expected result +| is fixing ACPI specification. It should be checked out manually +| that the relevant part of specification is actually fixed/updated. +| After that write manually INTEGRATED key in the STATE-MANUALLY +| colomn of the relevant bug to confirm completion of bug. Some +| these bugs against specs may nevertheless have the relevant bdemo +| tests which make use just of the relevant functionality touched +| by the part of specification. But nevertheless PASS of these +| tests is not enough to set up INTEGRATED for these bugs of specs. + + + + + diff --git a/tests/aslts/adm/BugState/ALLBUGS_DUP b/tests/aslts/adm/BugState/ALLBUGS_DUP new file mode 100644 index 0000000..5b1baca --- /dev/null +++ b/tests/aslts/adm/BugState/ALLBUGS_DUP @@ -0,0 +1,312 @@ +ALLBUGS| Dont remove this line, it is used in the automatic processing of the table! +| +| This is a STATE-MANUALLY table. +| +|IID COMP LBZID KBZID STATE-MANUALLY PR SUMMARY +|=================================================| + 0| I | | | | | Logical operators return True equal to One but not Ones + 1| C | 419 | | | 100 | The ASL Compiler doesn't allow non-constant TimeoutValue for Acquire + 2| I | | | | | The elseif operator works incorrectly + 3| C | 420 | | | 100 | The ASL Compiler should reject Switch operators with the identical Case operators in it + 4| I | | | | | Concatenate being invoked in Method M000 changes the type of LocalX of calling Method passsed as operand to M000 + 5| I | | | | | Switch operator doesn't provide Default branch + 6| I | | | | | ToInteger converts a decimal string the same way as a hexadecimal one + 7| I | | | | | ToString updates the LocalX value (if it is zero) passed as Length parameter + 8| I | | | | | The type returned by ObjectType for Object created by Field operator is not Field + 9| I | | | | | Exception on ObjectType passed with not initialized values (in LocalX) + 10| I | | | | | ToBuffer transforms operand (in local variable) to reference + 11| C | | | FIXED | | The ASL Compiler crashes on Create*Field for invalid FieldName parameter + 12| I | | 5360 | INTEGRATED | | DerefOf doesn't evaluate String to Object + 13| I | | | | | The type returned by ObjectType for Object created by Create*Field operator is not BufferField + 14| I,S | 421 | | | 100 | Implementation differs the specified Maximal value of MicroSeconds + 15| I | | | | | ToDecimalString produces the Strings which have the length greater than expected + 16| I | | | REJECTED | | Concatenate operator produces the resulting String exceeding 200 symbols without generating exception + 17| I | | | | | LEqual works incorrectly for Buffer-operands containing zero + 18| I | | | | | LGreater works incorrectly for Buffer-operands containing zero + 19| I | | | | | LGreaterEqual works incorrectly for Buffer-operands containing zero + 20| I | | | | | LLess works incorrectly for Buffer-operands containing zero + 21| I | | | | | LLessEqual works incorrectly for Buffer-operands containing zero + 22| I | | | | | LNotEqual works incorrectly for Buffer-operands containing zero + 23| I | 435 | | | 100 | FromBCD/ToBCD works incorrectly in 64-bit mode starting with the large enough values + 24| C | | | FIXED | | The EISAID doesn't provides input control of "uppercase letter" part (UUU) of EisaIdString + 25| S | | | REJECTED | | The maximal length exceeding exception should be additionally specified for some operators + 26| C | | | REJECTED | | The ASL Compiler doesn't forbid images of Strings exceeding maximum + 27| I | | | | | Crash of ObjectType for the particular BufferFields + 28| I | | | | | No exception on Create*Field for out of Buffer range + 29| M | | | | 100 | Looks, like Sleep (or Wait) spend less time than specified + 30| I | | | | | Crash of ObjectType for the particular Fields + 31| C | 422 | | | 100 | The ASL Compiler doesn't try to detect and reject attempts to use object before its declaration is evaluated + 32| C | | | FIXED | | The ASL Compiler should reject the same and out of range IRQ numbers (IRQ and IRQNoFlags macros) + 33| C | | | FIXED | | The ASL-compiler doesn't refuse the same descriptor names present in the same scope (Method) + 34| I | | | | | Some data tables are corrupted when _BAS field of FixedIO Resource Descriptor Macro is specified + 35| C,S | | | FIXED | | The DMA Resource Descriptor Macro (specification, compilation error, to strengthen the ASL Compiler input control) + 36| C | | | FIXED | | The ASL compiler should reject the VendorShort Resource Descriptor Macro with the out of range bytes number + 37| S,C | 424 | | | | The Memory24 Resource Descriptor Macro specification should be updated + 38| I | 418 | | | | LGreater passed with Integer and String works incorrectly in 32-bit mode + 39| C | | | | | The ASL Compiler fails on specific expressions with ObjectType + 40| I | | | | | Crash on sync-objects reusing + 41| I | | | | | ToInteger transforms operand to reference when no conversion is required + 42| I | | | | | ToDecimalString transforms operand to reference when no conversion is required + 43| I | | | | | ToHexString transforms operand to reference when no conversion is required + 44| I | | | | | The ToUUID Macro loses the high hex-digit of each byte + 45| I | | | | | Exception on ToDecimalString for Buffer with 51 elements + 46| I | | | | | Exception on ToHexString for Buffer with 67 elements + 47| M | | | | 100 | Timer operator doesn�t provide gradually increased values + 48| I | | | REJECTED | | No exception on result of Concatenate longer than 210 bytes + 49| I | | | REJECTED | | No exception on result of ToDecimalString longer than 210 bytes + 50| I | | | REJECTED | | No exception on result of ToHexString longer than 210 bytes + 51| S,C,I | 371 | | | | Register() macro missing parameter + 52| I | | | | | The EdgeLevel offset of Interrupt macro (_HE) is specified as 25-th bit but actually it is implemented as 24-th bit + 53| C | | | FIXED | | The ASL Compiler doesn't reject the out of range number of interrupts for Interrupt macro + 54| I | | | | | All ASL Operators causes exceptions on two immediately passed Buffers + 55| C | | | FIXED | | The ASL Compiler should reject the same Interrupt numbers (Interrupt macros) + 56| C | 423 | | | 100 | The ASL Compiler generates a one element descriptor for Interrupt macro with the empty InterruptList + 57| I | | | | | The standalone Return is processed incorrectly + 58| I | 417 | | INTEGRATED | | Concatenate of two Integers may operates in 32-bit mode as in 64-bit mode + 59| I | | | | | String to Buffer conversion doesn't reduce the size of resulting Buffer + 60| I | | | | | "Outstanding allocations" on processing the Type Conversion + 61| I | | | | | Crash on Store the OperationRegion result returned by Method + 62| C | 436 | | | 100 | Crash of the iASL Compiler when ASL-code contains a long String declaration + 63| I | | 5329 | INTEGRATED | | String to Integer conversion contradicts new April 2005 Conversion Rules + 64| I | | | | | Specific operations should initiate AE_BAD_HEX_CONSTANT exceptions + 65| I | | | REJECTED | | BufferField type object should be passed to Methods without any conversion (to Buffer or Integer) + 66| I | | | REJECTED | | FieldUnit type object should be passed to Methods without any conversion (to Buffer or Integer) + 67| I | | | REJECTED | | BufferField type object should be returned by Methods without any conversion (to Buffer or Integer) + 68| I | | | REJECTED | | FieldUnit type object should be returned by Methods without any conversion (to Buffer or Integer) + 69| I | | | | | Exception on storing the result of Mid operation + 70| C | 425 | | REJECTED | | The ASL Compiler should reject Resource Descriptors where ResourceSourceIndex is present but ResourceSource is omitted + 71| C | | | FIXED | | The ASL Compiler should reject Resource Descriptors where ResourceSourceIndex is omitted but ResourceSource is present + 72| C | | | FIXED | | The ASL Compiler program returns improper status after compiling invalid ASL code + 73| C | | | FIXED | | The ASL Compiler fails and reports a large number of "Recursive method call" remarks + 74| I | | | | | Ones is not equal to 0xFFFFFFFF in 32-bit mode + 75| C | | | | | Each scope of DefinitionBlock should be supplied with its set of _T_x objects + 76| I | | | | | Unexpected dereference of Index reference in Store operator + 77| I | | | | | Exception on ToInteger operator under specific conditions + 78| I | | | | | Specific expression Derefof(Refof(i000)) causes deletion of object (i000) + 79| I | | | | | Specific expression with ToBuffer causes exception + 80| C,S | 416 | | | 100 | The ASL compiler should report Error when the name of Method (but not invocation of it) is specified in expressions + 81| C,I,S | 415 | | | 100 | Call to Method immediately passed to ObjectType is evaluated improperly + 82| S | 414 | | | 100 | The Data Type Conversion Rules table should be updated + 83| I | | 5387 | INTEGRATED | | No exception on DerefOf of an arbitrary Source + 84| I | | 5361 | INTEGRATED | | Failed to interpret AML code alternated with Method declarations + 85| I | | | | | Exception on DeRefOf operator applied to IRef to Uninitialized element of Package + 86| I | | | | | ToString operator produces one "Outstanding allocation" + 87| I | | | | | Exception on Switch operator applied to the result of ToBuffer operator + 88| S | | | REJECTED | | Spec of Match operator should be changed (conversion/null package entries) + 89| S | | | | 100 | Clarifying what does the ASL Method as an element of Package mean + 90| S | 412 | | | 100 | Spec of Match operator should be changed (conversion/null package entries) + 91| S | 411 | | | 100 | The result of String-to-Buffer conversion should include the string null terminator + 92| I | | | | | Invalid result of Index operator passed with the immediate image of Package + 93| I | | | | | Invalid result of Index operator passed with the immediate image of Buffer + 94| I | | | | | Invalid result of Index operator passed with the immediate image of String + 95| I | | | | | Big amount of invocations of Methods causes overlap of OwnerId counter + 96| C | 410 | | | 100 | The ASL Compiler fails to recognize specific Uninitialized LocalX + 97| I | | | | | Crash on ObjectType passed with IRef to Method which is an element of Package + 98| I | | | | | Crash on a specific AML code + 99| I | | | | | The specific sequence of operations dealing with IRef/ORef corrupts the source object +100| I | | | | | The specific combination of operators aborts execution +101| C | | | | | The ASL compiler fails to create RefOf reference to Method not returning explicitly any object +102| I | | | | | The specific combination of operators produces one "Outstanding allocation" +103| I | | | | | The Method type element of Package is being invoked +104| I | | | | | The ObjectType operator being passed with the IRef to the Uninitialized element of Package causes crash +105| I | | | | | The ObjectType operator being passed with the IRef obtained by the specific way causes crash +106| I | | 5388 | | 100 | Crash on RefOf(Debug) operation +107| C | | | | | The ASL Compiler crashes when tries to convert data that can not be converted +108| C | | | FIXED | | The ASL Compiler crashes when the result of ToBCD exceeds the current range of Integer +109| C | | | FIXED | | The ASL Compiler crashes on FromBCD being passed with the invalid data (hex image containing not only decimal digits) +110| I ML | | | FIXED | | The Memory Leak anomaly on a While operator (the first anomaly encountered by PMEMCV instrumentation) +111| I | | | | | No String to Integer and Buffer to Integer conversions of the Predicate Value in If, ElseIf and While operators +112| C | | | | | The ASL compiler refuses passing the Named Objects and String constants as a MicroSecs operand of the Stall operator +113| I | | 5389 | | 100 | Unexpected dereference of Index reference immediately passed to Method +114| C | 407 | | | 100 | Method object as a Source of Index operation is treated by iASL mistakenly as a call to that Method +115| I | | 5390 | | 100 | Unexpected dereference of Index reference returned by Method and immediately passed to another Method +116| C | | | FIXED | | The ASL Compiler doesn't recognize attempts to generate IRefs to arbitrary type objects +117| I | | | | | Modifying the copy of the String obtained by the Store operator modifies the initial String Object also +118| I | | 5328 | | 100 | Access to FieldObject element of Package causes exception +119| I | 413 | | INTEGRATED | | The Logical operators in 32-bit mode act with 64-bit values +120| I | | 5370 | INTEGRATED | | Unexpected exception on Store of Device and ThermalZone elements of Package to Debug operation +121| I | 406 | | | 100 | Crash on attempt to deal with the invalid BufferFields (zero NumBits passed to CreateField) +122| C | 405 | | FIXED INTEGRATED | | The ASL Compiler doesn't report Error/Warning for zero NumBits parameter of CreateField operator +123| I | 404 | | | | No exception when StartIndex in Match operator is equal to or greater than the size of SourcePackage +124| I | 403 | | | | No exception when the Index argument on Index() operator is out of the Source +125| I | | | | | The Mid operator in 64-bit mode returns non-empty result for improper Index +126| I | | 5372 | | 100 | The Read access automatic dereference for RefOf reference doesn't work +127| I | | 5391 | | 100 | Unexpectedly CopyObject of immediately passed Index reference is not reference +128| I | | 5392 | INTEGRATED | | Copying the RefOf reference to Named object spoils that reference +129| I,C,S | | | | | Creating Package of an arbitrary length, Package & VarPackage +130| I | | | | | Reference to String works differently to like the references to Buffer and Package work +131| I | | 5394 | | 100 | Store to the Index reference immediately returned by Method doesn't work +132| I | | 5373 | | 100 | The Read access automatic dereference for Index reference doesn't work +133| I | | 5374 | | 100 | The Write access automatic dereference for Index reference doesn't work +134| I | | 5375 | | 100 | Writing RefOf reference from inside Method breaks effectively local Arg +135| I | | 5358 | | | Store of Index reference to another element of the same Package causes hang +136| I | | | | | CopyObject of named Buffer to the longer named Buffer works incorrectly +137| I | | | | | The Implicit Result Object conversion is mistakenly applied to the optional storing of FromBCD +138| I | | | | | 8 bytes but not 4 expected ones are written to BufferField in 32-bit mode +139| I | | | | | DeRefof and Store operations on 64-bit Integers of 32-bit AML table has been loaded modify them +140| C | | | FIXED | | The ASL Compiler doesn't report NumElements being less than the number of elements in the PackageList +141| S | 402 | | | 100 | The term 'object reference' in DMA Resource Descriptor Macro specs sounds ambiguously +142| C | 401 | | | 100 | The ASL Compiler doesn't support non-empty list of parameters of Function Declaration +143| C | | | | | The ASL Compiler doesn't support more than two-element long list of ParameterTypes argument of Method +144| C | | | | | The ASL Compiler doesn't support multiple type list for particular ParameterType of Method +145| C | | | FIXED | | The ASL Compiler should report an error for SyncLevel argument of Method outside of range +146| C | | | | | The ASL compiler refuses Package in Case operator +147| S | 400 | | | | ProcessorObj Object Type Keyword is not present in ObjectTypeKeyword +148| C | 399 | | | 100 | Additional errors to be reported by iASL for Control Method Declaration +149| S | 398 | | | 100 | Spec of Function should be clarified +150| I | | 5334 | INTEGRATED | | No exception when Serialized Method is run after the higher level mutex acquiring +151| I | | | | | The zero-length resulting String of Mid operator passed to Concatenate operator causes crash +152| C | 394 | | | 100 | Decrease severity of iASL error for non-Computational types in the Computational data positions +153| I | | 5314 | | 1 | Source and Target objects after ACPI AML StoreOp behave identically +154| I | | | | | Exception occurs on attempt to rewrite Device type object passed by ArgX to Method +155| I | | | | | Global level AML code execution is performed twice +156| I ML | | 5422 | FIXED INTEGRATED | | Memory leak till the Method exit for each execution of If(TRUE)-Else/ElseIf +157| C | 397 | | | 100 | Exception while processing the empty ParameterTypes list of Method +158| I ML | | 5423 | FIXED INTEGRATED | | Memory leak till the Method exit for each execution of Break +159| I ML | | 5424 | FIXED INTEGRATED | | Memory leak till the Method exit for each execution of Continue +160| I | | | | | Attempt to declare Field inside the If scope causes exception +161| I | | 5359 | INTEGRATED | | Named object passed as a BitIndex or NumBits to CreateField causes hang +162| I | | 5326 | INTEGRATED | | Crash while processing the global level execution exception +163| I ML | | 5425 | | 100 | The copy of Device object to LocalX is not ever released +164| I | | | FIXED | | Subtest m22d of Reference test started causing exceptions since 20050526 +165| I ML | | 5426 | FIXED | | Unnecessary memory allocation for CreateField should be eliminated +166| I ML | | 5427 | INTEGRATED | | Releasing memory of the inside Method scopes surrounding Return operation is needed +167| I | | | | | Manipulation test PASS but started reporting suspicious diagnostic +168| C,I | | | FIXED | | Wrong specific Package obtained for not optimized AML code +169| I | 395 | | INTEGRATED | | Improper work of ShiftLeft and ShiftRight operators on Linux in a specific case +170| I | | | REJECTED | | -- see if to rewrite it for Fields but not for BufferFields +171| I | 396 | | INTEGRATED | | Improper Integer to String implicit conversion in a specific case +172| I | | | FIXED | | Outstanding allocations to be investigated +173| I | | 5336 | FIXED INTEGRATED | | Two the same fragments of code should be compacted to one +174| I | | | | | Inappropriate constant in DescriptorType field of the Descriptor->Address64 structure +175| I | | 5369 | INTEGRATED | | Unexpected exception on Store of ThermalZone to Debug operation +176| I | | 5466 | | 100 | Store-to-Debug an element of Package having reference to itself results in an infinite loop +177| I | | 5480 | INTEGRATED | | Exception BUFFER_LIMIT occurs instead of STRING_LIMIT one +178| I | 393 | | | 100 | Unexpected exception occurs on access to the Fields specified by BankField +179| I | | | | | ConcatenateResTemplate operation falls into an endless loop +180| C | | | | | Failed to compiler Switch/Case operators +181| C | | | | | Failed to compiler specific Method +182| I | | | | | Exception on a specific declarations of objects of the same name +183| C | | | | | Stack OverFlow of ASL compiler on processing the specific recursive method call +184| I | | | | | Nesting Methods cause exceptions +185| I | 392 | | | 100 | In a slack mode Method should implicitly return zero (0) as a default value +186| I | 391 | | | 100 | The predicate value of If/While operations is not implicitly returned in slack mode +187| I | 389 | | | 100 | No exception in non-slack mode on attempt to obtain value from Method terminated by the standalone Return +188| I | 390 | | INTEGRATED | | ConcatenateResTemplate doesn't consume an empty buffer +189| I | | | | | The 1-byte buffer passed to ConcatenateResTemplate doesn't cause a run-time error +190| I | | | | | In ConcatenateResTemplate an operand ending only with the first byte of the end tag doesn't cause a run-time error +191| I,S | 388 | | | 100 | CopyObject to Buffer Field specification/implementation should be clarified/fixed +192| I | 387 | | | 100 | Incorrect value of Bank register after storing to its banked field +193| I | 354 | | | 100 | storing opt. results of Not/NAnd/NOr into Buffer Field in 32-bit mode can soil the higher bits of BF +194| I | 386 | | | 100 | Incorrect length of result of ToBuffer in case it is stored into a Named Buffer +195| I | 353 | | | 100 | Increment and Decrement of String or Buffer changes the type of operand +196| I | | | | | Incorrect conversion of String to Integer for ToInteger("0x0x12345678") +197| I | | | | | No exception occurs for incorrect String-image of Integer passed to ToInteger like "0x 1234" +198| I | | 6028 | INTEGRATED | | AML interpretation in 32-bit slack mode becomes unstable after some exceptions +199| I | | | | | No exception on DerefOf for parameter which is none of ObjectReference/IndexReference/String +200| I | 352 | | | 100 | the code path taken after exception in AcpiPsParseLoop is incorrect +201| I | 385 | | | 100 | Many Outstanding allocations on ASLTS tests run +202| I | | 6151 | FIXED INTEGRATED | | The ASLTS test b129 falls into an infinitive loop in a 32-bit slack mode +203| I | 348 | | | 100 | ObjectType operation falls into infinite loop for ring of RefOf references +204| I | 347 | | | 100 | SizeOf operation falls into infinite loop for ring of RefOf references +205| I | 346 | | | 100 | Store-to-Debug operation falls into infinite loop for ring of RefOf references +206| I | 345 | | | 100 | ObjectType operation falls into infinite loop for ring of Index references +207| I | 344 | | | 100 | SizeOf operation falls into infinite loop for ring of Index references +208| I | 343 | | | 100 | Store-to-Debug operation falls into infinite loop for ring of Index references +209| I | | 6220 | REJECTED | | Ineffective memory consumption detected by b135 ASLTS tests +210| I | 349 | | | 100 | Implicit return objects are not released in Slack Mode +211| I | | 6514 | INTEGRATED | | ACPI-CA memory leak due to optionally stored AML Object passed through "child" Method +212| I | | 6389 | | 100 | AML interpreter doesn't prevent dead RefOf-references +213| I | 342 | | | 100 | abort of AcpiExec on accessing internal object of terminated method by returned IRef +214| I | 350 | | | 100 | crash of AcpiExec on repeated CopyObject of OpRegion +215| I | 351 | | | 100 | exception on accessing IndexField with IndexName Region Field exceeding 32 bits +216| I | 341 | | | 100 | exception AE_NOT_FOUND on CreateField under specific conditions +217| I | 409 | | | 100 | Dynamic OpRegion _REG method execution problem +218| I | 408 | | | 100 | Access to internal object of Method is lost after returning from the recursive call to that Method +219| I | 426 | | | 100 | The result of Interrupt Resource Template macro is incorrect when ResourceSource is omitted +220| I | 427 | | | 100 | Inconsistent "Access is available/unavailable" _REG method calls +221| I | 428 | | | 100 | AcpiExec improper emulates alternating access to OpRegions covering different ranges +222| I | 429 | | | 100 | Alternating access to OpRegions of different Address Spaces issue +223| I | 430 | | | 100 | DataTableRegion with the non-constant *String arguments unexpectedly causes an exception or crash +224| I | 431 | | | 100 | AcpiExec is unable to emulate access to IndexField Object +225| C | 432 | | FIXED INTEGRATED | | Crash of the ASL compiler for large Offset or Length in Field Unit list +226| I | 433 | | INTEGRATED | | Excessive data is written to the Data field if it is wider than Access Width of the IndexField +227| C | | | FIXED | | The ASL Compiler fails on ASL file which ends up with the symbol of comment '/' without the following '\n' +228| I | | 5395 | | 100 | Store to the RefOf reference immediately returned by Method doesn't work +229| I | 434 | | | 100 | Clarify what is the proper behaviour in case of the zero length buffer +230| C | 437 | | | 100 | ReturnType argument of Method declaration is not supported +231| C | 438 | | | 100 | ParameterTypes argument of Method declaration is not supported +232| I | 440 | | | 100 | No exception on the repeated declaration +233| C | 441 | | | 100 | An invalid non-ASCII letter in declaration passed to ASL Compiler by Include operator causes hang of it +|=================================================| +| +| +| The symbol of comment is character '|' in the first position of line of file. +| The column-separator symbol is '|'. +| +| +| The contents of fields of the table: +| +| ========= +| COMP - component the bug relates to: +| I - AML Interpreter +| C - iASL compiler +| M - simulation purposes (OS Layer insertions for simulation purposes only) +| U - utility +| S - specs +| ML - memory leak (additional information but not component) +| IID - internal ID of bug +| LBZID - local bugzilla ID +| KBZID - kernel bugzilla ID +| PR - priority for fixing the bug. Should be non-empty for each not fixed +| bug and empty otherwise: +| 1 - will be fixed in the first turn +| 2 - will be fixed in the second turn.. +| SUMMARY - summary. Short description of bug. +| +| STATE-MANUALLY - the state of bug set up/confirmed (if needed) manually: +| FIXED - bug is fixed. It is to be filled only when there is no +| ability to create the relevant bdemo test which shows +| the current state of the bug. +| REJECTED - not a bug more. Each rejected bug should be confirmed +| by this entry here. +| INTEGRATED - bug-fix is olready integrated. Each fixed bug should be +| confirmed by this entry here that its patch/update is +| integrated. +| ========= +| +| +| COMMENTS: +| +| Floating point fix proposed: 29,47 +| +| About how INTEGRATED was set up: +| +| (did not check the code update, but only PASS of test): 58,119,169,171 +| +| About how FIXED was set up: +| +| checked out visually: 53 +| +| About how REJECTED was set up: +| +| 88 -- duplicate of 90 +| 170 -- duplicate of 191 +| +| Specs: +| +| 37,51,147: +| the bugs are filed against specification, so the expected result +| is fixing ACPI specification. It should be checked out manually +| that the relevant part of specification is actually fixed/updated. +| After that write manually INTEGRATED key in the STATE-MANUALLY +| colomn of the relevant bug to confirm completion of bug. Some +| these bugs against specs may nevertheless have the relevant bdemo +| tests which make use just of the relevant functionality touched +| by the part of specification. But nevertheless PASS of these +| tests is not enough to set up INTEGRATED for these bugs of specs. + + + + + diff --git a/tests/aslts/adm/BugState/ARX/0000/BugList_AML_KB_SUM0 b/tests/aslts/adm/BugState/ARX/0000/BugList_AML_KB_SUM0 new file mode 100644 index 0000000..27e5d31 --- /dev/null +++ b/tests/aslts/adm/BugState/ARX/0000/BugList_AML_KB_SUM0 @@ -0,0 +1,59 @@ +Bug List: AML_KB_SUM0 + Kernel Bug Tracker + Bug List: AML_KB_SUM0 + + +Wed Jul 12 05:37:04 PDT 2006 + + + +37 bugs found. ID State Result Category + 5314 RESO CODE ACPI + 5326 CLOS CODE ACPI + 5328 ASSI ACPI + 5329 CLOS CODE ACPI + 5334 RESO CODE ACPI + 5336 CLOS CODE ACPI + 5358 RESO CODE ACPI + 5359 RESO CODE ACPI + 5360 CLOS CODE ACPI + 5361 CLOS CODE ACPI + 5369 CLOS CODE ACPI + 5370 CLOS CODE ACPI + 5372 ASSI ACPI + 5373 ASSI ACPI + 5374 ASSI ACPI + 5375 ASSI ACPI + 5387 CLOS CODE ACPI + 5388 ASSI ACPI + 5389 ASSI ACPI + 5390 ASSI ACPI + 5391 ASSI ACPI + 5392 CLOS CODE ACPI + 5394 ASSI ACPI + 5395 ASSI ACPI + 5422 CLOS CODE ACPI + 5423 RESO CODE ACPI + 5424 RESO CODE ACPI + 5425 ASSI ACPI + 5426 RESO PATC ACPI + 5427 CLOS CODE ACPI + 5466 ASSI ACPI + 5480 CLOS CODE ACPI + 6028 CLOS CODE ACPI + 6151 CLOS CODE ACPI + 6220 REJE DOCU ACPI + 6389 NEED ACPI + 6514 CLOS CODE ACPI +37 bugs found. + + Query Page Enter New Bug Change Columns Edit this Query + Actions: New | Query | bug # | Reports Edit prefs | Log out + Valery.A.Podrezov@intel.com + Preset Queries: My Bugs | AML_KB_SUM0 + + This is based on Bugzilla: the Mozilla bug system. For more + information about what Bugzilla is and what it can do, see + bugzilla.org. + Bugzilla version 2.16.10 + diff --git a/tests/aslts/adm/BugState/ARX/0000/BugList_AML_LB_SUM0 b/tests/aslts/adm/BugState/ARX/0000/BugList_AML_LB_SUM0 new file mode 100644 index 0000000..73f17c1 --- /dev/null +++ b/tests/aslts/adm/BugState/ARX/0000/BugList_AML_LB_SUM0 @@ -0,0 +1,101 @@ +Bug List: AML_LB_SUM0Linux OS Bugzilla linuxos.sh.intel.com + Bug List: AML_LB_SUM0 + + +Thu Jul 13 00:19:55 WST 2006 +"Debugging is twice as hard as writing the code in the first place. Therefore, +if you write the code as cleverly as possible, you are, by definition, not smart +enough to debug it." - Brian W. Kernighan + + +71 bugs found. ID State Result Comp + 341 ASSI Core/Int + 342 ASSI Core/Int + 343 ASSI Core/Int + 344 ASSI Core/Int + 345 ASSI Core/Int + 346 ASSI Core/Int + 347 ASSI Core/Int + 348 ASSI Core/Int + 349 ASSI Core/Int + 350 ASSI Core/Int + 351 ASSI Core/Int + 352 ASSI Core/Int + 353 ASSI Core/Int + 354 ASSI Core/Int + 371 RESO FIXE ACPI Spe + 385 ASSI Core/Int + 386 ASSI Core/Int + 387 ASSI Core/Int + 388 ASSI Core/Int + 389 ASSI Core/Int + 390 CLOS FIXE Core/Int + 391 ASSI Core/Int + 392 ASSI Core/Int + 393 ASSI Core/Int + 394 ASSI iASL Com + 395 CLOS FIXE Core/Int + 396 CLOS FIXE Core/Int + 397 ASSI iASL Com + 398 RESO FIXE ACPI Spe + 399 ASSI iASL Com + 400 RESO FIXE ACPI Spe + 401 ASSI iASL Com + 402 RESO FIXE ACPI Spe + 403 CLOS FIXE Core/Int + 404 CLOS FIXE Core/Int + 405 CLOS FIXE iASL Com + 406 ASSI Core/Int + 407 ASSI iASL Com + 408 ASSI Core/Int + 409 ASSI Core/Int + 410 ASSI iASL Com + 411 RESO FIXE ACPI Spe + 412 RESO FIXE ACPI Spe + 413 CLOS FIXE Core/Int + 414 RESO FIXE ACPI Spe + 415 ASSI iASL Com + 416 ASSI iASL Com + 417 CLOS FIXE Core/Int + 418 CLOS FIXE Core/Int + 419 ASSI iASL Com + 420 ASSI iASL Com + 421 ASSI Core/Int + 422 ASSI iASL Com + 423 ASSI iASL Com + 424 ASSI ACPI Spe + 425 RESO INVA iASL Com + 426 ASSI Core/Int + 427 ASSI Core/Int + 428 ASSI Core/Int + 429 ASSI Core/Int + 430 ASSI Core/Int + 431 ASSI Core/Int + 432 CLOS FIXE iASL Com + 433 CLOS FIXE Core/Int + 434 ASSI Core/Int + 435 ASSI Core/Int + 436 CLOS FIXE iASL Com + 437 ASSI iASL Com + 438 ASSI iASL Com + 440 ASSI Core/Int + 441 ASSI iASL Com +71 bugs found. + + Query Page Enter New Bug Change Columns Change Several Bugs at Once + Edit this Query + This is Bugzilla: the Mozilla bug system. For more information about + what Bugzilla is and what it can do, see bugzilla.org. + + Actions: New | Query | bug # | Reports | My Votes Edit + prefs | Log out valery.a.podrezov@intel.com + + + + Personal Queries: My Bugs | AML_LB_SUM0* + + + + Shared Queries: + + diff --git a/tests/aslts/adm/BugState/ARX/0001/BugList_AML_KB_SUM0 b/tests/aslts/adm/BugState/ARX/0001/BugList_AML_KB_SUM0 new file mode 100644 index 0000000..12ebeec --- /dev/null +++ b/tests/aslts/adm/BugState/ARX/0001/BugList_AML_KB_SUM0 @@ -0,0 +1,59 @@ +Bug List: AML_KB_SUM0 + Kernel Bug Tracker + Bug List: AML_KB_SUM0 + + +Wed Jul 26 07:34:25 PDT 2006 + + + +37 bugs found. ID State Result Category + 5314 RESO CODE ACPI + 5326 CLOS CODE ACPI + 5328 ASSI ACPI + 5329 CLOS CODE ACPI + 5334 RESO CODE ACPI + 5336 CLOS CODE ACPI + 5358 RESO CODE ACPI + 5359 RESO CODE ACPI + 5360 CLOS CODE ACPI + 5361 CLOS CODE ACPI + 5369 CLOS CODE ACPI + 5370 CLOS CODE ACPI + 5372 ASSI ACPI + 5373 ASSI ACPI + 5374 ASSI ACPI + 5375 ASSI ACPI + 5387 CLOS CODE ACPI + 5388 ASSI ACPI + 5389 ASSI ACPI + 5390 ASSI ACPI + 5391 ASSI ACPI + 5392 CLOS CODE ACPI + 5394 ASSI ACPI + 5395 ASSI ACPI + 5422 CLOS CODE ACPI + 5423 RESO CODE ACPI + 5424 RESO CODE ACPI + 5425 ASSI ACPI + 5426 CLOS PATC ACPI + 5427 CLOS CODE ACPI + 5466 ASSI ACPI + 5480 CLOS CODE ACPI + 6028 CLOS CODE ACPI + 6151 CLOS CODE ACPI + 6220 REJE DOCU ACPI + 6389 NEED ACPI + 6514 CLOS CODE ACPI +37 bugs found. + + Query Page Enter New Bug Change Columns Edit this Query + Actions: New | Query | bug # | Reports Edit prefs | Log out + Valery.A.Podrezov@intel.com + Preset Queries: My Bugs | AML_KB_SUM0 + + This is based on Bugzilla: the Mozilla bug system. For more + information about what Bugzilla is and what it can do, see + bugzilla.org. + Bugzilla version 2.16.10 + diff --git a/tests/aslts/adm/BugState/ARX/0001/BugList_AML_LB_SUM0 b/tests/aslts/adm/BugState/ARX/0001/BugList_AML_LB_SUM0 new file mode 100644 index 0000000..225961f --- /dev/null +++ b/tests/aslts/adm/BugState/ARX/0001/BugList_AML_LB_SUM0 @@ -0,0 +1,102 @@ +Bug List: AML_LB_SUM0Linux OS Bugzilla linuxos.sh.intel.com + Bug List: AML_LB_SUM0 + + +Wed Jul 26 22:36:30 WST 2006 +"Debugging is twice as hard as writing the code in the first place. Therefore, +if you write the code as cleverly as possible, you are, by definition, not smart +enough to debug it." - Brian W. Kernighan + + +72 bugs found. ID State Result Comp + 341 ASSI Core/Int + 342 ASSI Core/Int + 343 ASSI Core/Int + 344 ASSI Core/Int + 345 ASSI Core/Int + 346 ASSI Core/Int + 347 ASSI Core/Int + 348 ASSI Core/Int + 349 ASSI Core/Int + 350 ASSI Core/Int + 351 ASSI Core/Int + 352 ASSI Core/Int + 353 ASSI Core/Int + 354 ASSI Core/Int + 371 RESO FIXE ACPI Spe + 385 ASSI Core/Int + 386 ASSI Core/Int + 387 ASSI Core/Int + 388 ASSI Core/Int + 389 ASSI Core/Int + 390 CLOS FIXE Core/Int + 391 ASSI Core/Int + 392 ASSI Core/Int + 393 ASSI Core/Int + 394 ASSI iASL Com + 395 CLOS FIXE Core/Int + 396 CLOS FIXE Core/Int + 397 ASSI iASL Com + 398 RESO FIXE ACPI Spe + 399 ASSI iASL Com + 400 RESO FIXE ACPI Spe + 401 ASSI iASL Com + 402 RESO FIXE ACPI Spe + 403 CLOS FIXE Core/Int + 404 CLOS FIXE Core/Int + 405 CLOS FIXE iASL Com + 406 ASSI Core/Int + 407 ASSI iASL Com + 408 ASSI Core/Int + 409 ASSI Core/Int + 410 ASSI iASL Com + 411 RESO FIXE ACPI Spe + 412 RESO FIXE ACPI Spe + 413 CLOS FIXE Core/Int + 414 RESO FIXE ACPI Spe + 415 RESO WONT iASL Com + 416 ASSI iASL Com + 417 CLOS FIXE Core/Int + 418 CLOS FIXE Core/Int + 419 ASSI iASL Com + 420 ASSI iASL Com + 421 ASSI Core/Int + 422 ASSI iASL Com + 423 ASSI iASL Com + 424 ASSI ACPI Spe + 425 RESO INVA iASL Com + 426 ASSI Core/Int + 427 ASSI Core/Int + 428 ASSI Core/Int + 429 ASSI Core/Int + 430 ASSI Core/Int + 431 ASSI Core/Int + 432 CLOS FIXE iASL Com + 433 CLOS FIXE Core/Int + 434 ASSI Core/Int + 435 ASSI Core/Int + 436 CLOS FIXE iASL Com + 437 ASSI iASL Com + 438 ASSI iASL Com + 440 ASSI Core/Int + 441 ASSI iASL Com + 448 NEW Utilitie +72 bugs found. + + Query Page Enter New Bug Change Columns Change Several Bugs at Once + Edit this Query + This is Bugzilla: the Mozilla bug system. For more information about + what Bugzilla is and what it can do, see bugzilla.org. + + Actions: New | Query | bug # | Reports | My Votes Edit + prefs | Log out valery.a.podrezov@intel.com + + + + Personal Queries: My Bugs | AML_LB_SUM0* + + + + Shared Queries: + + diff --git a/tests/aslts/adm/BugState/BugList_AML_KB_SUM0 b/tests/aslts/adm/BugState/BugList_AML_KB_SUM0 new file mode 100644 index 0000000..411bae2 --- /dev/null +++ b/tests/aslts/adm/BugState/BugList_AML_KB_SUM0 @@ -0,0 +1,63 @@ +Bug List + Kernel Bug Tracker + Bug List + + +Tue Mar 20 08:51:30 PDT 2007 + + + +41 bugs found. ID State Result Category + 5314 ASSI ACPI + 5326 CLOS CODE ACPI + 5328 ASSI ACPI + 5329 CLOS CODE ACPI + 5334 CLOS CODE ACPI + 5336 CLOS CODE ACPI + 5358 ASSI ACPI + 5359 CLOS CODE ACPI + 5360 CLOS CODE ACPI + 5361 CLOS CODE ACPI + 5369 CLOS CODE ACPI + 5370 CLOS CODE ACPI + 5372 ASSI ACPI + 5373 ASSI ACPI + 5374 ASSI ACPI + 5375 ASSI ACPI + 5387 CLOS CODE ACPI + 5388 ASSI ACPI + 5389 ASSI ACPI + 5390 ASSI ACPI + 5391 ASSI ACPI + 5392 CLOS CODE ACPI + 5394 ASSI ACPI + 5395 ASSI ACPI + 5422 CLOS CODE ACPI + 5423 CLOS CODE ACPI + 5424 CLOS CODE ACPI + 5425 ASSI ACPI + 5426 CLOS PATC ACPI + 5427 CLOS CODE ACPI + 5466 ASSI ACPI + 5480 CLOS CODE ACPI + 6028 CLOS CODE ACPI + 6151 CLOS CODE ACPI + 6220 REJE DOCU ACPI + 6389 ASSI ACPI + 6514 CLOS CODE ACPI + 7871 RESO CODE ACPI + 7872 RESO CODE ACPI + 7873 RESO CODE ACPI + 7874 RESO CODE ACPI +41 bugs found. + + Query Page Enter New Bug Change Columns Edit this Query + Actions: New | Query | bug # | Reports Edit prefs | Log out + Valery.A.Podrezov@intel.com + Preset Queries: My Bugs | AML_KB_SUM0 + + This is based on Bugzilla: the Mozilla bug system. For more + information about what Bugzilla is and what it can do, see + bugzilla.org. + Bugzilla version 2.16.10 + diff --git a/tests/aslts/adm/BugState/BugList_AML_LB_SUM0 b/tests/aslts/adm/BugState/BugList_AML_LB_SUM0 new file mode 100644 index 0000000..18a615e --- /dev/null +++ b/tests/aslts/adm/BugState/BugList_AML_LB_SUM0 @@ -0,0 +1,136 @@ +Bug List: AML_LB_SUM0This is Bugzilla Bugzilla Version 2.22.1 Bug List: +AML_LB_SUM0 +Tue Mar 20 2007 23:56:19 +Bugzilla would like to put a random quip here, but no one has entered any. + + +118 bugs found. ID Status Resolution Comp + 341 ASSI Core/Int + 342 ASSI Core/Int + 343 ASSI Core/Int + 344 ASSI Core/Int + 345 ASSI Core/Int + 346 ASSI Core/Int + 347 ASSI Core/Int + 348 ASSI Core/Int + 349 ASSI Core/Int + 350 ASSI Core/Int + 351 ASSI Core/Int + 352 ASSI Core/Int + 353 ASSI Core/Int + 354 ASSI Core/Int + 371 RESO FIXE ACPI Spe + 385 ASSI Core/Int + 386 ASSI Core/Int + 387 ASSI Core/Int + 388 ASSI Core/Int + 389 ASSI Core/Int + 390 CLOS FIXE Core/Int + 391 ASSI Core/Int + 392 ASSI Core/Int + 393 ASSI Core/Int + 394 ASSI iASL Com + 395 CLOS FIXE Core/Int + 396 CLOS FIXE Core/Int + 397 ASSI iASL Com + 398 RESO FIXE ACPI Spe + 399 ASSI iASL Com + 400 RESO FIXE ACPI Spe + 401 ASSI iASL Com + 402 RESO FIXE ACPI Spe + 403 CLOS FIXE Core/Int + 404 CLOS FIXE Core/Int + 405 CLOS FIXE iASL Com + 406 ASSI Core/Int + 407 ASSI iASL Com + 408 ASSI Core/Int + 409 ASSI Core/Int + 410 ASSI iASL Com + 411 RESO FIXE ACPI Spe + 412 RESO FIXE ACPI Spe + 413 CLOS FIXE Core/Int + 414 RESO FIXE ACPI Spe + 415 RESO WONT iASL Com + 416 ASSI iASL Com + 417 CLOS FIXE Core/Int + 418 CLOS FIXE Core/Int + 419 ASSI iASL Com + 420 ASSI iASL Com + 421 ASSI Core/Int + 422 ASSI iASL Com + 423 ASSI iASL Com + 424 ASSI ACPI Spe + 425 RESO INVA iASL Com + 426 ASSI Core/Int + 427 ASSI Core/Int + 428 ASSI Core/Int + 429 RESO FIXE Core/Int + 430 ASSI Core/Int + 431 ASSI Core/Int + 432 CLOS FIXE iASL Com + 433 CLOS FIXE Core/Int + 434 ASSI Core/Int + 435 ASSI Core/Int + 436 CLOS FIXE iASL Com + 437 ASSI iASL Com + 438 ASSI iASL Com + 440 RESO FIXE Core/Int + 441 ASSI iASL Com + 448 NEW Utilitie + 453 RESO FIXE iASL Com + 454 ASSI iASL Com + 455 ASSI Core/Int + 456 ASSI Core/Int + 458 RESO FIXE Core/Int + 459 ASSI ACPI Spe + 460 RESO FIXE iASL Com + 461 ASSI iASL Com + 465 RESO FIXE Utilitie + 466 RESO FIXE Utilitie + 467 ASSI Core/Int + 468 ASSI iASL Com + 469 ASSI Core/Int + 470 ASSI Core/Int + 471 ASSI Core/Int + 472 ASSI Core/Int + 473 ASSI Core/Int + 480 RESO FIXE Core/Int + 481 RESO FIXE Core/Int + 482 ASSI Core/Int + 484 ASSI Core/Int + 486 ASSI Core/Int + 487 ASSI Core/Int + 498 NEW Core/Int + 499 RESO FIXE Core/Int + 500 RESO FIXE Core/Int + 501 ASSI Core/Int + 508 NEW Core/Int + 509 NEW iASL Com + 516 NEW iASL Com + 576 NEW Core/Int + 577 NEW Core/Int + 578 NEW Core/Int + 579 NEW Core/Int + 580 NEW Core/Int + 581 NEW Core/Int + 582 NEW Core/Int + 583 NEW iASL Com + 584 NEW Core/Int + 585 NEW Core/Int + 586 NEW Utilitie + 587 NEW iASL Com + 588 NEW Core/Int + 589 NEW Core/Int + 590 NEW iASL Com + 591 NEW Core/Int +118 bugs found. + + + + CSV | Feed | iCalendar | + Change Columns | Change Several Bugs at Once | Edit Search as +Actions:Home | New | Search | | Reports | My Requests | My Votes | Log out +valery.a.podrezov@intel.com +Edit:Prefs +Saved Searches: My Bugs | AML_LB_SUM0 + bugs to the new saved search: \ No newline at end of file diff --git a/tests/aslts/adm/BugState/README b/tests/aslts/adm/BugState/README new file mode 100644 index 0000000..489bfb3 --- /dev/null +++ b/tests/aslts/adm/BugState/README @@ -0,0 +1,12 @@ +FILES: + +These files are for using in bdemostabs utility as arg3,arg4,arg5. +See comment to bdemostabs utility in aslts/bin/HOW_TO_USE. + + ALLBUGS - arg3 - manually prepared description of all bugs, + the features of current state of bugs which + could not be obtained automatically. + NOTE: it should be kept up to date regularly + + BugList_AML_KB_SUM0 - arg4 - kernel bugzilla Bug List file + BugList_AML_LB_SUM0 - arg5 - local bugzilla Bug List file diff --git a/tests/aslts/bin/Do b/tests/aslts/bin/Do new file mode 100755 index 0000000..87d9df6 --- /dev/null +++ b/tests/aslts/bin/Do @@ -0,0 +1,654 @@ +#!/bin/bash +# +# @echo off +# +# The test suite command dispatcher +# +# Available commands: +# +# 0 - Make and install AML tests +# 1 - Run specified set of tests in all enabled modes +# 2 - Compare two multi-results of two runs of tests +# 3 - Print out the names of all the available test cases +# 4 - Calculate the current state of all bugs and report the summary +# tables +# 5 - Prepare bdemo summary files of one multi-results directory for all +# modes +# 6 - Concatenate bdemo summary files of two multi-results +# +# Notations: +# +# ASL - iASL compiler +# acpiexec - AcpiExec utility +# ASLTSDIR - pathname of root directory of aslts test suite +# +# External definitions required for particular command: +# +# 0 - ASLTSDIR, ASL +# 1 - ASLTSDIR, acpiexec +# 2 - ASLTSDIR +# 3 - none +# 4 - ASLTSDIR +# 5 - ASLTSDIR +# 6 - ASLTSDIR +# +# Other: +# Make sure that "." (current directory) is in your default search path. +# If necessary, convert all scripts in the aslts/bin directory to unix +# line endings: +# d2u aslts/bin/* +# +# Concepts: +# +# run - execution of the specified set of tests +# for one particular enabled mode +# +# multi-run - execution of the specified set of tests +# for all the enabled modes +# +# multi-result (directory) - directory in RESULTS one containing +# all results of one multi-run +# +# root directory of results - aslts/tmp/RESULTS +# root directory of aslts - aslts +# +# REMEMBER (To-Be-Done items) +# +# 1. Dont forget to add testing of aml/nopt mode. +# 2. Do make-install till the first error automatically +# 3. Not implemented yet though announced in Usage: +# - "Do 1 [n32 [n64 [s32 [s64]]]] [ [ [...]]]" +# - "Make-install all the test cases of the specified test collections" +# - ... +# 4. Add checking of presence of "Large reference count" message in logs +# + +STR_BDEMOSSUM="prepare bdemo summary files of one multi-results directory for all modes" +STR_CONCBDEMOS="concatenate bdemo summary files of two multi-results" +STR_BDEMOSTABS="calculate the current state of all bugs and report the summary tables" + +usage() +{ + echo "Usage:" + echo " print out usage:" + echo " Do" + echo " make and install AML tests:" + echo " Do $ASLCOMPILE [ASLTS|aslts]" + echo " Do $ASLCOMPILE [ [...]]" + echo " Do $ASLCOMPILE [ALL|all] [functional[complex[exceptions[bdemo[service[mt[Identity2MS]]]]]]]" + echo " run specified set of tests in all enabled modes:" + echo " Do $RUNTESTS" + echo " Do $RUNTESTS [n32 [n64 [s32 [s64]]]] [ [ [...]]]" + echo " compare two multi-results of two runs of tests:" + echo " Do $DIFFRESULTS" + echo " Do $DIFFRESULTS " + echo " Do $DIFFRESULTS " + echo " print out names of all the available test cases:" + echo " Do $PRINTTESTCASES" + echo " $STR_BDEMOSTABS:" + echo " Do $BDEMOSTABS " + echo " " + echo " $STR_BDEMOSSUM:" + echo " Do $BDEMOSSUM " + echo " $STR_CONCBDEMOS:" + echo " Do $CONCBDEMOS " +} + +# Report message +msg() +{ + prog_name=`basename "$0"` + echo "$prog_name: $1" +} + +# Report error message +msgE() +{ + prog_name=`basename "$0"` + echo "$prog_name[ERROR]: $1" +} + +# Exit the program +# agr1 - 0 success, non-zero - fail +do_exit() +{ + if [ $1 -eq 0 ]; then + if [ "$2" != "" ]; then + msg "$2" + fi + exit 0 + else + msgE "$2" + exit 1 + fi +} + +# Abort program when arg1 is not a directory +# arg1 - path name of directory +check_dir() +{ + if [ ! -d "$1" ]; then + do_exit 1 "Not a directory: $1" + fi +} + +# Return the string-description of compare command +# arg1 - opcode of compare command +cmp_cmd_string() +{ + local msg + + case $1 in + 1) msg="Compare the last multi-result against the previous one:";; + 2) msg="Compare the last multi-result against the specified one:";; + 3) msg="Compare the first(new) specified multi-result against the second(old):";; + *) msg="?" + esac + + echo "$msg" +} + +# Compare the last multi-result against the previous one +# arg1 - root directory of results +do_cmp1() +{ + local x previous last DIR0 DIR1 + + x=`get_two_last_dirs "$1"` + last=`echo "$x" | awk -F: '{ print $2}'` + previous=`echo "$x" | awk -F: '{ print $3}'` + + if [ -n "$previous" -a -n "$last" ]; then + + DIR0="$1/$previous" + DIR1="$1/$last" + + echo " root directory of results : $1" + echo " the last multi-result : $last" + echo " against previous one : $previous" + echo "" + + asltsdiffres "$DIR0" "$DIR1" + + elif [ -n "$last" ]; then + echo "There is the only component of root directory of results: $last" + echo "root directory of results: $1" + else + echo "No one component in the root directory of results: $1" + fi +} + +# Compare the last multi-result against the specified one +# arg1 - root directory of results +# arg2 - second multi-result directory +do_cmp2() +{ + local x last DIR0 DIR1 + + x=`get_two_last_dirs "$1"` + last=`echo "$x" | awk -F: '{ print $2}'` + + if [ -n "$last" ]; then + + DIR0="$2" + DIR1="$1/$last" + + echo " root directory of results : $1" + echo " the last multi-result : $DIR1" + echo " against the specified one : $DIR0" + echo "" + + asltsdiffres "$DIR0" "$DIR1" + + else + echo "No one component in the root directory of results: $1" + fi +} + +# Compare the first specified multi-result against the second one +# arg1 - first multi-result directory +# arg2 - second multi-result directory +do_cmp3() +{ + local DIR0 DIR1 + + DIR0="$2" + DIR1="$1" + + echo " First (new) specified multi-result : $DIR1" + echo " Second (old) specified multi-result : $DIR0" + + asltsdiffres "$DIR0" "$DIR1" +} + +# Compare two multi-results +# arg1 - the number of parameters passed to Do utility +# arg2 - first multi-result directory +# arg3 - second multi-result directory +# arg4 - root directory of results +do_cmp() +{ + cmp_cmd_string $1 + + if [ $1 == 1 ]; then + do_cmp1 "$4" + elif [ $1 == 2 ]; then + do_cmp2 "$4" "$3" + elif [ $1 == 3 ]; then + do_cmp3 "$2" "$3" + else + do_exit 1 "Invalid usage" + fi +} + + +# Summary files of bdemos + +do_bdemo_sums() +{ + dir="$2" + + echo "$STR_BDEMOSSUM:" + echo " the multi-result : $dir" + + bdemossum "$dir" +} + +# Concatenate summary files of bdemos + +concatenate_bdemo_sums() +{ + local DIR0 DIR1 + + DIR0="$2" + DIR1="$3" + + echo "$STR_CONCBDEMOS:" + + echo " the first multi-result : $DIR0" + echo " the second multi-result : $DIR1" + + bdemosconc "$DIR0" "$DIR1" +} + +# Summary table of bdemos + +do_bdemo_table() +{ + local DIR0 DIR1 + + DIR0="$2" + DIR1="$3" + ALLBUGS="$4" + KBSUM="$5" + LBSUM="$6" + + echo "$STR_BDEMOSTABS:" + + echo " the first multi-result : $DIR0" + echo " the second multi-result : $DIR1" + echo " ALLBUGS Description File : $ALLBUGS" + echo " kernel bugzilla Bug List file : $KBSUM" + echo " local bugzilla Bug List file : $LBSUM" + echo " BUG_STATE_DIR : $BUG_STATE_DIR" + + bdemostabs "$DIR0" "$DIR1" "$ALLBUGS" "$KBSUM" "$LBSUM" "$BUG_STATE_DIR" +} + + +# Make-install all the provided test cases +# (make install from aslts directory) +# arg1 - root directory of aslts +make_install_1() +{ + local dir restore_dir + + restore_dir=$PWD + dir="$1" + + cd "$dir" + + echo "Running make install from $dir" + make install + cd "$restore_dir" +} + +# Check parameters to be the names of test +# cases and run make install for each of them +# if specified. +# arg1 - root directory of aslts +# arg2 - all the lexem here must be the names of test cases +# arg3 - either to actually run make install +do_test_cases_make_install() +{ + local errors=0 dir restore_dir + + restore_dir=$PWD + + for filename in $2 + do + get_collection_opcode "$filename" + ret=$? + if [ $ret -eq $COLLS_NUM ]; then + do_exit 1 "Not the name of any test case: $filename" + fi + + dir="`get_test_case_dir "$1" $ret $filename`" + check_dir "$dir" + + if [ $3 != 0 ]; then + cd "$dir" + make install + if [ $? -ne 0 ]; then + errors=1 + fi + fi + done + + cd "$restore_dir" + + return $errors +} + +# Make-install a list of specified test cases +# arg1 - root directory of aslts +# arg2 - all the lexem here must be the names of test cases +make_install_2() +{ + # Check only all parameters are correct + # (abort when something is wrong) + + do_test_cases_make_install "$1" "$2" 0 + + # Run actual work + + do_test_cases_make_install "$1" "$2" 1 +} + +# Check parameters to be the names of test +# collections and run make install for each +# of them, if specified. +# arg1 - root directory of aslts +# arg2 - all the lexem here must be the names of test collections +# arg3 - either to actually run make install +do_collections_make_install() +{ + local errors=0 dir restore_dir + + restore_dir=$PWD + + for filename in $2 + do + is_collection_name "$filename" + if [ $? -ne 0 ]; then + do_exit 1 "Not the name of any test collection: $filename" + fi + + dir="`get_collections_root_dir "$1"`/$filename" + check_dir "$dir" + + if [ $3 != 0 ]; then + cd "$dir" + make install + if [ $? -ne 0 ]; then + errors=1 + fi + fi + done + + cd "$restore_dir" + + return $errors +} + +# Make-install all the test cases of the specified test collections +# arg1 - root directory of aslts +# arg2 - all the lexem here must be the names of test collections +make_install_3() +{ + # Check only all parameters are correct + # (abort when something is wrong) + + do_collections_make_install "$1" "$2" 0 + + # Run actual work + + do_collections_make_install "$1" "$2" 1 +} + +# Make-install the test case(s). +# +# Parameters: +# +# 1. Make-install all the provided test cases: +# +# aslts +# +# 2. Make-install a list of specified test cases: +# +# test_case_name [test_case_name...] +# +# 3. Make-install all the test cases of the specified test collections: +# +# [ALL|all] [functional[complex[exceptions[bdemo[service[mt[Identity2MS]]]]]]] +# +# arg1 - root directory of aslts +# arg2 - number of parameters passed to Do utility +# arg3 - all parameters passed to Do utility +run_asl_compiler() +{ + local lexem list nparam=$2 action=100 + + lexem=`echo "$3" | awk '{ print $2}'` + + if [ $nparam -le 1 ]; then + usage + do_exit 1 "Bad parameters 0" + elif [ $lexem == ASLTS -o $lexem == aslts ]; then + if [ $nparam != 2 ]; then + usage + do_exit 1 "Bad parameters 1" + else + action=1 + fi + elif [ $lexem == ALL -o $lexem == all ]; then + if [ $nparam -le 2 ]; then + usage + do_exit 1 "Bad parameters 2" + else + list=`echo "$3" | cut -c 7-` + action=3 + fi + else + action=2 + list=`echo "$3" | cut -c 3-` + fi + + if [ $action == 1 ]; then + echo "Make-install all the provided test cases" + make_install_1 "$1" + elif [ $action == 2 ]; then + echo "Make-install a list of specified test cases: $list" + make_install_2 "$1" "$list" + elif [ $action == 3 ]; then + echo "Make-install all the test cases of the specified test collections: $list" + make_install_3 "$1" "$list" + else + do_exit 1 "Bad parameters 2" + fi +} + +get_aslts_bin_line() +{ + echo "$1" | awk -F: '{ for (i=1; i<=NF; i++) { print $i}}' |\ + while [ 1 ] + do + read line + if [ $? -ne 0 ]; then + break + fi + if [[ "$line" == *aslts/bin ]]; then + echo "$line" + fi + done +} + +# ############################## MAIN ############################### + +# Init variables of utility + +# Available commands + +CMD=$1 +NPARAM=$# +ASLCOMPILE=0 +RUNTESTS=1 +DIFFRESULTS=2 +PRINTTESTCASES=3 +BDEMOSTABS=4 +BDEMOSSUM=5 +CONCBDEMOS=6 + +# Set defaults + +RESULTDIR= + +# ################################################################## # +# ATTENTION: dont use yet here any common stuff till the next remark # +# ################################################################## # + +# Only report USAGE + +if [ $NPARAM == 0 ]; then + usage + do_exit 0 "" +fi + +# Determine the working directory and take precautions (last name should be aslts) + +if [ ! -d "$ASLTSDIR" ]; then + do_exit 1 "Undefined ASLTSDIR variable! Set it to pathname of root directory of aslts test suite." +fi + +x=`basename "$ASLTSDIR"` +if [ "$x" != aslts ]; then + do_exit 1 "The last name in ASLTSDIR should be 'aslts', but it is $x!" +fi + +check_dir "$ASLTSDIR" + +# Set up the additional environment + +x=`echo $PATH | grep "aslts/bin"` +if [ "$x" == "" ]; then + PATH=$PATH:$ASLTSDIR/bin +fi + +x=`echo $PATH | grep "aslts/bin"` +if [ "$x" == "" ]; then + do_exit 1 "Failed to set up aslts/bin to PATH!" +fi + +# The simple below doesn't work on Cygwin: +# BUG_STATE_DIR=$ASLTSDIR/bin/bugstate +# Basing on grep will not work in abnormal case +# when there are several "aslts/bin" in PATH, so +# detailed calculation of line with "aslts/bin": +x=`get_aslts_bin_line "$PATH"` +if [ x"$x" == x ]; then + do_exit 1 "No aslts/bin in PATH!" +fi + +BUG_STATE_DIR="$x/bugstate" +PATH=$PATH:$BUG_STATE_DIR + + +# Add the common use stuff + +. common +. settings + +# ###################################################### # +# ATTENTION: can use the common stuff starting from here # +# ###################################################### # + +# Init available tests + +RESET_SETTINGS +INIT_ALL_AVAILABLE_TESTS + +# Only report available test cases + +if [ $CMD == $PRINTTESTCASES ]; then + echo_available_test_cases + do_exit 0 "" +fi + +# Command execution + +if [ $CMD == $ASLCOMPILE ]; then + + # Check access to iASL compiler + + if [ ! -f "$ASL" ]; then + do_exit 1 "Undefined ASL variable! Set it to pathname of ASL compiler." + fi + + x="$@" + run_asl_compiler "$ASLTSDIR" $NPARAM "$x" + +elif [ $CMD == $RUNTESTS ]; then + + if [ $NPARAM != 1 ]; then + bad_param_number $CMD $NPARAM 1 + fi + + # Check access to AcpiExec utility + + if [ ! -f "$acpiexec" ]; then + do_exit 1 "Undefined acpiexec variable! Set it to pathname of AcpiExec utility." + fi + + asltsrun + +elif [ $CMD == $DIFFRESULTS ]; then + + RESULTDIR="$ASLTSDIR/tmp/RESULTS" + check_dir "$RESULTDIR" + if [ $NPARAM == 1 ]; then + do_cmp $NPARAM 0 0 "$RESULTDIR" + elif [ $NPARAM == 2 ]; then + do_cmp $NPARAM 0 "$2" "$RESULTDIR" + elif [ $NPARAM == 3 ]; then + do_cmp $NPARAM "$2" "$3" "$RESULTDIR" + else + bad_param_number $CMD $NPARAM "not more than 3" + fi + +elif [ $CMD == $BDEMOSSUM ]; then + + if [ $NPARAM == 2 ]; then + do_bdemo_sums "$NPARAM" "$2" + else + bad_param_number $CMD $NPARAM "2" + fi + +elif [ $CMD == $CONCBDEMOS ]; then + + if [ $NPARAM == 3 ]; then + concatenate_bdemo_sums $NPARAM "$2" "$3" + else + bad_param_number $CMD $NPARAM "3" + fi + +elif [ $CMD == $BDEMOSTABS ]; then + + if [ $NPARAM == 6 ]; then + do_bdemo_table $NPARAM "$2" "$3" "$4" "$5" "$6" + else + bad_param_number $CMD $NPARAM "6" + fi + +else + do_exit 1 "Bad parameters 3" +fi diff --git a/tests/aslts/bin/README b/tests/aslts/bin/README new file mode 100644 index 0000000..a62b3e9 --- /dev/null +++ b/tests/aslts/bin/README @@ -0,0 +1,134 @@ + +Utilities to manage the test suite +---------------------------------- + + +Do utility + +This is the test suite command dispatcher. It allows the user to +compile/install the AML tests, run them, and compare results of runs. +The output log of tests and results of processing the test logs are +saved in the aslts/tmp/RESULTS automatically generated directory. + +Run Do without parameters to print out its Usage. + +The simplest sequence of actions to deal with the test suite +is shown in the example below. + + + 1. Create the following environment variables: + + ASL - pathname of iASL compiler + acpiexec - pathname of AcpiExec utility + ASLTSDIR - pathname of root directory of aslts test suite + + 2. Add the following directory to the PATH variable: + + aslts/bin + + If necessary, convert all scripts in the aslts/bin directory to unix + line endings: + + > d2u aslts/bin/* + + 3. To configure the required/desired set of test cases and the modes of + the execution runs, manually edit the settings file: + + aslts/bin/settings + + 4. Usage message: + + > cd aslts/bin + > Do + + The utility prints out the usage message. + + 5. Compile and install all AML test cases: + + > Do 0 aslts + + This command will compile and install all of the AML test cases + under the tmp directory: + + aslts/tmp/aml + + 6. Run all configured test cases in all modes: + + > Do 1 + + This command will run all the specified test cases in the specified + modes. The possible modes are: + + 32-bit normal mode (AML interpreter slack mode disabled) + 64-bit normal mode + 32-bit slack mode (AML interpreter slack mode enabled) + 64-bit slack mode + + 7. Examine the results: + + a) See the summary file for test execution information: + + aslts/tmp/RESULTS//Summary + + b) Compare the obtained multi-result with the previous benchmark + multi-result for to catch regressions (the 'Do 2' command below). + + 8. Compare the results to previous test executions: + + > Do 2 + + This command will compare the current test execution with the + previous one. Also used for comparing any two particular + multi-results. + + > Do 2 + + The contains the results from one of + test suite executions. The contains + the results of a previous test suite execution. + + The 'Do 2' command will compare the results of both test suite + executions and report any differences/regressions. + + The result directories are contained in aslts/tmp/RESULTS, and + have names of the form: + + Example: + + > cd aslts + > Do 2 tmp/RESULTS/20090325.151601.20090320 tmp/RESULTS/20090325.150744.20090320 + + +Do 2 output: +============ + +1. Summary information related to a particular test case: + + echo "|$2|$cnt|$pass|$fail|$skip|$start|$finish|$total|$outstand0|$blck|$memtotal|$max0|$max1|$max2|$max3|$max4|$max5|$out0|$out1|$out2|$out3|$out4|$out5|$outstand1|$LargeRefCount|$memtotalbytes|$exceptionsnum|" >> "$3" + +outstand0 - Outstanding allocations of the particular test case + Example from arithmetic test case log: + + Outstanding: 0x11 allocations after execution + +outstand1 - Outstanding allocations of the particular test case + Example from reference test case log: + + ACPI Error (uttrack-0719): 39(27) Outstanding allocations [20090320] + +memtotal - Total memory in bytes consumed during execution of the + particular test case +start - Time when test case started +finish - Time when test case finished +total - Duration of test case execution + + +2. Summary information related to all test cases that have been run for a + particular test mode (32-bit normal, etc..): + + echo "|TOTAL|$outstand0|$memtotal|${MODES_TIMES[$2]}|$outstand1|$LargeRefCount|$memtotalbytes|" >> "$path" + +totaloutstand00 - Summary of outstand0 of all test cases +totalmem0 - Summary of memtotal of all test cases +totaltime0 - All the test cases execution duration +totaloutstand01 - Summary of outstand1 of all test cases diff --git a/tests/aslts/bin/asltsdiffres b/tests/aslts/bin/asltsdiffres new file mode 100755 index 0000000..e171bef --- /dev/null +++ b/tests/aslts/bin/asltsdiffres @@ -0,0 +1,88 @@ +#!/bin/bash +# +# @echo off +# +# Compare two multi-results +# +# The first specified multi-result is being compared against the second one, +# that is, if something in the first multi-result is worse than in the second +# one, it could be treated as some kind regression of the product being tested. +# +# (for additional comments see Do and asltsrun utilities). + +# Includes + +. common +. settings +. diffproc + +# Report summary of comparing. +# arg1 - first multi-result directory +# arg2 - against the second multi-result directory +# Opcodes of comparing results: +# arg3 - 32-bit norm mode +# arg4 - 64-bit norm mode +# arg5 - 32-bit slack mode +# arg6 - 64-bit slack mode +report_multi_runs_cmp() +{ + local msg + + echo "" + echo "Summary of comparing:" + echo " - multi-result directory (new) : $1" + echo " - against multi-result directory (old) : $2" + echo "Summary of comparing:" + echo " `get_mode_string $NORM32 1`: `cmp_result_opcode_to_str $3`" + echo " `get_mode_string $NORM64 1`: `cmp_result_opcode_to_str $4`" + echo " `get_mode_string $SLACK32 1`: `cmp_result_opcode_to_str $5`" + echo " `get_mode_string $SLACK64 1`: `cmp_result_opcode_to_str $6`" +} + +# ############################## MAIN ############################### + +date + +DIR0="$1" +DIR1="$2" +UTILSTATUS=0 +INIT_MEM_STAT + +# Check the multi-result directories + +check_dir "$DIR0" +check_dir "$DIR1" + +# Do compare per each possible run mode + +# 32-bit norm mode +do_compare_two_runs "$DIR0" $NORM32 "$DIR1" $NORM32 +CMP0=$? + +# 64-bit norm mode +do_compare_two_runs "$DIR0" $NORM64 "$DIR1" $NORM64 +CMP1=$? + +# 32-bit slack mode +do_compare_two_runs "$DIR0" $SLACK32 "$DIR1" $SLACK32 +CMP2=$? + +# 64-bit slack mode +do_compare_two_runs "$DIR0" $SLACK64 "$DIR1" $SLACK64 +CMP3=$? + +# Report the summary of comparing +report_multi_runs_cmp "$DIR1" "$DIR0" "$CMP0" "$CMP1" "$CMP2" "$CMP3" + +if [ $UTILSTATUS == 0 ]; then + msg "Ok" +else + msg "MISCOMPARED!" +fi + +date + +exit $UTILSTATUS + + + diff --git a/tests/aslts/bin/asltsrun b/tests/aslts/bin/asltsrun new file mode 100755 index 0000000..5e397ce --- /dev/null +++ b/tests/aslts/bin/asltsrun @@ -0,0 +1,985 @@ +#!/bin/bash +# +# @echo off +# +# Run specified set of test cases in all enabled modes +# +# DESCRIPTION: +# +# 1. A set of test cases to be run is manually +# specified in INIT_SET_OF_TEST_CASES() routine +# +# 2. Modes of runs to be executed are manually +# specified by non-zero variables: +# ENABLESLACK32 - 32-bit slack +# ENABLESLACK64 - 64-bit slack +# ENABLENORM32 - 32-bit non-slack (normal) +# ENABLENORM64 - 64-bit non-slack (normal) +# +# 3. You can exclude log out to RESULTS directory +# by setting to zero the variable: +# ENABLELOG +# +# External definitions required: +# +# acpiexec - AcpiExec utility +# ASLTSDIR - the pathname of root directory of aslts test suite +# +# Concepts: +# +# bitmap of mode - +# 0-th bit - [0 - 32-bit, 1 - 64-bit] +# 1-th bit - [0 - non-slack, 1 - slack] +# +# See comment of Do utility for more information. + +# Includes + +. common +. settings +. diffproc + + +# Store message to the common multi-result log file +# arg1 - message +multi_log() +{ + if [ -f "$COMMONLOGFILE" ]; then + echo "$1" >> "$COMMONLOGFILE" + else + echo "$1" + fi +} + +# Convert {h:m:s:cs} string to centisecond time units +# [arg1-arg4] - centisecond time string {h:m:s:cs} +cent_str_to_cent_units() +{ + local rval + + # Note: '1' before arguments (hours - exception took place) + # added to mask first '0' in cases '08' and '09' + + eval "rval=$[ (((1$1 - 100) * 60 + (1$2 - 100)) * 60 + (1$3 - 100)) * 100 + (1$4 - 100) ]" + echo "$rval" +} + +# Convert {h:m:s} string to centisecond time units +# arg1 - time string {h:m:s} +sec_str_to_cent_units() +{ + local rval hmscS=$1:00 _ifs="$IFS" + + IFS=: + rval=`cent_str_to_cent_units $hmscS` + IFS="$_ifs" + + echo "$rval" +} + +# Return the length ot time period in centisecond time units +# Note: assumed the total running time is less than 24 hours +# arg1 - start time in centisecond time units +# arg2 - finish time in centisecond time units +get_cent_units_diff() +{ + local rval + local hmscU=$2 + + # Check crossing 24-hour boundary + + if [ $hmscU -lt $1 ]; then + hmscU=$[ $hmscU + 8640000 ] + fi + + eval "rval=$[ $hmscU - $1 ]" + + echo "$rval" +} + +# Calculate and return the length ot time period as string {[h:]m:s.c} +# arg1 - start time string {h:m:s} +# arg2 - finish time string {h:m:s} +get_cent_str_diff() +{ + local rval + + RAW_INITIME=`sec_str_to_cent_units $1` + RAW_ENDTIME=`sec_str_to_cent_units $2` + RAW_RUNTIME=`get_cent_units_diff $RAW_INITIME $RAW_ENDTIME` + rval=`cent_units_to_cent_str $RAW_RUNTIME` + + echo "$rval" +} + +# Get version of AcpiExec +get_acpiexec_version() +{ + local x version + + x=`"$acpiexec" -bex,MAIN | grep "Utility version"` + if [ x"$x" == x ]; then + version=00000000 + else + version=`echo "$x" | awk -F" " '{print $5}'` + fi + + echo $version +} + +# Get the patname of AML code of test case +# arg1 - the name of test case +# arg2 - bitmap of mode +get_aml_code_path() +{ + local BITMODE=`get_mode_string $2 2` + + path="$ASLTSDIR/tmp/aml/$EXECVERSION/opt/$BITMODE/$1.aml" + echo "$path" +} + +# Run particular test case +# arg1 - the name of test case +# arg2 - bitmap of mode +run_test_case() +{ + local amlcodepath tcase=$1 modepart modename SLMODE BITMODE + local options method commandline + + + modepart=`get_mode_string $2 0` + modename=`get_mode_string $2 1` + BITMODE=`get_mode_string $2 2` + SLMODE=`get_mode_string $2 3` + + TEST_TITLE="$tcase $modename" + + # Start time + + FMT_INITIME=$(date +%T) + + # Initial message + + echo "ASLTS: START, $TEST_TITLE, $FMT_INITIME" + + # Simulate test by acpiexec + + amlcodepath=`get_aml_code_path $tcase $2` + + if [ ! -f "$amlcodepath" ]; then + echo "Test doesn't exist: $amlcodepath" + AML_DONT_EXIST=$[ $AML_DONT_EXIST + 1 ] + TEST_RET=1 + else + options="" + if [ $SLMODE == "norm" ]; then + method=MN00 + options="" + else + method=MN01 + options="-es" + fi + + if [ "$DO_MEMSTAT" == "yes" ]; then + options="$options -ef" + fi + + if [[ "$tcase" == mt_* ]]; then + commandline="thr,6,1" + else + commandline=ex + fi + + "$acpiexec" $options -b"$commandline,$method" "$amlcodepath" + TEST_RET=$? + fi + + # Finish time + + FMT_ENDTIME=$(date +%T) + + # Calculate the run time + + FMT_RUNTIME=`get_cent_str_diff $FMT_INITIME $FMT_ENDTIME` + + # Report the status message + + if [ $TEST_RET != 0 ]; then + echo "ASLTS: FINISH, $TEST_TITLE, FAIL, $FMT_ENDTIME ($FMT_RUNTIME)" + UTILSTATUS=1 + else + echo "ASLTS: FINISH, $TEST_TITLE, SUCCESS, $FMT_ENDTIME ($FMT_RUNTIME)" + fi + + return $TEST_RET +} + +# Run a set of test cases (specified by INIT_SET_OF_TEST_CASES) +# in one particular mode. +# arg1 - bitmap of mode +# arg2 - multi-result directory +# arg3 - a list of test cases to be run +run_set_of_test_cases() +{ + local x y z q status=0 total modepart modename tcase amlcodepath + + modepart=`get_mode_string $1 0` + modename=`get_mode_string $1 1` + + x=$(date +%F) + y=$(date +%T) + + multi_log "$modename started $x $y" + + total="$x $y" + + for tcase in $3; do + amlcodepath=`get_aml_code_path $tcase $1` + if [ ! -f "$amlcodepath" ]; then + echo "Test doesn't exist: $amlcodepath" + AML_DONT_EXIST=$[ $AML_DONT_EXIST + 1 ] + else + if [ $ENABLELOG != 0 ]; then + run_test_case $tcase $1 > "$2/$modepart/$tcase" + else + run_test_case $tcase $1 + fi + # See comment below. + # if [ $? -ne 0 ]; then + # status=1 + # fi + fi + done + + z=$(date +%T) + q=`get_cent_str_diff $y $z` + + # AcpiExec doesn't provide status of test execution, + # so dont report STATUS of AcpiExec execution here + # not to mislead as if it means STATUS of the tests + # execution. + # if [ $status == 0 ]; then + # status=PASS + # else + # status=FAIL + # fi + x="$(date +%F)" + multi_log "$modename finished $x $z, ($q)" + + total="$modename, $total, $x $z ($q)" + + MODES_SUMMARIES[$1]="$total" + + MODES_TIMES[$1]="$q" +} + +# Get the date-time-like name (used +# as a multi-result directory name) +# arg1 - time string {h:m:s} +# arg2 - date string {y-m-d} +get_date_time_like_name() +{ + local x y rval + + x=`echo $1 | sed 's/-//g'` + y=`echo $2 | sed 's/://g'` + rval="$x.$y.$EXECVERSION" + + echo "$rval" +} + +# Check-make multi-result directory +# arg1 - multi-result directory name +make_multi_result_dir() +{ + local srcdir=`pwd` path + + cd "$ASLTSDIR" + + make_dir "./tmp" tmp tmp + + cd "./tmp" + + make_dir "./RESULTS" RESULTS RESULTS + + cd "./RESULTS" + + make_dir "./$1" "$1" "RESULTS/$1" + + cd "./$1" + + if [ $ENABLENORM32 != 0 -o $ENABLENORM64 != 0 ]; then + path="RESULTS/$1/norm" + make_dir "./norm" norm "$path" + cd "./norm" + if [ $ENABLENORM32 != 0 ]; then + make_dir "./32" 32 "$path/32" + fi + if [ $ENABLENORM64 != 0 ]; then + make_dir "./64" 64 "$path/64" + fi + + cd ".." + fi + + if [ $ENABLESLACK32 != 0 -o $ENABLESLACK64 != 0 ]; then + path="RESULTS/$1/slack" + make_dir "./slack" slack "$path" + cd "./slack" + if [ $ENABLESLACK32 != 0 ]; then + make_dir "./32" 32 "$path/32" + fi + if [ $ENABLESLACK64 != 0 ]; then + make_dir "./64" 64 "$path/64" + fi + fi + + cd "$srcdir" +} + +# Report to multi-log all the specified modes +# the tests to be run in. +report_specified_modes() +{ + local flag=0 x=" " + + multi_log "Modes specified for running:" + multi_log "" + + if [ $ENABLENORM32 != 0 ]; then + multi_log "${x}`get_mode_string $NORM32 1`" + flag=1 + fi + if [ $ENABLENORM64 != 0 ]; then + multi_log "${x}`get_mode_string $NORM64 1`" + flag=1 + fi + if [ $ENABLESLACK32 != 0 ]; then + multi_log "${x}`get_mode_string $SLACK32 1`" + flag=1 + fi + if [ $ENABLESLACK64 != 0 ]; then + multi_log "${x}`get_mode_string $SLACK64 1`" + flag=1 + fi + + if [ $flag == 0 ]; then + multi_log "${x}No any run mode" + fi +} + +# Report all status lines encountered in the test case +# run log file and count and report the summary status +# line of the test case. +# arg1 - resulting log file of particular test case run +# arg2 - the name of test case +# arg3 - file where to store summary information +do_summary_of_test_case() +{ + local status cnt=0 pass=0 fail=0 skip=0 start=0 finish=0 total=0 + local outstand0=0 blck=0 outstand1=0 + local memcnt=0 memtotal=0 + local max0=0 max1=0 max2=0 max3=0 max4=0 max5=0 + local out0=0 out1=0 out2=0 out3=0 out4=0 out5=0 + local LargeRefCount=0 + local x=0 exceptionsnum=0 + + OLD_IFS=$IFS + IFS=" " + + cat "$1" |\ + while [ 1 ] + do + read s0 s1 s2 s3 line + if [ $? -ne 0 ] ; then + echo "|$2|$cnt|$pass|$fail|$skip|$start|$finish|$total|$outstand0|$blck|$memtotal|$max0|$max1|$max2|$max3|$max4|$max5|$out0|$out1|$out2|$out3|$out4|$out5|$outstand1|$LargeRefCount|$exceptionsnum|" >> "$3" + break + fi + if [[ "$line" == *STST* ]]; then + echo "$line" + cnt=$[ $cnt + 1 ] + status=`echo "$line" | awk -F: '{print $6}'` + if [ "$status" == PASS ]; then + pass=$[ $pass + 1 ] + elif [ "$status" == FAIL ]; then + fail=$[ $fail + 1 ] + elif [ "$status" == BLOCKED ]; then + blck=$[ $blck + 1 ] + elif [ "$status" == SKIPPED ]; then + skip=$[ $skip + 1 ] + fi + elif [[ "$s0" == ASLTS: ]]; then + if [ "$s1" == "START," ]; then + start=`echo "$line" | awk -F" " '{print $3}'` + elif [ "$s1" == "FINISH," ]; then + finish=`echo "$line" | awk -F" " '{print $4}'` + total=`echo "$line" | awk -F" " '{print $5}'` + fi + elif [[ "$s0" == Outstanding: ]]; then + outstand0=$s1 + elif [[ "$s0" == Mem: ]]; then + if [ $memcnt == 0 ]; then + memtotal=`echo "$line" | awk -F" " '{print $9}'` + memtotal=$[ 0 + 0x$memtotal ] + max0=`echo "$line" | awk -F" " '{print $6}'` + out0=`echo "$line" | awk -F" " '{print $8}'` + max0=$[ 0 + 0x$max0 ] + out0=$[ 0 + 0x$out0 ] + elif [ $memcnt == 1 ]; then + max1=`echo "$line" | awk -F" " '{print $5}'` + out1=`echo "$line" | awk -F" " '{print $7}'` + max1=$[ 0 + 0x$max1 ] + out1=$[ 0 + 0x$out1 ] + elif [ $memcnt == 2 ]; then + max2=`echo "$line" | awk -F" " '{print $5}'` + out2=`echo "$line" | awk -F" " '{print $7}'` + max2=$[ 0 + 0x$max2 ] + out2=$[ 0 + 0x$out2 ] + elif [ $memcnt == 3 ]; then + max3=`echo "$line" | awk -F" " '{print $5}'` + out3=`echo "$line" | awk -F" " '{print $7}'` + max3=$[ 0 + 0x$max3 ] + out3=$[ 0 + 0x$out3 ] + elif [ $memcnt == 4 ]; then + max4=`echo "$line" | awk -F" " '{print $5}'` + out4=`echo "$line" | awk -F" " '{print $7}'` + max4=$[ 0 + 0x$max4 ] + out4=$[ 0 + 0x$out4 ] + elif [ $memcnt == 5 ]; then + max5=`echo "$line" | awk -F" " '{print $5}'` + out5=`echo "$line" | awk -F" " '{print $7}'` + max5=$[ 0 + 0x$max5 ] + out5=$[ 0 + 0x$out5 ] + fi + memcnt=$[ $memcnt + 1 ] + elif [[ "$line" == "Outstanding allocations"* ]]; then + outstand1=`echo "$s3" | awk -F"(" '{print $1}'` + elif [[ "$line" == *"The total number of exceptions handled"* ]]; then + exceptionsnum=`echo "$line" | awk -F" " '{print $7}'` + x=`echo $exceptionsnum | sed 's/"//g'` + exceptionsnum=$[ 0 + $x ] + elif [[ "$s3" == Large ]]; then + if [[ "$line" == "Reference Count"* ]]; then + LargeRefCount=$[ $LargeRefCount + 1 ] + fi + fi + done + + IFS=$OLD_IFS +} + +# Report the status lines and summary information +# for one particular mode of run for each test case +# specified for running which have the test case run +# log file located in the given directory. +# arg1 - directory containing the test case run log files +# corresponding to one particular mode of run +# arg2 - a list of test cases the logs of which to be processed +# arg3 - file where to store summary information +do_summary_of_mode() +{ + local path + + for filename in $2 + do + path="$1/$filename" + if [ -f "$path" ]; then + do_summary_of_test_case "$path" "$filename" "$3" + fi + done +} + +# Prepare all summary information per each test case +# specified by INIT_SET_OF_TEST_CASES for all the specified +# modes of runs. +# arg1 - multi-result directory pathname +# arg2 - a list of test cases the logs of which to be processed +do_all_summary() +{ + local path summ + + ls "$1" |\ + while [ 1 ] + do + read filename + if [ $? -ne 0 ] ; then + break + fi + + if [ "$filename" == norm -o "$filename" == slack ]; then + path="$1/$filename" + if [ -d "$path/32" ]; then + summ="$path/32/__STATUS_OF_TEST_CASES" + echo -n "" > "$summ" + do_summary_of_mode "$path/32" "$2" "$summ" > "$path/32/__STATUS_OF_TESTS" + fi + if [ -d "$path/64" ]; then + summ="$path/64/__STATUS_OF_TEST_CASES" + echo -n "" > "$summ" + do_summary_of_mode "$path/64" "$2" "$summ" > "$path/64/__STATUS_OF_TESTS" + fi + fi + done +} + +# Report summary information corresponding +# to the given mode of run. +# arg1 - ':' separated total information +# corresponding to the given mode of run +# returned by parse_status_of_test_cases() +# arg2 - summary information corresponding +# to the given mode of run +report_total_of_mode() +{ + local x y num memtotal + + multi_log "TOTAL: ($2)" + + x=`echo "$1" | awk -F: '{print $4}'` + multi_log " PASS : $x" + + x=`echo "$1" | awk -F: '{print $5}'` + multi_log " FAIL : $x" + + x=`echo "$1" | awk -F: '{print $12}'` + multi_log " BLOCKED : $x" + + x=`echo "$1" | awk -F: '{print $6}'` + multi_log " SKIPPED : $x" + + x=`echo "$1" | awk -F: '{print $3}'` + multi_log " Tests : $x" + + get_num_of_available_test_cases + num=$? + + x=`echo "$1" | awk -F: '{print $2}'` + multi_log " Test Cases : $x (of $num)" + + NUM_DISABLED_BRANCHES=`echo "$1" | awk -F: '{print $7}'` + + x=`echo "$1" | awk -F: '{print $8}'` + y=`echo "$1" | awk -F: '{print $9}'` + + multi_log " Test Collections : $x (of $RUNTIME_COLLS_NUM), $y" + + x=`echo "$1" | awk -F: '{print $11}'` + multi_log " Outstanding allocations after execution : $x" + + x=`echo "$1" | awk -F: '{print $14}'` + multi_log " Outstanding allocations (ACPI Error) : $x" + + x=`echo "$1" | awk -F: '{print $15}'` + multi_log " Large Reference Count (ACPI Error) : $x" + + memtotal=`echo "$1" | awk -F: '{print $13}'` + multi_log " Memory consumption total : $memtotal Kb" +} + +# Report the status of particular test case +# and summarize the particular entries of the +# test cases status lines. +# arg1 - status line of one particular test case +report_test_case_summary() +{ + local x y z q l m n o p b u + local max0=0 max1=0 max2=0 max3=0 max4=0 max5=0 + local out0=0 out1=0 out2=0 out3=0 out4=0 out5=0 + local memtotal=0 + local outstand1=0 + local LargeRefCount=0 + + x=`echo "$1" | awk -F"|" '{print $2}'` + y=`echo "$1" | awk -F"|" '{print $7}'` + z=`echo "$1" | awk -F"|" '{print $8}'` + q=`echo "$1" | awk -F"|" '{print $9}'` + + l=`echo "$1" | awk -F"|" '{print $4}'` + m=`echo "$1" | awk -F"|" '{print $5}'` + n=`echo "$1" | awk -F"|" '{print $6}'` + o=`echo "$1" | awk -F"|" '{print $3}'` + p=`echo "$1" | awk -F"|" '{print $10}'` + b=`echo "$1" | awk -F"|" '{print $11}'` + + + if [ $x == "condbranches" ]; then + multi_log "$x: (service-test not counted to TOTAL)" + N_DISABLED_BRANCHES="$m" + else + multi_log "$x:" + fi + + multi_log " ($y-$z $q)" + multi_log " PASS : $l" + multi_log " FAIL : $m" + multi_log " BLOCKED : $b" + multi_log " SKIPPED : $n" + multi_log " total : $o" + + p=$[ 0 + $p ] + outstand1=`echo "$1" | awk -F"|" '{print $25}'` + + multi_log " Outstanding allocations after execution : $p" + multi_log " Outstanding allocations (ACPI Error) : $outstand1" + + LargeRefCount=`echo "$1" | awk -F"|" '{print $26}'` + if [[ "$LargeRefCount" -gt 0 ]]; then + multi_log " Large Reference Count (ACPI Error) : $LargeRefCount" + fi + + multi_log " Memory statistics (per cache type):" + + memtotal=`echo "$1" | awk -F"|" '{print $12}'` + multi_log " Total : $memtotal Kb" + + max0=`echo "$1" | awk -F"|" '{print $13}'` + max1=`echo "$1" | awk -F"|" '{print $14}'` + max2=`echo "$1" | awk -F"|" '{print $15}'` + max3=`echo "$1" | awk -F"|" '{print $16}'` + max4=`echo "$1" | awk -F"|" '{print $17}'` + max5=`echo "$1" | awk -F"|" '{print $18}'` + multi_log " Maximum occupied : $max0(Kb) $max1 $max2 $max3 $max4 $max5" + + out0=`echo "$1" | awk -F"|" '{print $19}'` + out1=`echo "$1" | awk -F"|" '{print $20}'` + out2=`echo "$1" | awk -F"|" '{print $21}'` + out3=`echo "$1" | awk -F"|" '{print $22}'` + out4=`echo "$1" | awk -F"|" '{print $23}'` + out5=`echo "$1" | awk -F"|" '{print $24}'` + multi_log " Outstandings : $out0 $out1 $out2 $out3 $out4 $out5" + + if [ $x != "condbranches" ]; then + N_TEST_CASES=$[ $N_TEST_CASES + 1 ] + N_PASS=$[ $N_PASS + $l ] + N_FAIL=$[ $N_FAIL + $m ] + N_SKIP=$[ $N_SKIP + $n ] + N_BLCK=$[ $N_BLCK + $b ] + N_TESTS=$[ $N_TESTS + $o ] + N_OUTSTAND=$[ $N_OUTSTAND + $p ] + N_OUTSTAND_1=$[ $N_OUTSTAND_1 + $outstand1 ] + N_LARGE_REF_CNT=$[ $N_LARGE_REF_CNT + $LargeRefCount ] + N_TOTAL=$[ $N_TOTAL + $memtotal ] + fi + + mark_collection_flag "$x" +} + +# Run reporting and summarizing the status lines +# of test cases present in the given file. +# arg1 - file containing the status lines of +# all the test cases have been executed +# in one particular mode. +parse_status_of_test_cases() +{ + local x + + cat "$1" |\ + while [ 1 ] + do + read line + if [ $? -ne 0 ] ; then + x="`get_collections_total`" + echo ":$N_TEST_CASES:$N_TESTS:$N_PASS:$N_FAIL:$N_SKIP:$N_DISABLED_BRANCHES:$x:$N_OUTSTAND:$N_BLCK:$N_TOTAL:$N_OUTSTAND_1:$N_LARGE_REF_CNT" + break + fi + if [ -n "$line" ] ; then + report_test_case_summary "$line" + fi + done +} + +# Generalization of summary information +# prepared for test cases runs for the given +# mode of run - prepare the convenient view +# survey in the common multi-result log. +# arg1 - multi-result directory pathname +# arg2 - bitmap of mode +# arg3 - summary information corresponding +# to the given mode of run +report_mode_summary() +{ + local x memtotal outstand0 outstand1 LargeRefCount path modepart modename + + modepart=`get_mode_string $2 0` + modename=`get_mode_string $2 1` + + path="$1/$modepart/__STATUS_OF_TEST_CASES" + + if [ -f "$path" ]; then + + multi_log "$modename:" + multi_log "" + + # Reset test collections involved flags + reset_collections_flags + + x=`parse_status_of_test_cases "$path"` + + report_total_of_mode "$x" "$3" + + outstand0=`echo "$x" | awk -F: '{print $11}'` + outstand1=`echo "$x" | awk -F: '{print $14}'` + LargeRefCount=`echo "$x" | awk -F: '{print $15}'` + memtotal=`echo "$x" | awk -F: '{print $13}'` + + if [[ "$LargeRefCount" -gt 0 ]]; then + HAVE_LARGE_REF_CNT=yes + fi + + echo "|TOTAL|$outstand0|$memtotal|${MODES_TIMES[$2]}|$outstand1|$LargeRefCount|" >> "$path" + + multi_log "" + + else + multi_log "$modename: summary information is not present" + multi_log "" + fi +} + +# Report the test cases specified (by INIT_SET_OF_TEST_CASES) +# for running. +# arg1 - a list of test cases to be run +report_enabled_test_cases() +{ + multi_log "Test cases specified for running:" + multi_log "" + for name in $1 + do + multi_log " $name" + done +} + +# Report comparing results of different mode runs +# of the same multi-run. +# arg1 - result of two modes comparing +# arg2 - first bitmap of mode +# arg3 - second bitmap of mode +report_inner_modes_cmp() +{ + local rval=0 + local modename0 modename1 + + modename0=`get_mode_string $2 1` + modename1=`get_mode_string $3 1` + + if [ $1 == $CMP_CMP_OP ]; then + rval=1 + multi_log " Compared : <$modename0> and <$modename1>" + elif [ $1 == $CMP_MISCMP_OP ]; then + rval=1 + multi_log " Miscompared : <$modename0> and <$modename1>" + fi + + return $rval +} + +# Compare results of different mode runs +# of the same multi-result directory. +# arg1 - multi-result directory +do_inner_modes_cmp() +{ + local CMP0 CMP1 CMP2 CMP3 CMP4 CMP5 + + # Compare results of different mode runs + # and report the summary of comparing. + + multi_log "" + multi_log "Compare different mode runs of the same multi-run:" + multi_log "" + + do_compare_two_runs "$1" $NORM32 "$1" $SLACK32 > /dev/null + report_inner_modes_cmp $? $NORM32 $SLACK32 + CMP4=$? + do_compare_two_runs "$1" $NORM32 "$1" $NORM64 > /dev/null + report_inner_modes_cmp $? $NORM32 $NORM64 + CMP0=$? + do_compare_two_runs "$1" $NORM32 "$1" $SLACK64 > /dev/null + report_inner_modes_cmp $? $NORM32 $SLACK64 + CMP2=$? + do_compare_two_runs "$1" $SLACK32 "$1" $NORM64 > /dev/null + report_inner_modes_cmp $? $SLACK32 $NORM64 + CMP3=$? + do_compare_two_runs "$1" $SLACK32 "$1" $SLACK64 > /dev/null + report_inner_modes_cmp $? $SLACK32 $SLACK64 + CMP1=$? + do_compare_two_runs "$1" $NORM64 "$1" $SLACK64 > /dev/null + report_inner_modes_cmp $? $NORM64 $SLACK64 + CMP5=$? + + if [ $CMP0 == 0 -a $CMP1 == 0 -a $CMP2 == 0\ + -a $CMP3 == 0 -a $CMP4 == 0 -a $CMP5 == 0 ]; then + multi_log " Nothing to compare" + fi +} + +# ############################## MAIN ############################### + +# Init variables of utility + +UTILSTATUS=0 +AML_DONT_EXIST=0 +DO_INNER_MODES_COMPARE=no + +MULTIPATH= +EXECVERSION= +COMMONLOGFILE= +MODES_TIMES= +MODES_SUMMARIES= +NUM_DISABLED_BRANCHES= + +# Do settings: +# - set up a list of test cases you want to be processed +# - set up a set of modes to run the tests +# - init log out results of runs + +RESET_SETTINGS +INIT_ALL_AVAILABLE_TESTS +INIT_SET_OF_TEST_CASES +INIT_RUN_MODES +INIT_LOG_RESULTS +INIT_MEM_STAT + +# Check access to AcpiExec utility + +if [ ! -f "$acpiexec" ]; then + do_exit 1 "Undefined acpiexec variable! Set it to pathname of AcpiExec utility." +fi + +# Determine the working directory and take precautions (last name should be aslts) + +if [ ! -d "$ASLTSDIR" ]; then + do_exit 1 "Undefined ASLTSDIR variable! Set it to pathname of root directory of aslts test suite." +fi + +x=`basename "$ASLTSDIR"` +if [ "$x" != aslts ]; then + do_exit 1 "The last name in ASLTSDIR should be 'aslts', but it is $x!" +fi + +# Start date and time (used in name of result directory) + +TS_FMT_INIDATE=$(date +%F) +TS_FMT_INITIME=$(date +%T) + +# Prepare directory for results + +if [ $ENABLELOG != 0 ]; then + + EXECVERSION=`get_acpiexec_version` + + MULTINAME=`get_date_time_like_name "$TS_FMT_INIDATE" "$TS_FMT_INITIME"` + + make_multi_result_dir "$MULTINAME" + + # Set up the common messages log file + + MULTIPATH="$ASLTSDIR/tmp/RESULTS/$MULTINAME" + check_dir "$MULTIPATH" + + COMMONLOGFILE="$MULTIPATH/Summary" + echo "# Trace and summary of $MULTINAME bunch of test runs." > "$COMMONLOGFILE" + multi_log "" + multi_log "ASLTS_SYSTEM `uname -s` `uname -r` `uname -v` `uname -m` `uname -p` `uname -i` `uname -o`" + multi_log "" +fi + +# Start of tests run + +report_enabled_test_cases "$ENABLED_TCASES" + +multi_log "" + +report_specified_modes + +multi_log "" + +multi_log "Execution started $TS_FMT_INIDATE $TS_FMT_INITIME" + +# Run tests in 32-bit norm mode +if [ $ENABLENORM32 != 0 ]; then + run_set_of_test_cases $NORM32 "$MULTIPATH" "$ENABLED_TCASES" +fi + +# Run tests in 64-bit norm mode +if [ $ENABLENORM64 != 0 ]; then + run_set_of_test_cases $NORM64 "$MULTIPATH" "$ENABLED_TCASES" +fi + +# Run tests in 32-bit slack mode +if [ $ENABLESLACK32 != 0 ]; then + run_set_of_test_cases $SLACK32 "$MULTIPATH" "$ENABLED_TCASES" +fi + +# Run tests in 64-bit slack mode +if [ $ENABLESLACK64 != 0 ]; then + run_set_of_test_cases $SLACK64 "$MULTIPATH" "$ENABLED_TCASES" +fi + +# Finish of tests run + +TS_FMT_ENDTIME=$(date +%T) +TS_FMT_RUNTIME=`get_cent_str_diff $TS_FMT_INITIME $TS_FMT_ENDTIME` +# AcpiExec doesn't provide status of test execution, +# so dont report STATUS of AcpiExec execution here +# not to mislead as it means STATUS of the tests +# execution. +# if [ $UTILSTATUS == 0 ]; then +# status=PASS +# else +# status=FAIL +# fi +multi_log "Execution finished $(date +%F) $TS_FMT_ENDTIME ($TS_FMT_RUNTIME)" + +if [ $ENABLELOG != 0 ]; then + + # Prepare all summaries + + do_all_summary "$MULTIPATH" "$ENABLED_TCASES" + + # Generalization of summaries + + multi_log " " + multi_log " PER-MODE TEST CASES EXECUTION SUMMARY:" + multi_log " " + report_mode_summary "$MULTIPATH" $NORM32 "${MODES_SUMMARIES[$NORM32]}" + report_mode_summary "$MULTIPATH" $NORM64 "${MODES_SUMMARIES[$NORM64]}" + report_mode_summary "$MULTIPATH" $SLACK32 "${MODES_SUMMARIES[$SLACK32]}" + report_mode_summary "$MULTIPATH" $SLACK64 "${MODES_SUMMARIES[$SLACK64]}" + + # Cross-compare results of runs of the same multi-result directory + + if [ "$DO_INNER_MODES_COMPARE" == yes ]; then + do_inner_modes_cmp "$MULTIPATH" + fi + + # Alarm the number of excluded testing branches + + multi_log "" + + if [ -n "$NUM_DISABLED_BRANCHES" ]; then + if [ "$NUM_DISABLED_BRANCHES" != 0 ]; then + multi_log "WARNING: the number of excluded testing branches is non-zero: $NUM_DISABLED_BRANCHES" + fi + fi + + TS_FMT_ENDTIME=$(date +%T) + TS_FMT_TOTALTIME=`get_cent_str_diff $TS_FMT_INITIME $TS_FMT_ENDTIME` + multi_log "Summary prepared $(date +%F) $TS_FMT_ENDTIME ($TS_FMT_TOTALTIME)" +fi + +if [ $AML_DONT_EXIST != 0 ]; then + msg="WARNING: some test cases dont have AML code! ($AML_DONT_EXIST)" + echo "$msg" + multi_log "$msg" +fi + +if [ $HAVE_LARGE_REF_CNT == yes ]; then + msg="WARNING: where detected!" + echo "$msg" + multi_log "" + multi_log "$msg" +fi + +exit $UTILSTATUS + + diff --git a/tests/aslts/bin/bugstate/ERROR_OPCODES b/tests/aslts/bin/bugstate/ERROR_OPCODES new file mode 100644 index 0000000..d2ae2e5 --- /dev/null +++ b/tests/aslts/bin/bugstate/ERROR_OPCODES @@ -0,0 +1,42 @@ +# Automatically processed list of opcodes of errors reported +# by bdemostabs utility in the 'Errors' field of Table 1. + + +*: bug requires working on it (FAIL-state bug) + +a: Component field of description for "Core/Int" of LBZ is incorrect (expected I) +b: Component field of description for "iASL Com" of LBZ is incorrect (expected C) +c: Component field of description for "ACPI Spe" of LBZ is incorrect (expected S) +d: Component field of description for "Utilitie" of LBZ is incorrect (expected U) +e: invalid Component field in LBZ +f: Component field of description for "ACPI" of KBZ is incorrect (expected I) +g: Component field of description is incorrect (expected {I|C|M|U|S}) +h: STATE-MANUALLY area contains 2 or more elements but it is not "FIXED INTEGRATED" +i: STATE-MANUALLY area contains more than 2 elements +j: STATE-MANUALLY area contains unexpected lexeme +k: TEST-RESULT area contains unexpected lexeme +l: TEST-RESULT area contains unexpected lexeme +m: STATE-MANUALLY area contains unexpected lexeme +n: non-zero priority for PASS-state bug +o: non-zero priority for PASS-state bug +p: zero priority for FAIL-state bug +r: FAIL-state bug is not filed into bugzilla +s: the bugzilla query file doesn't contain the entry corresponding to the bug +t: failed to identify entry of summary table +u: unnecessary INTEGRATED is set up for non-bugzilla bug +v: invalid Component field in KBZ (expected "ACPI") +w: ALLBUGS doesn't contain the entry present in query (not implemented yet, do it for both Local and Kernel BZ query files) + +A: inconsistence between LBZ-rejection and manual-rejection +B: bug in LBZ is RESOLVED/CLOSED but is of FAIL-state +C: bug in BZ is not CLOSED but is of PASS-state +D: the Result field of RESOLVED/CLOSED bug in LBZ is not FIXED +E: the Result field in LBZ is {FIXE|CODE|PATC} for FAIL-state bug +F: inconsistence between KBZ-rejection and manual-rejection +G: bug in KBZ is RESOLVED/CLOSED but is of FAIL-state +H: bug in KBZ is RESOLVED/CLOSED but the Result field is not {CODE|PATC} +I: bug is not INTEGRATED but is of PASS-state +J: the Result field in KBZ is {FIXE|CODE|PATC} for FAIL-state bug +K: bug is marked as INTEGRATED but is of FAIL-state +L: bug in BZ is CLOSED while it is not yet INTEGRATED +R: bug in BZ is not RESOLVED but is of PASS-state diff --git a/tests/aslts/bin/bugstate/HOW_TO_USE b/tests/aslts/bin/bugstate/HOW_TO_USE new file mode 100644 index 0000000..097f560 --- /dev/null +++ b/tests/aslts/bin/bugstate/HOW_TO_USE @@ -0,0 +1,89 @@ +bdemostabs +=========== + +The utility bdemostabs calculates the current state of all bugs +and reports the summary tables. + +The input data of bdemostabs are as follow. + + arg1 - the first multi-result directory + arg2 - the second multi-result directory + arg3 - ALLBUGS file which is a manually prepared description of all bugs, + those features of current state of bugs which could not be obtained + automatically. NOTE: it should be kept up to date regularly. + arg4 - kernel bugzilla Bug List file + arg5 - local bugzilla Bug List file + + +Error opcodes in 'Errors' field of Table 1 +========================================== + +The 'Errors' field of the summary table (Table 1) contains the letter opcodes +of errors which points out the inconsistences of the particular bug state which +require working on them. See opcodes of errors enumerated in ERROR_OPCODES file. + + +ALLBUGS file manual description of per-bug state +================================================ + +One new line is to be added into this file for each new bug. +The contents of fields of the line are given below. +COMP - component the bug relates to: + I - AML Interpreter + C - iASL compiler + M - simulation purposes (OS Layer insertions for simulation purposes only) + U - utility + S - specs + ML - memory leak (additional information but not component) +IID - internal ID of bug +LBZID - local bugzilla ID +KBZID - kernel bugzilla ID +PR - priority for fixing the bug. Should be non-empty for each not fixed + bug and empty otherwise: + 1 - will be fixed in the first turn + 2 - will be fixed in the second turn.. +SUMMARY - summary. Short description of bug. + +STATE-MANUALLY - the state of bug set up/confirmed (if needed) manually: + FIXED - bug is fixed. It is to be filled only when there is no + ability to create the relevant bdemo test which shows + the current state of the bug. + REJECTED - no longer a bug. Each rejected bug should be confirmed + by this entry here. + INTEGRATED - bug-fix is olready integrated. Each fixed bug should be + confirmed by this entry here that its patch/update is + integrated into ACPICA. + +Discipline of setting up INTEGRATED +into STATE-MANUALLY of ALLBUGS file +=================================== + +1. If bug fix is proposed by our side we check + manually through the code that bug fix is actually + integrated into ACPICA code. + +2. If bug is fixed by other side we dont know where to look for + the relevant update and simply run the relevant bdemo test on + the obtained release to ensure the bug-fix is already integrated. + +3. For bugs of internal bugzilla other side sets RESOLVED FIXED when + integrated the bug-fix update but doesn't close the relevant bug. + We run the bdemo test check the result of the test and set CLOSED + when the test results in PASS. + +4. CLOSED but not INTEGRATED yet bug is considered as a wrong combination. + +. + + + + + + + + + + + + + diff --git a/tests/aslts/bin/bugstate/bdemosconc b/tests/aslts/bin/bugstate/bdemosconc new file mode 100644 index 0000000..80d8ae8 --- /dev/null +++ b/tests/aslts/bin/bugstate/bdemosconc @@ -0,0 +1,142 @@ +#!/bin/bash +# +# @echo off +# +# Concatenate bdemo summary files (obtained by bdemossum) +# of two multi-results. +# +# Paremeters: +# +# arg1 - the first multi-result directory +# arg2 - the second multi-result directory +# +# (for comments see Do and asltsrun utilities). + +# Includes + +. common +. settings + +get_summary() +{ + OLD_IFS=$IFS + IFS=":" + + cat\ + $path0\ + $path1\ + $path2\ + $path3\ + $path4\ + $path5\ + $path6\ + $path7 |\ + while [ 1 ] + do + read number line + if [ $? -ne 0 ] ; then + do_report_summary + break + fi + + if [ "x$number" != x ]; then + SUMMARY[$number]=${SUMMARY[$number]}"|$line" + fi + + done + + IFS=$OLD_IFS +} + +# arg1 - multi-result directory +# arg2 - mode of run +get_name_of_bdemossum() +{ + local path modepart0 + + modepart0=`get_mode_string $2 0` + path="$1/$modepart0/__STATUS_OF_BDEMO_TESTS" + echo "$path" +} + +do_report_summary() +{ + index=0 + + while [ 1 ] + do + if [[ $index -ge $MAXBDEMO ]]; then + break + fi + + echo "$index${SUMMARY[$index]}" + + index=$[ $index + 1 ] + done +} + +# ############################## MAIN ############################### + +DIR0="$1" +DIR1="$2" +UTILSTATUS=0 +SUMMARY= + +# Initialization + +INIT_MAX_BDEMO + +echo "The number of bdemo-tests is equal to $MAXBDEMO" + +# Do summary files of bdemos + +if [ -d "$DIR0" ]; then + bdemossum "$DIR0" 0 +fi +if [ -d "$DIR1" ]; then + bdemossum "$DIR1" 1 +fi + +# Concatenate the summary files of bdemos of two multi-results + +echo "Concatenating bdemo summary files of two multi-results:" +echo " the first : $DIR0" +echo " the second : $DIR1" + +bdemo_sum= +if [ -d "$DIR0" ]; then + bdemo_sum="$DIR0/__STATUS_OF_ALL_BDEMO_TESTS" +elif [ -d "$DIR1" ]; then + bdemo_sum="$DIR1/__STATUS_OF_ALL_BDEMO_TESTS" +else + do_exit 1 "No one directory specified by both parameters" +fi + +path0="" +path1="" +path2="" +path3="" +path4="" +path5="" +path6="" +path7="" + +if [ -d "$DIR0" ]; then + path0=`get_name_of_bdemossum "$DIR0" $NORM32` + path1=`get_name_of_bdemossum "$DIR0" $NORM64` + path2=`get_name_of_bdemossum "$DIR0" $SLACK32` + path3=`get_name_of_bdemossum "$DIR0" $SLACK64` +fi +if [ -d "$DIR1" ]; then + path4=`get_name_of_bdemossum "$DIR1" $NORM32` + path5=`get_name_of_bdemossum "$DIR1" $NORM64` + path6=`get_name_of_bdemossum "$DIR1" $SLACK32` + path7=`get_name_of_bdemossum "$DIR1" $SLACK64` +fi + +get_summary > "$bdemo_sum" + +exit $UTILSTATUS + + + diff --git a/tests/aslts/bin/bugstate/bdemossum b/tests/aslts/bin/bugstate/bdemossum new file mode 100644 index 0000000..9f18e22 --- /dev/null +++ b/tests/aslts/bin/bugstate/bdemossum @@ -0,0 +1,165 @@ +#!/bin/bash +# +# @echo off +# +# Prepare bdemo summary files of one multi-results directory for all modes: +# +# - 32-bit norm mode +# - 64-bit norm mode +# - 32-bit slack mode +# - 64-bit slack mode +# +# Each line of the summary files represents the state of the relevant bug +# reported by the relevant bdemo test. +# +# Paremeters: +# +# arg1 - multi-result directory +# +# (for comments see Do and asltsrun utilities). + +# Includes + +. common +. settings + +# arg1 - file "__STATUS_OF_TESTS" +# arg2 - the name of system and modeid (system:modeid) the tests were run on +get_summary() +{ + local pass=0 fail=0 blck=0 skip=0 + + number= + prev_num= + bdemo_started= + + OLD_IFS=$IFS + IFS=":" + + cat "$1" |\ + while [ 1 ] + do + read s0 s1 s2 s3 s4 s5 line + if [ $? -ne 0 ] ; then + SUMMARY[$prev_num]="$prev_num:$2:$fail:$blck:$pass:$skip" + do_report_summary + break + fi + + if [[ "$s2" == *bug-demo* ]]; then + bdemo_started=yes + number=`echo "$s3" | awk -F" " '{ print $4}'` + + if [[ "$number" != "$prev_num" ]]; then + if [[ "$prev_num" != "" ]]; then + SUMMARY[$prev_num]="$prev_num:$2:$fail:$blck:$pass:$skip" + pass=0 + fail=0 + blck=0 + skip=0 + fi + prev_num=$number + fi + + if [[ "$s5" == PASS ]]; then + pass=$[ $pass + 1 ] + elif [[ "$s5" == FAIL ]]; then + fail=$[ $fail + 1 ] + elif [[ "$s5" == BLOCKED ]]; then + blck=$[ $blck + 1 ] + elif [[ "$s5" == SKIPPED ]]; then + skip=$[ $skip + 1 ] + fi + + elif [[ $bdemo_started == yes ]]; then + SUMMARY[$prev_num]="$prev_num:$2:$fail:$blck:$pass:$skip" + do_report_summary + break + fi + done + + IFS=$OLD_IFS +} + +# arg1 - multi-result directory +# arg2 - the name of system the tests were run on +# arg3 - mode of run +# Result - file "__STATUS_OF_BDEMO_TESTS" +do_summary() +{ + local path0 path1 modepart0 modename0 system + + modepart0=`get_mode_string $3 0` + modename0=`get_mode_string $3 1` + + path0="$1/$modepart0/__STATUS_OF_TESTS" + path1="$1/$modepart0/__STATUS_OF_BDEMO_TESTS" + system="$2" + + echo "Extracting bdemo-results of <$system, $modename0>:" + + if [ -f "$path1" ]; then + echo "Do nothing, file exists already:" + echo " $path1" + elif [ -f "$path0" ]; then + + modeid=`get_mode_id $3` + + get_summary "$path0" "$system:$modeid" > "$path1" + else + echo "File doesn't exists:" + echo " $path0" + fi +} + +do_report_summary() +{ + index=0 + + while [ 1 ] + do + if [[ $index -ge $MAXBDEMO ]]; then + break + fi + + echo "${SUMMARY[$index]}" + + index=$[ $index + 1 ] + done +} + +# ############################## MAIN ############################### + +DIR0="$1" +UTILSTATUS=0 +SUMMARY= + +# Initialization + +INIT_MAX_BDEMO + +echo "Preparing the bdemo summary files of one multi-results directory for all modes:" +echo " $DIR0" + +echo "The number of bdemo-tests is equal to $MAXBDEMO" + +# Do all summaries of bdemos + +check_dir "$DIR0" + +COMMONLOGFILE="$DIR0/Summary" +if [ ! -f "$COMMONLOGFILE" ]; then + do_exit 1 "COMMONLOGFILE is not file: <$COMMONLOGFILE>" +else + system=`get_name_of_system "$COMMONLOGFILE"` +fi + +do_summary "$DIR0" "$system" $NORM32 +do_summary "$DIR0" "$system" $NORM64 +do_summary "$DIR0" "$system" $SLACK32 +do_summary "$DIR0" "$system" $SLACK64 + +exit $UTILSTATUS + + + diff --git a/tests/aslts/bin/bugstate/bdemostabs b/tests/aslts/bin/bugstate/bdemostabs new file mode 100644 index 0000000..66bfb13 --- /dev/null +++ b/tests/aslts/bin/bugstate/bdemostabs @@ -0,0 +1,1496 @@ +#!/bin/bash +# +# @echo off +# +# Calculate the current state of all bugs +# and report the summary tables. +# +# Paremeters: +# +# arg1 - the first multi-result directory +# arg2 - the second multi-result directory +# +# Note: fictitious invalid name could be applied instead of either arg1 or arg2. +# +# arg3 - ALLBUGS file which is a manually prepared description of all bugs, +# those features of current state of bugs which could not be obtained +# automatically +# arg4 - kernel bugzilla Bug List file +# arg5 - local bugzilla Bug List file +# +# (for additional comments see Do and asltsrun utilities). + +# Includes + +. common +. settings + +print_complete_list_per_comp=yes + +# Opcodes of TEST-RESULT +PASS=0 +FAIL=1 +BLOCKED=2 +SKIPPED=3 +UNDEFINED=4 + +ST_FAIL=" FAIL " +ST_BLCK=" BLOCKED " +ST_PASS=" PASS " +ST_SKIP=" SKIPPED " +ST_UNDF=" UNDEFINED " +ST_EMPT=" " + +# Opcodes of (STATE-MANUALLY) +Man_REJECTED=0 +Man_FIXED=1 +Man_INTEGRATED=2 +Man_FIXED_INTEGRATED=3 +Man_EMPTY=4 +Man_UNDEFINED=5 + +# Overall status +REJ_STATUS=0 +PASS_STATUS=1 +FAIL_STATUS=2 + +# Opcodes of component +I_COMP=0 +C_COMP=1 +M_COMP=2 +U_COMP=3 +S_COMP=4 +UNDEF_COMP=5 + + +# Return opcode of TEST-RESULT according to weights +gen_stat() +{ + if [ "x$1" != x ]; then + stat=`echo "$1" | awk -F: '{ print $4}'` + if [ "$stat" != 0 ]; then + rval=$FAIL + else + stat=`echo "$1" | awk -F: '{ print $5}'` + if [ "$stat" != 0 ]; then + if [ "$rval" != $FAIL ]; then + rval=$BLOCKED + fi + else + stat=`echo "$1" | awk -F: '{ print $6}'` + if [ "$stat" != 0 ]; then + if [ "$rval" != $FAIL -a "$rval" != $BLOCKED ]; then + rval=$PASS + fi + else + stat=`echo "$1" | awk -F: '{ print $7}'` + if [ "$stat" != 0 ]; then + if [ "$rval" != $FAIL -a "$rval" != $BLOCKED -a "$rval" != $PASS ]; then + rval=$SKIPPED + fi + fi + fi + fi + fi + fi +} + +# Inputs/outputs are 'Opcodes of TEST-RESULT' +generate_status() +{ + rval="$UNDEFINED" + + gen_stat "$c32n_GL" + gen_stat "$c64n_GL" + gen_stat "$c32s_GL" + gen_stat "$c64s_GL" + gen_stat "$l32n_GL" + gen_stat "$l64n_GL" + gen_stat "$l32s_GL" + gen_stat "$l64s_GL" + + return $rval +} + +# Get name of 'Opcode of TEST-RESULT' +get_test_result_name() +{ + case $1 in + 0) echo "$ST_PASS";; + 1) echo "$ST_FAIL";; + 2) echo "$ST_BLCK";; + 3) echo "$ST_SKIP";; + 4) echo "$ST_UNDF";; + *) echo "?" + esac +} + +get_state_result() +{ + if [ "x$2" != x ]; then + State=`get_element_of_line "$1" ":" $2 0` + Result=`get_element_of_line "$1" ":" $2 1` + if [ "x$State" == x ]; then + StateResult=" " + elif [ "$State" == NEW ]; then + StateResult="$State " + elif [ "x$Result" == x ]; then + StateResult="$State " + else + StateResult="$State $Result" + fi + else + StateResult=" " + fi + + echo "$StateResult" +} + +# Check(STATE-MANUALLY) == {REJECTED|FIXED|INTEGRATED|FIXED INTEGRATED|} +check_state_manually() +{ + rval=$Man_UNDEFINED + + x=`echo "$1" | awk -F" " '{print $1}'` + y=`echo "$1" | awk -F" " '{print $2}'` + + # FIXED INTEGRATED + if [ "x$y" != x ]; then + if [ "$x" != FIXED -o "$y" != INTEGRATED ]; then + CerrSTMAN=h + else + rval=$Man_FIXED_INTEGRATED + z=`echo "$1" | awk -F" " '{print NF}'` + if [ "$z" != 2 ]; then + CerrSTMAN=i + fi + fi + elif [ "$x" == REJECTED ]; then + rval=$Man_REJECTED + elif [ "$x" == FIXED ]; then + rval=$Man_FIXED + elif [ "$x" == INTEGRATED ]; then + rval=$Man_INTEGRATED + elif [ "x$x" == x ]; then + rval=$Man_EMPTY + else + CerrSTMAN=j + fi + + return $rval +} + +# Check(TEST-RESULT) == {PASS|FAIL|BLOCKED|SKIPPED|UNDEFINED} +check_test_result() +{ + if [ "$1" != $PASS\ + -a "$1" != $FAIL\ + -a "$1" != $BLOCKED\ + -a "$1" != $SKIPPED\ + -a "$1" != $UNDEFINED ]; then + CerrTSRESID=k + fi +} + +check_conformity() +{ + entry=7 + rval=$FAIL_STATUS + + if [ "$1" == $Man_REJECTED ]; then + entry=0 + rval=$REJ_STATUS + elif [ "$1" == $Man_FIXED -a "$2" == $UNDEFINED ]; then + entry=1 + rval=$PASS_STATUS + elif [ "$1" == $Man_FIXED_INTEGRATED -a "$2" == $UNDEFINED ]; then + entry=1 + rval=$PASS_STATUS + elif [ "$1" == $Man_EMPTY -o "$1" == $Man_INTEGRATED ]; then + if [ "$2" == $PASS ]; then + entry=2 + rval=$PASS_STATUS + elif [ "$2" == $FAIL ]; then + entry=4 + rval=$FAIL_STATUS + elif [ "$2" == $BLOCKED ]; then + entry=5 + rval=$FAIL_STATUS + elif [ "$2" == $SKIPPED ]; then + entry=3 + rval=$PASS_STATUS + elif [ "$2" == $UNDEFINED ]; then + entry=6 + rval=$FAIL_STATUS + else + CerrCONFORMITY=l + fi + else + entry=7 + echo "ERROR 0: check_conformity, <$1> <$2>" + InternalErrCount=$[ $InternalErrCount + 1 ] + CerrCONFORMITY=m + fi + + if [ "$1" == $Man_FIXED_INTEGRATED -o "$1" == $Man_INTEGRATED ]; then + if [ "x$LBZID" == x -a "x$KBZID" == x ]; then + CerrCONFORMITY=u + fi + fi + + entry_of_table=$entry + + return $rval +} + +# Check(COMP) == {I|C|M|U|S} +check_component() +{ + rval=$UNDEF_COMP + + if [[ "$1" == I* ]]; then + rval=$I_COMP + elif [[ "$1" == C* ]]; then + rval=$C_COMP + elif [[ "$1" == M* ]]; then + rval=$M_COMP + elif [[ "$1" == U* ]]; then + rval=$U_COMP + elif [[ "$1" == S* ]]; then + rval=$S_COMP + else + CerrCOMP=g + echo "ERROR 0: check_component, <$1>" + InternalErrCount=$[ $InternalErrCount + 1 ] + fi + + return $rval +} + +report_state_of_bugs() +{ + local second_file= + + rintinbzcnt=0 + notresolvedcnt=0 + rnotintcnt=0 + rjinbzilla=0 + rstateinbzilla=0 + rstateinbzillafail=0 + + init_summary_table + + echo "" + echo "" + echo "" + echo "Table 1 (Complete list of per-bug states)" + echo "" + + report_head_of_table + + OLD_IFS=$IFS + IFS="|" + + cat\ + "$BDEMO_SUM"\ + "$ALLBUGS" |\ + while [ 1 ] + do + read number s0 s1 s2 s3 s4 s5 s6 s7 + if [ $? -ne 0 ] ; then + do_report_summary + echo "" + report_errors_encountered + echo "" + echo "" + echo "" + report_bug_summary + echo "" + echo "" + echo "" + report_rejected_in_bzilla + echo "" + echo "" + echo "" + report_resolved_integrated + echo "" + echo "" + echo "" + report_resolved_not_integrated + echo "" + echo "" + echo "" + report_not_resolved + echo "" + echo "" + echo "" + report_resolved_state_in_bzilla + echo "" + echo "" + echo "" + report_resolved_state_in_bzilla_but_fail + echo "" + echo "" + echo "" + report_bzilla_summary + echo "" + echo "" + echo "" + report_internal_bugs_number + + break + fi + + if [ "$number" == ALLBUGS ] ; then + second_file=yes + continue + fi + + if [ "$second_file" == yes ] ; then + + if [ "x$number" == x ]; then + continue + fi + + CerrMISC=" " + + # Local/kernel bugzilla State/Result parameters + + LBZID=`echo $s1 | sed 's/ //'g` + lst=`get_state_result "$LBSUM_PARSED" "$LBZID"` + + KBZID=`echo $s2 | sed 's/ //'g` + kst=`get_state_result "$KBSUM_PARSED" "$KBZID"` + + lState=`echo "$lst" | awk -F" " '{print $1}'` + lResult=`echo "$lst" | awk -F" " '{print $2}'` + + kState=`echo "$kst" | awk -F" " '{print $1}'` + kResult=`echo "$kst" | awk -F" " '{print $2}'` + + resolved_state_in_bzilla= + resolved_state_in_bzilla_but_fail= + + if [ "$lState" == RESO\ + -o "$lState" == REJE\ + -o "$lState" == CLOS\ + -o "$kState" == RESO\ + -o "$kState" == REJE\ + -o "$kState" == CLOS ]; then + resolved_state_in_bzilla=yes + fi + + + # Check consistancy of bug-data. + # + # Check that the state of bugs reported by local and kernel + # bugzilla dont contradict with the actual state of bugs + # reported by test runs and manually provided data. + + # Check STATE-MANUALLY (error # 1) + + CerrSTMAN=" " + check_state_manually "$s3" + MANstat=$? + + # Check TEST-RESULT (error # 1) + + TSRESstat="${SUMMARY[$number]}" + + CerrTSRESID=" " + check_test_result "$TSRESstat" + + # Check Component (error # 2,3,4,5,6) + + LerrCOMP=" " + KerrCOMP=" " + CerrCOMP=" " + + Component=`echo $s0 | sed 's/ //'g` + check_component "$Component" + Component=$? + + if [ "x$KBZID" != x ]; then + if [ "x$kState" == x ]; then + KerrCOMP=s + else + Comp=`get_element_of_line "$KBSUM_PARSED" ":" "$KBZID" 2` + if [ "$Comp" != "ACPI" ]; then + KerrCOMP=v + elif [[ "$Component" != $I_COMP ]]; then + KerrCOMP=f + fi + fi + fi + if [ "x$LBZID" != x ]; then + + if [ "x$lState" == x ]; then + LerrCOMP=s + else + Comp=`get_element_of_line "$LBSUM_PARSED" ":" "$LBZID" 2` + if [ "$Comp" == "Core/Int" ]; then + if [[ "$Component" != $I_COMP ]]; then + LerrCOMP=a + fi + elif [ "$Comp" == "iASL Com" ]; then + if [[ "$Component" != $C_COMP ]]; then + LerrCOMP=b + fi + elif [ "$Comp" == "ACPI Spe" ]; then + if [[ "$Component" != $S_COMP ]]; then + LerrCOMP=c + fi + elif [ "$Comp" == "Utilitie" ]; then + if [ "$Component" != $U_COMP -a "$Component" != $M_COMP ]; then + LerrCOMP=d + fi + else + LerrCOMP=e + fi + fi + fi + + # Check conformity of STATE-MANUALLY & TEST-RESULT (error # 1) + + CerrCONFORMITY=" " + entry_of_table=100 + check_conformity "$MANstat" "$TSRESstat" + overall_status=$? + + + # Increment the relevant entry of the summary table + if [ "$Component" != $UNDEF_COMP ]; then + increment_summary_table "$Component" "$entry_of_table" + else + CerrMISC=t + echo "ERROR 0: report_state_of_bugs, <$number> <$Component> <$entry_of_table>" + InternalErrCount=$[ $InternalErrCount + 1 ] + fi + + + if [ "$overall_status" == $FAIL_STATUS ]; then + tobefixed="*" + else + tobefixed=" " + fi + + # Check REJECTED (error # 1) + + LerrRJ=" " + KerrRJ=" " + + if [ "x$LBZID" != x -o "x$KBZID" != x ]; then + + MNrejected= + if [ "$overall_status" == $REJ_STATUS ]; then + MNrejected=yes + fi + + # Local bugzilla + + if [ "x$LBZID" != x ]; then + rejected= + if [ "$lResult" == INVA ]; then + rejected=yes + fi + if [ "$rejected" != "$MNrejected" ]; then + LerrRJ=A + fi + fi + + # Kernel bugzilla + + if [ "x$KBZID" != x ]; then + rejected= + if [ "$kState" == REJE ]; then + rejected=yes + fi + if [ "$rejected" != "$MNrejected" ]; then + KerrRJ=F + fi + fi + fi + + # Check State-Result (error # 7,8,9,a,b,c,d,e) + + intgr= + if [[ "$s3" == *INTEGRATED* ]]; then + intgr=yes + fi + + LerrSTAT=" " + LerrRES=" " + KerrSTAT=" " + KerrRES=" " + CerrPRIOR=" " + + x=`echo $s4 | sed 's/ //'g` + + if [ "$overall_status" == $REJ_STATUS ]; then + if [ "x$x" != x ]; then + CerrPRIOR=n + fi + elif [ "$overall_status" == $PASS_STATUS ]; then + if [ "x$LBZID" != x ]; then + if [ "$lState" == CLOS -a "x$intgr" == x ]; then + LerrSTAT=L + elif [ "$lState" != RESO -a "$lState" != CLOS ]; then + LerrSTAT=R + elif [ "$lState" == RESO ]; then + LerrSTAT=C + if [ "$lResult" != FIXE ]; then + LerrRES=D + fi + else + if [ "$lResult" != FIXE ]; then + LerrRES=D + fi + fi + fi + if [ "x$KBZID" != x ]; then + if [ "$kState" == CLOS -a "x$intgr" == x ]; then + KerrSTAT=L + elif [ "$kState" != RESO -a "$kState" != CLOS ]; then + KerrSTAT=R + elif [ "$kState" == RESO ]; then + KerrSTAT=C + if [ "$kResult" != CODE -a "$kResult" != PATC ]; then + KerrRES=H + fi + else + if [ "$kResult" != CODE -a "$kResult" != PATC ]; then + KerrRES=H + fi + fi + fi + if [ "x$x" != x ]; then + CerrPRIOR=o + fi + else + if [ "x$LBZID" != x ]; then + if [ "$lState" == RESO\ + -o "$lState" == CLOS ]; then + LerrSTAT=B + elif [ "$lResult" == FIXE\ + -o "$lResult" == CODE\ + -o "$lResult" == PATC ]; then + LerrRES=E + fi + fi + if [ "x$KBZID" != x ]; then + if [ "$kState" == RESO\ + -o "$kState" == CLOS ]; then + KerrSTAT=G + elif [ "$kResult" == FIXE\ + -o "$kResult" == CODE\ + -o "$kResult" == PATC ]; then + KerrRES=J + fi + fi + + if [ "x$LBZID" == x -a "x$KBZID" == x ]; then + LerrSTAT=r + KerrSTAT=r + fi + if [ "x$x" == x ]; then + CerrPRIOR=p + fi + fi + + # Check INTEGRATED (error # f,g,h,i) + + CerrINTEGR=" " + + rejected_in_bz= + rejected_not_in_bz= + not_resolved= + resolved_integrated_in_bz= + resolved_not_integrated_in_bz= + + if [ "$overall_status" == $REJ_STATUS ]; then + if [ "x$KBZID" != x -o "x$LBZID" != x ]; then + rejected_in_bz=yes + else + rejected_not_in_bz=yes + fi + elif [ "$overall_status" == $FAIL_STATUS ]; then + not_resolved=yes + if [ "x$LBZID" != x -o "x$KBZID" != x ]; then + if [ "$resolved_state_in_bzilla" == yes ]; then + resolved_state_in_bzilla_but_fail=yes + fi + if [ "x$intgr" != x ]; then + CerrINTEGR=K + fi + fi + else + if [ "x$LBZID" != x -o "x$KBZID" != x ]; then + if [ "x$intgr" == x ]; then + CerrINTEGR=I + resolved_not_integrated_in_bz=yes + else + resolved_integrated_in_bz=yes + fi + fi + fi + + # Local & Kernel bugzilla summary + + if [ "x$LBZID" != x -o "x$KBZID" != x ]; then + + if [ "$kState" == NEW ]; then + KBarr[0]=$[ ${KBarr[0]} + 1 ] + elif [ "$kState" == ASSI ]; then + KBarr[1]=$[ ${KBarr[1]} + 1 ] + elif [ "$kState" == NEED ]; then + KBarr[2]=$[ ${KBarr[2]} + 1 ] + elif [ "$kState" == RESO ]; then + if [ "$kResult" == CODE ]; then + KBarr[3]=$[ ${KBarr[3]} + 1 ] + elif [ "$kResult" == PATC ]; then + KBarr[4]=$[ ${KBarr[4]} + 1 ] + elif [ "$kResult" == FIXE ]; then + KBarr[5]=$[ ${KBarr[5]} + 1 ] + elif [ "$kResult" == INVA ]; then + KBarr[6]=$[ ${KBarr[6]} + 1 ] + else + KBarr[9]=$[ ${KBarr[9]} + 1 ] + fi + elif [ "$kState" == REJE ]; then + if [ "$kResult" == DOCU ]; then + KBarr[7]=$[ ${KBarr[7]} + 1 ] + else + KBarr[9]=$[ ${KBarr[9]} + 1 ] + fi + elif [ "$kState" == CLOS ]; then + if [ "$kResult" == CODE ]; then + KBarr[8]=$[ ${KBarr[8]} + 1 ] + else + KBarr[9]=$[ ${KBarr[9]} + 1 ] + fi + fi + + if [ "$lState" == NEW ]; then + LBarr[0]=$[ ${LBarr[0]} + 1 ] + elif [ "$lState" == ASSI ]; then + LBarr[1]=$[ ${LBarr[1]} + 1 ] + elif [ "$lState" == NEED ]; then + LBarr[2]=$[ ${LBarr[2]} + 1 ] + elif [ "$lState" == RESO ]; then + if [ "$lResult" == CODE ]; then + LBarr[3]=$[ ${LBarr[3]} + 1 ] + elif [ "$lResult" == PATC ]; then + LBarr[4]=$[ ${LBarr[4]} + 1 ] + elif [ "$lResult" == FIXE ]; then + LBarr[5]=$[ ${LBarr[5]} + 1 ] + elif [ "$lResult" == INVA ]; then + LBarr[6]=$[ ${LBarr[6]} + 1 ] + else + LBarr[9]=$[ ${LBarr[9]} + 1 ] + fi + elif [ "$lState" == REJE ]; then + if [ "$lResult" == DOCU ]; then + LBarr[7]=$[ ${LBarr[7]} + 1 ] + else + LBarr[9]=$[ ${LBarr[9]} + 1 ] + fi + elif [ "$lState" == CLOS ]; then + if [ "$lResult" == CODE ]; then + LBarr[8]=$[ ${LBarr[8]} + 1 ] + else + LBarr[9]=$[ ${LBarr[9]} + 1 ] + fi + fi + + if [ "$overall_status" == $REJ_STATUS ]; then + if [ "x$LBZID" != x ]; then + LBarr[10]=$[ ${LBarr[10]} + 1 ] + fi + if [ "x$KBZID" != x ]; then + KBarr[10]=$[ ${KBarr[10]} + 1 ] + fi + elif [ "$overall_status" == $PASS_STATUS ]; then + if [ "x$LBZID" != x ]; then + LBarr[11]=$[ ${LBarr[11]} + 1 ] + fi + if [ "x$KBZID" != x ]; then + KBarr[11]=$[ ${KBarr[11]} + 1 ] + fi + else + if [ "x$LBZID" != x ]; then + LBarr[12]=$[ ${LBarr[12]} + 1 ] + fi + if [ "x$KBZID" != x ]; then + KBarr[12]=$[ ${KBarr[12]} + 1 ] + fi + fi + fi + + TSRESname=`get_test_result_name "$TSRESstat"` + if [ "$overall_status" == $REJ_STATUS ]; then + TSRESname="$ST_EMPT" + fi + + # Summary error string + + LErrStr="$LerrRJ$LerrCOMP$LerrSTAT$LerrRES" + KErrStr="$KerrRJ$KerrCOMP$KerrSTAT$KerrRES" + CommonErrStr="$CerrCOMP$CerrSTMAN$CerrTSRESID$CerrCONFORMITY$CerrPRIOR$CerrINTEGR" + AllErrors="$LErrStr$KErrStr$CommonErrStr$CerrMISC $tobefixed" + x=`echo "$AllErrors" | sed 's/ //'g` + AccumulateErrors="$AccumulateErrors$x" + line="$AllErrors|$number|$s0|$s1|$lst|$s2|$kst|$TSRESname|$s3|$s4| $tobefixed$s5" + SUMMARY[$number]="$line" + + if [ "x$print_complete_list_per_comp" != x ]; then + if [[ "$Component" == $I_COMP ]]; then + SUMMARY_I="$SUMMARY_I:$number" + elif [[ "$Component" == $C_COMP ]]; then + SUMMARY_C="$SUMMARY_C:$number" + elif [[ "$Component" == $M_COMP ]]; then + SUMMARY_M="$SUMMARY_M:$number" + elif [[ "$Component" == $U_COMP ]]; then + SUMMARY_U="$SUMMARY_U:$number" + elif [[ "$Component" == $S_COMP ]]; then + SUMMARY_S="$SUMMARY_S:$number" + else + SUMMARY_UNDEF="$SUMMARY_UNDEF:$number" + fi + fi + + if [ "$not_resolved" == yes ]; then + if [[ "$Component" == $I_COMP ]]; then + NOT_RESOLVED_I="$NOT_RESOLVED_I:$number" + elif [[ "$Component" == $C_COMP ]]; then + NOT_RESOLVED_C="$NOT_RESOLVED_C:$number" + elif [[ "$Component" == $M_COMP ]]; then + NOT_RESOLVED_M="$NOT_RESOLVED_M:$number" + elif [[ "$Component" == $U_COMP ]]; then + NOT_RESOLVED_U="$NOT_RESOLVED_U:$number" + elif [[ "$Component" == $S_COMP ]]; then + NOT_RESOLVED_S="$NOT_RESOLVED_S:$number" + else + NOT_RESOLVED_UNDEF="$NOT_RESOLVED_UNDEF:$number" + fi + notresolvedcnt=$[ $notresolvedcnt + 1 ] + elif [ "$resolved_integrated_in_bz" == yes ]; then + if [[ "$Component" == $I_COMP ]]; then + RESOLVED_INTEGRATED_IN_BZ_I="$RESOLVED_INTEGRATED_IN_BZ_I:$number" + elif [[ "$Component" == $C_COMP ]]; then + RESOLVED_INTEGRATED_IN_BZ_C="$RESOLVED_INTEGRATED_IN_BZ_C:$number" + elif [[ "$Component" == $M_COMP ]]; then + RESOLVED_INTEGRATED_IN_BZ_M="$RESOLVED_INTEGRATED_IN_BZ_M:$number" + elif [[ "$Component" == $U_COMP ]]; then + RESOLVED_INTEGRATED_IN_BZ_U="$RESOLVED_INTEGRATED_IN_BZ_U:$number" + elif [[ "$Component" == $S_COMP ]]; then + RESOLVED_INTEGRATED_IN_BZ_S="$RESOLVED_INTEGRATED_IN_BZ_S:$number" + else + RESOLVED_INTEGRATED_IN_BZ_UNDEF="$RESOLVED_INTEGRATED_IN_BZ_UNDEF:$number" + fi + rintinbzcnt=$[ $rintinbzcnt + 1 ] + elif [ "$resolved_not_integrated_in_bz" == yes ]; then + if [[ "$Component" == $I_COMP ]]; then + RESOLVED_NOT_INTEGRATED_IN_BZ_I="$RESOLVED_NOT_INTEGRATED_IN_BZ_I:$number" + elif [[ "$Component" == $C_COMP ]]; then + RESOLVED_NOT_INTEGRATED_IN_BZ_C="$RESOLVED_NOT_INTEGRATED_IN_BZ_C:$number" + elif [[ "$Component" == $M_COMP ]]; then + RESOLVED_NOT_INTEGRATED_IN_BZ_M="$RESOLVED_NOT_INTEGRATED_IN_BZ_M:$number" + elif [[ "$Component" == $U_COMP ]]; then + RESOLVED_NOT_INTEGRATED_IN_BZ_U="$RESOLVED_NOT_INTEGRATED_IN_BZ_U:$number" + elif [[ "$Component" == $S_COMP ]]; then + RESOLVED_NOT_INTEGRATED_IN_BZ_S="$RESOLVED_NOT_INTEGRATED_IN_BZ_S:$number" + else + RESOLVED_NOT_INTEGRATED_IN_BZ_UNDEF="$RESOLVED_NOT_INTEGRATED_IN_BZ_UNDEF:$number" + fi + rnotintcnt=$[ $rnotintcnt + 1 ] + elif [ "$rejected_in_bz" == yes ]; then + REJECTED_IN_BZILLA="$REJECTED_IN_BZILLA:$number" + rjinbzilla=$[ $rjinbzilla + 1 ] + elif [ "$rejected_not_in_bz" == yes ]; then + if [[ "$Component" == $I_COMP ]]; then + REJECTED_NOT_IN_BZILLA_I="$REJECTED_NOT_IN_BZILLA_I:$number" + elif [[ "$Component" == $C_COMP ]]; then + REJECTED_NOT_IN_BZILLA_C="$REJECTED_NOT_IN_BZILLA_C:$number" + elif [[ "$Component" == $M_COMP ]]; then + REJECTED_NOT_IN_BZILLA_M="$REJECTED_NOT_IN_BZILLA_M:$number" + elif [[ "$Component" == $U_COMP ]]; then + REJECTED_NOT_IN_BZILLA_U="$REJECTED_NOT_IN_BZILLA_U:$number" + elif [[ "$Component" == $S_COMP ]]; then + REJECTED_NOT_IN_BZILLA_S="$REJECTED_NOT_IN_BZILLA_S:$number" + else + REJECTED_NOT_IN_BZILLA_UNDEF="$REJECTED_NOT_IN_BZILLA_UNDEF:$number" + fi + rjnotinbzilla=$[ $rjnotinbzilla + 1 ] + fi + + if [ "$resolved_state_in_bzilla" == yes ]; then + if [[ "$Component" == $I_COMP ]]; then + RESOLVED_STATE_IN_BZILLA_I="$RESOLVED_STATE_IN_BZILLA_I:$number" + elif [[ "$Component" == $C_COMP ]]; then + RESOLVED_STATE_IN_BZILLA_C="$RESOLVED_STATE_IN_BZILLA_C:$number" + elif [[ "$Component" == $M_COMP ]]; then + RESOLVED_STATE_IN_BZILLA_M="$RESOLVED_STATE_IN_BZILLA_M:$number" + elif [[ "$Component" == $U_COMP ]]; then + RESOLVED_STATE_IN_BZILLA_U="$RESOLVED_STATE_IN_BZILLA_U:$number" + elif [[ "$Component" == $S_COMP ]]; then + RESOLVED_STATE_IN_BZILLA_S="$RESOLVED_STATE_IN_BZILLA_S:$number" + else + RESOLVED_STATE_IN_BZILLA_UNDEF="$RESOLVED_STATE_IN_BZILLA_UNDEF:$number" + fi + rstateinbzilla=$[ $rstateinbzilla + 1 ] + fi + + if [ "$resolved_state_in_bzilla_but_fail" == yes ]; then + if [[ "$Component" == $I_COMP ]]; then + RESOLVED_STATE_IN_BZILLA_BUT_FAIL_I="$RESOLVED_STATE_IN_BZILLA_BUT_FAIL_I:$number" + elif [[ "$Component" == $C_COMP ]]; then + RESOLVED_STATE_IN_BZILLA_BUT_FAIL_C="$RESOLVED_STATE_IN_BZILLA_BUT_FAIL_C:$number" + elif [[ "$Component" == $M_COMP ]]; then + RESOLVED_STATE_IN_BZILLA_BUT_FAIL_M="$RESOLVED_STATE_IN_BZILLA_BUT_FAIL_M:$number" + elif [[ "$Component" == $U_COMP ]]; then + RESOLVED_STATE_IN_BZILLA_BUT_FAIL_U="$RESOLVED_STATE_IN_BZILLA_BUT_FAIL_U:$number" + elif [[ "$Component" == $S_COMP ]]; then + RESOLVED_STATE_IN_BZILLA_BUT_FAIL_S="$RESOLVED_STATE_IN_BZILLA_BUT_FAIL_S:$number" + else + RESOLVED_STATE_IN_BZILLA_BUT_FAIL_UNDEF="$RESOLVED_STATE_IN_BZILLA_BUT_FAIL_UNDEF:$number" + fi + rstateinbzillafail=$[ $rstateinbzillafail + 1 ] + fi + + else + c32n_GL="$s0" + c64n_GL="$s1" + c32s_GL="$s2" + c64s_GL="$s3" + l32n_GL="$s4" + l64n_GL="$s5" + l32s_GL="$s6" + l64s_GL="$s7" + + generate_status "$number" + status=$? + + if [ "x$number" != x ]; then + SUMMARY[$number]="$status" + fi + fi + + done + + IFS=$OLD_IFS +} + +init_summary_table() +{ +# Elements of arrays: +# 0 - rejected +# 1 - undef_fixed +# 2 - pass +# 3 - skipped +# 4 - failed +# 5 - blocked +# 6 - undef_not_fixed + + InternalErrCount=0 + +# Interpreter + StINT[0]=0 + StINT[1]=0 + StINT[2]=0 + StINT[3]=0 + StINT[4]=0 + StINT[5]=0 + StINT[6]=0 + StINT[7]=0 + +# iASL + StASL[0]=0 + StASL[1]=0 + StASL[2]=0 + StASL[3]=0 + StASL[4]=0 + StASL[5]=0 + StASL[6]=0 + StASL[7]=0 + +# Simulation + StSIM[0]=0 + StSIM[1]=0 + StSIM[2]=0 + StSIM[3]=0 + StSIM[4]=0 + StSIM[5]=0 + StSIM[6]=0 + StSIM[7]=0 + +# Utilities + StUTIL[0]=0 + StUTIL[1]=0 + StUTIL[2]=0 + StUTIL[3]=0 + StUTIL[4]=0 + StUTIL[5]=0 + StUTIL[6]=0 + StUTIL[7]=0 + +# Specs + StSPEC[0]=0 + StSPEC[1]=0 + StSPEC[2]=0 + StSPEC[3]=0 + StSPEC[4]=0 + StSPEC[5]=0 + StSPEC[6]=0 + StSPEC[7]=0 + +# LBarr + + LBarr[0]=0 + LBarr[1]=0 + LBarr[2]=0 + LBarr[3]=0 + LBarr[4]=0 + LBarr[5]=0 + LBarr[6]=0 + LBarr[7]=0 + LBarr[8]=0 + LBarr[9]=0 + LBarr[10]=0 + LBarr[11]=0 + LBarr[12]=0 + +# KBarr + + KBarr[0]=0 + KBarr[1]=0 + KBarr[2]=0 + KBarr[3]=0 + KBarr[4]=0 + KBarr[5]=0 + KBarr[6]=0 + KBarr[7]=0 + KBarr[8]=0 + KBarr[9]=0 + KBarr[10]=0 + KBarr[11]=0 + KBarr[12]=0 +} + +increment_summary_table() +{ + if [ "$1" == $I_COMP ]; then + StINT[$2]=$[ ${StINT[$2]} + 1 ] + elif [ "$1" == $C_COMP ]; then + StASL[$2]=$[ ${StASL[$2]} + 1 ] + elif [ "$1" == $S_COMP ]; then + StSPEC[$2]=$[ ${StSPEC[$2]} + 1 ] + elif [ "$1" == $M_COMP ]; then + StSIM[$2]=$[ ${StSIM[$2]} + 1 ] + elif [ "$1" == $U_COMP ]; then + StUTIL[$2]=$[ ${StUTIL[$2]} + 1 ] + fi +} + +report_bug_summary() +{ +y0=$[ ${StINT[0]} + ${StASL[0]} + ${StSIM[0]} + ${StUTIL[0]} + ${StSPEC[0]} ] +y1=$[ ${StINT[1]} + ${StASL[1]} + ${StSIM[1]} + ${StUTIL[1]} + ${StSPEC[1]} ] +y2=$[ ${StINT[2]} + ${StASL[2]} + ${StSIM[2]} + ${StUTIL[2]} + ${StSPEC[2]} ] +y3=$[ ${StINT[3]} + ${StASL[3]} + ${StSIM[3]} + ${StUTIL[3]} + ${StSPEC[3]} ] + +x=" " +echo "Table 2 (Summary of bugs)" +echo "" +echo " | Interpreter iASL Simulation Utilities Specs | TOTAL |" +echo "=============================|=========================================================|===========|" +echo "F |* & REJECTED | ${StINT[0]}$x${StASL[0]}$x${StSIM[0]}$x${StUTIL[0]}$x${StSPEC[0]} | $y0" +echo " I |UNDEFINED & FIXED | ${StINT[1]}$x${StASL[1]}$x${StSIM[1]}$x${StUTIL[1]}$x${StSPEC[1]} | $y1" +echo " X |PASS | ${StINT[2]}$x${StASL[2]}$x${StSIM[2]}$x${StUTIL[2]}$x${StSPEC[2]} | $y2" +echo " ED |SKIPPED | ${StINT[3]}$x${StASL[3]}$x${StSIM[3]}$x${StUTIL[3]}$x${StSPEC[3]} | $y3" +echo "-----------------------------|---------------------------------------------------------|" + +y4=$[ ${StINT[4]} + ${StASL[4]} + ${StSIM[4]} + ${StUTIL[4]} + ${StSPEC[4]} ] +y5=$[ ${StINT[5]} + ${StASL[5]} + ${StSIM[5]} + ${StUTIL[5]} + ${StSPEC[5]} ] +y6=$[ ${StINT[6]} + ${StASL[6]} + ${StSIM[6]} + ${StUTIL[6]} + ${StSPEC[6]} ] +# y7=$[ ${StINT[7]} + ${StASL[7]} + ${StSIM[7]} + ${StUTIL[7]} + ${StSPEC[7]} ] + +x00=$[ ${StINT[0]} + ${StINT[1]} + ${StINT[2]} + ${StINT[3]} ] +x01=$[ ${StASL[0]} + ${StASL[1]} + ${StASL[2]} + ${StASL[3]} ] +x02=$[ ${StSIM[0]} + ${StSIM[1]} + ${StSIM[2]} + ${StSIM[3]} ] +x03=$[ ${StUTIL[0]} + ${StUTIL[1]} + ${StUTIL[2]} + ${StUTIL[3]} ] +x04=$[ ${StSPEC[0]} + ${StSPEC[1]} + ${StSPEC[2]} + ${StSPEC[3]} ] +x05=$[ $x00 + $x01 + $x02 + $x03 + $x04 ] + +echo " Total (fixed) | $x00$x$x01$x$x02$x$x03$x$x04 | $x05" + +echo "-----------------------------|---------------------------------------------------------|" +echo "TO |FAIL | ${StINT[4]}$x${StASL[4]}$x${StSIM[4]}$x${StUTIL[4]}$x${StSPEC[4]} | $y4" +echo " BE |BLOCKED | ${StINT[5]}$x${StASL[5]}$x${StSIM[5]}$x${StUTIL[5]}$x${StSPEC[5]} | $y5" +echo " FIXED|UNDEFINED & !FIXED | ${StINT[6]}$x${StASL[6]}$x${StSIM[6]}$x${StUTIL[6]}$x${StSPEC[6]} | $y6" +# echo " | Other (must be 0) | ${StINT[7]}$x${StASL[7]}$x${StSIM[7]}$x${StUTIL[7]}$x${StSPEC[7]} | $y7" +echo "-----------------------------|---------------------------------------------------------|" + + +x10=$[ ${StINT[4]} + ${StINT[5]} + ${StINT[6]} ] +x11=$[ ${StASL[4]} + ${StASL[5]} + ${StASL[6]} ] +x12=$[ ${StSIM[4]} + ${StSIM[5]} + ${StSIM[6]} ] +x13=$[ ${StUTIL[4]} + ${StUTIL[5]} + ${StUTIL[6]} ] +x14=$[ ${StSPEC[4]} + ${StSPEC[5]} + ${StSPEC[6]} ] +x15=$[ $x10 + $x11 + $x12 + $x13 + $x14 ] + +echo " Total (NOT fixed) | $x10$x$x11$x$x12$x$x13$x$x14 | $x15" + +x20=$[ $x00 + $x10 ] +x21=$[ $x01 + $x11 ] +x22=$[ $x02 + $x12 ] +x23=$[ $x03 + $x13 ] +x24=$[ $x04 + $x14 ] +x25=$[ $x20 + $x21 + $x22 + $x23 + $x24 ] + +echo "-----------------------------|---------------------------------------------------------|" +echo " TOTAL ($MAXBDEMO) | $x20$x$x21$x$x22$x$x23$x$x24 | $x25" +echo "===================================================================================================|" + + if [ "$x25" != "$MAXBDEMO" ]; then + echo "ERROR 0: report_bug_summary, incorrect TOTAL, expected <$MAXBDEMO> received <$x25>" + InternalErrCount=$[ $InternalErrCount + 1 ] + fi +} + +report_internal_bugs_number() +{ + echo "Number of data inconsistency internal errors: InternalErrCount = $InternalErrCount (program to be updated)" +} + +status_calculation_comment() +{ +echo "Calculate status of bug according to the results of bdemo-tests run on two systems" +echo "for all modes (norm-32,norm-64,slack-32,slack-64):" +echo "" +echo " UNDEFINED & FIXED == PASS" +echo "" +echo " UNDEFINED & {FAIL|BLOCKED| |PASS|SKIPPED} == UNDEFINED == FAIL" +echo " REJECTED & {FAIL|BLOCKED|UNDEFINED|PASS|SKIPPED} == REJECTED == PASS" +echo " FAIL & { BLOCKED|UNDEFINED|PASS|SKIPPED} == FAIL == FAIL" +echo " BLOCKED & { UNDEFINED|PASS|SKIPPED} == BLOCKED == FAIL" +echo " PASS & { SKIPPED} == PASS == PASS" +} + +status_entries_comment() +{ +echo "Bug status entries:" +echo "" +echo " REJECTED : bug is rejected - no matter what are the results of bdemo-test runs" +echo " UNDEFINED & FIXED : no runtime bdemo-test for this bug (impossible), status FIXED was set up manually" +echo " FAIL : some of runs of the relevant bdemo-test on either system in different modes failed" +echo " BLOCKED : no failures for the bdemo-test but it was not run in some of modes (see FAIL) (blocked temporary for some reason)" +echo " PASS : the bdemo-test doesn't failed or blocked and some runs resulted in PASS" +echo " SKIPPED : no FAIL/BLOCKED/PASS for this bdemo-test and some run was SKIPPED (no conditions to run the test)" +echo " UNDEFINED : no result of bdemo-test for this bug (either temporary or impossible to generate runtime test conditions at all)" +} + + +# arg1 - the first multi-result directory +# arg2 - the second multi-result directory +init_bdemo_sum() +{ + if [ -d "$DIR0" ]; then + BDEMO_SUM="$DIR0/__STATUS_OF_ALL_BDEMO_TESTS" + elif [ -d "$DIR1" ]; then + BDEMO_SUM="$DIR1/__STATUS_OF_ALL_BDEMO_TESTS" + else + do_exit 1 "No one directory specified by both parameters" + fi +} + +report_head_of_table() +{ + echo "Errors IID COMP LBZID ST/RES KBZID ST/RES TEST-RESULT STATE-MANUALLY PR SUMMARY" + echo "=====================================================================================================|" +} + +report_end_of_table() +{ + echo "=====================================================================================================|" +} + +report_mid_line() +{ + echo " |---|-------|------|---------|------|---------|------------|------------------|-----|" +} + +do_report_summary() +{ + if [ "x$print_complete_list_per_comp" != x ]; then + report_subset_of_summary "$SUMMARY_S" + report_subset_of_summary "$SUMMARY_C" + report_subset_of_summary "$SUMMARY_M" + report_subset_of_summary "$SUMMARY_U" + report_subset_of_summary "$SUMMARY_UNDEF" + report_subset_of_summary "$SUMMARY_I" + else + index=0 + while [ 1 ] + do + if [[ $index -ge $MAXBDEMO ]]; then + break + fi + echo "${SUMMARY[$index]}" + index=$[ $index + 1 ] + done + fi + + report_end_of_table +} + +# arg1 - numbers of bugs - ":n0:n1:...:nX" +report_subset_of_summary() +{ + if [ "x$1" != x ]; then + echo "$1" | awk -F: '{ for (i=2; i<=NF; i++) { print $i}}' |\ + while [ 1 ] + do + read number + if [ $? -ne 0 ] ; then + break + fi + echo "${SUMMARY[$number]}" + done + fi +} + +report_rejected_in_bzilla() +{ + x=$[ $rjnotinbzilla + $rjinbzilla ] + + echo "Table 3 (Rejected, $rjnotinbzilla + $rjinbzilla == $x)" + echo "" + report_head_of_table + + report_subset_of_summary "$REJECTED_NOT_IN_BZILLA_S" + report_subset_of_summary "$REJECTED_NOT_IN_BZILLA_C" + report_subset_of_summary "$REJECTED_NOT_IN_BZILLA_M" + report_subset_of_summary "$REJECTED_NOT_IN_BZILLA_U" + report_subset_of_summary "$REJECTED_NOT_IN_BZILLA_UNDEF" + report_subset_of_summary "$REJECTED_NOT_IN_BZILLA_I" + + if [ $rjnotinbzilla -gt 0 ]; then + report_mid_line + fi + + report_subset_of_summary "$REJECTED_IN_BZILLA" + + report_end_of_table +} + +report_resolved_integrated() +{ + echo "Table 4 (PASS-state and INTEGRATED (of BZ), $rintinbzcnt)" + + echo "" + report_head_of_table + + report_subset_of_summary "$RESOLVED_INTEGRATED_IN_BZ_S" + report_subset_of_summary "$RESOLVED_INTEGRATED_IN_BZ_C" + report_subset_of_summary "$RESOLVED_INTEGRATED_IN_BZ_M" + report_subset_of_summary "$RESOLVED_INTEGRATED_IN_BZ_U" + report_subset_of_summary "$RESOLVED_INTEGRATED_IN_BZ_UNDEF" + report_subset_of_summary "$RESOLVED_INTEGRATED_IN_BZ_I" + + report_end_of_table +} + +report_resolved_not_integrated() +{ + echo "Table 5 (PASS-state but NOT INTEGRATED (of BZ), $rnotintcnt)" + echo "" + report_head_of_table + + report_subset_of_summary "$RESOLVED_NOT_INTEGRATED_IN_BZ_S" + report_subset_of_summary "$RESOLVED_NOT_INTEGRATED_IN_BZ_C" + report_subset_of_summary "$RESOLVED_NOT_INTEGRATED_IN_BZ_M" + report_subset_of_summary "$RESOLVED_NOT_INTEGRATED_IN_BZ_U" + report_subset_of_summary "$RESOLVED_NOT_INTEGRATED_IN_BZ_UNDEF" + report_subset_of_summary "$RESOLVED_NOT_INTEGRATED_IN_BZ_I" + + report_end_of_table +} + +report_not_resolved() +{ + echo "Table 6 (FAIL-state, $notresolvedcnt)" + echo "" + report_head_of_table + + report_subset_of_summary "$NOT_RESOLVED_S" + report_subset_of_summary "$NOT_RESOLVED_C" + report_subset_of_summary "$NOT_RESOLVED_M" + report_subset_of_summary "$NOT_RESOLVED_U" + report_subset_of_summary "$NOT_RESOLVED_UNDEF" + report_subset_of_summary "$NOT_RESOLVED_I" + + report_end_of_table +} + +report_resolved_state_in_bzilla() +{ + echo "Table 7 (RESOLVED-Bugzilla-State, $rstateinbzilla)" + echo "" + report_head_of_table + + report_subset_of_summary "$RESOLVED_STATE_IN_BZILLA_S" + report_subset_of_summary "$RESOLVED_STATE_IN_BZILLA_C" + report_subset_of_summary "$RESOLVED_STATE_IN_BZILLA_M" + report_subset_of_summary "$RESOLVED_STATE_IN_BZILLA_U" + report_subset_of_summary "$RESOLVED_STATE_IN_BZILLA_UNDEF" + report_subset_of_summary "$RESOLVED_STATE_IN_BZILLA_I" + + report_end_of_table +} + +report_resolved_state_in_bzilla_but_fail() +{ + echo "Table 8 (RESOLVED-Bugzilla-State BUT FAIL-state, $rstateinbzillafail)" + echo "" + report_head_of_table + + report_subset_of_summary "$RESOLVED_STATE_IN_BZILLA_BUT_FAIL_S" + report_subset_of_summary "$RESOLVED_STATE_IN_BZILLA_BUT_FAIL_C" + report_subset_of_summary "$RESOLVED_STATE_IN_BZILLA_BUT_FAIL_M" + report_subset_of_summary "$RESOLVED_STATE_IN_BZILLA_BUT_FAIL_U" + report_subset_of_summary "$RESOLVED_STATE_IN_BZILLA_BUT_FAIL_UNDEF" + report_subset_of_summary "$RESOLVED_STATE_IN_BZILLA_BUT_FAIL_I" + + report_end_of_table +} + +report_bzilla_summary() +{ + y=$[ ${LBarr[0]} + ${LBarr[1]} + ${LBarr[2]} + ${LBarr[3]}\ + + ${LBarr[4]} + ${LBarr[5]} + ${LBarr[6]} + ${LBarr[7]}\ + + ${LBarr[8]} + ${LBarr[9]} ] + + z=$[ ${KBarr[0]} + ${KBarr[1]} + ${KBarr[2]} + ${KBarr[3]}\ + + ${KBarr[4]} + ${KBarr[5]} + ${KBarr[6]} + ${KBarr[7]}\ + + ${KBarr[8]} + ${KBarr[9]} ] + + x=" " + echo "Table 9 (Summary per-State-Result in BZ)" + echo "" + + echo "State Result | LBZ KBZ" + echo "=============|===================" + echo "NEW | ${LBarr[0]}$x${KBarr[0]}" + echo "ASSI | ${LBarr[1]}$x${KBarr[1]}" + echo "NEED | ${LBarr[2]}$x${KBarr[2]}" + echo "RESO CODE | ${LBarr[3]}$x${KBarr[3]}" + echo "RESO PATC | ${LBarr[4]}$x${KBarr[4]}" + echo "RESO FIXE | ${LBarr[5]}$x${KBarr[5]}" + echo "RESO INVA | ${LBarr[6]}$x${KBarr[6]}" + echo "REJE DOCU | ${LBarr[7]}$x${KBarr[7]}" + echo "CLOS CODE | ${LBarr[8]}$x${KBarr[8]}" + echo "Other | ${LBarr[9]}$x${KBarr[9]}" + echo "-------------|-------------------" + echo "Total | $y$x$z" + echo "=============|===================" + + y=$[ ${LBarr[10]} + ${LBarr[11]} + ${LBarr[12]} ] + z=$[ ${KBarr[10]} + ${KBarr[11]} + ${KBarr[12]} ] + + echo "" + echo "" + echo "" + echo "Table 10 (Summary state of bugs (of BZ))" + echo "" + echo " State | LBZ KBZ" + echo "=============|===================" + echo "REJECTED | ${LBarr[10]}$x${KBarr[10]}" + echo "PASS-state | ${LBarr[11]}$x${KBarr[11]}" + echo "FAIL-state | ${LBarr[12]}$x${KBarr[12]}" + echo "-------------|-------------------" + echo "Total | $y$x$z" + echo "=================================" +} + +report_errors_encountered() +{ + echo "A list of encountered errors:" + echo "" + + if [ -f "$ERROR_OPCODES" ]; then + z=`echo "$AccumulateErrors" | transform_to_single_chars` + report_lines_per_char "$ERROR_OPCODES" "$z" + else + echo "Error: ERROR_OPCODES is not file: <$ERROR_OPCODES>" + fi +} + +# ############################## MAIN ############################### + +date + +DIR0="$1" +DIR1="$2" +ALLBUGS="$3" +KBSUM="$4" +LBSUM="$5" +BUG_STATE_DIR="$6" + +BDEMO_SUM= +KBSUM_PARSED= +LBSUM_PARSED= + +c32n_GL= +c64n_GL= +c32s_GL= +c64s_GL= +l32n_GL= +l64n_GL= +l32s_GL= +l64s_GL= + +UTILSTATUS=0 +SUMMARY= + +# NOT_RESOLVED= +# RESOLVED_INTEGRATED_IN_BZ= +# RESOLVED_NOT_INTEGRATED_IN_BZ= +# RESOLVED_STATE_IN_BZILLA= +# REJECTED_IN_BZILLA= +# REJECTED_NOT_IN_BZILLA= + +LBarr= +KBarr= + +ERROR_OPCODES="$BUG_STATE_DIR/ERROR_OPCODES" + + +# Opcodes of errors +# REJECTED_ERR=1 +# COMP_ERR=9 + + +# Arrays for summary information for Interpreter, iASL, Simulation, Utilities, Specs. + +StINT= +StASL= +StSIM= +StUTIL= +StSPEC= + + +# Prepare the summary table of bdemo summary files of two multi-results: + +echo "Preparing the summary table of bdemo summary files of two multi-results:" +echo " the first : $DIR0" +echo " the second : $DIR1" +echo " ALLBUGS : $ALLBUGS" +echo " kernel bugzilla Bug List file : $KBSUM" +echo " local bugzilla Bug List file : $LBSUM" + +# Initialization + +INIT_MAX_BDEMO + +system0= +system1= +if [ -d "$DIR0" ]; then + COMMONLOGFILE="$DIR0/Summary" + if [ ! -f "$COMMONLOGFILE" ]; then + do_exit 1 "COMMONLOGFILE is not file: <$COMMONLOGFILE>" + else + system0=`get_name_of_system "$COMMONLOGFILE"` + fi +fi +if [ -d "$DIR1" ]; then + COMMONLOGFILE="$DIR1/Summary" + if [ ! -f "$COMMONLOGFILE" ]; then + do_exit 1 "COMMONLOGFILE is not file: <$COMMONLOGFILE>" + else + system1=`get_name_of_system "$COMMONLOGFILE"` + fi +fi + +if [ ! -f "$KBSUM" ]; then + do_exit 1 "KBSUM is not file: <$KBSUM>" +fi + +if [ ! -f "$LBSUM" ]; then + do_exit 1 "LBSUM is not file: <$LBSUM>" +fi + +if [ -d "$DIR0" ]; then + KBSUM_PARSED="$DIR0/__KERNEL_ASLTS_BUG_LIST" + LBSUM_PARSED="$DIR0/__LOCAL_ASLTS_BUG_LIST" +elif [ -d "$DIR1" ]; then + KBSUM_PARSED="$DIR1/__KERNEL_ASLTS_BUG_LIST" + LBSUM_PARSED="$DIR1/__LOCAL_ASLTS_BUG_LIST" +fi + +if [ "x$KBSUM_PARSED" == x -o "x$LBSUM_PARSED" == x ]; then + do_exit 1 "Failed to initialize KBSUM_PARSED & LBSUM_PARSED" +fi + +if [ ! -f "$ALLBUGS" ]; then + do_exit 1 "ALLBUGS is not file: <$ALLBUGS>" +fi + +init_bdemo_sum + +# Parse the Bug List files (kernel and local bugzilla) + +echo "Parse the Bug List files (kernel and local bugzilla)" +echo " kernel bugzilla Bug List file : $KBSUM" +echo " local bugzilla Bug List file : $LBSUM" + +parsebuglist "$KBSUM" > "$KBSUM_PARSED" +if [ $? -ne 0 ]; then + do_exit 1 "Failed to parse KBSUM: <$KBSUM>" +fi + +parsebuglist "$LBSUM" > "$LBSUM_PARSED" +if [ $? -ne 0 ]; then + do_exit 1 "Failed to parse LBSUM: <$LBSUM>" +fi + +# Concatenate the summary files of bdemos of two multi-results + +bdemosconc "$DIR0" "$DIR1" + +if [ ! -f "$BDEMO_SUM" ]; then + do_exit 1 "BDEMO_SUM is not file: <$BDEMO_SUM>" +fi + +echo "" +echo "" +echo "The tables below represent the current state of all bugs encountered by ASLTS project." +echo "" +echo "The underlying systems the aslts tests were run:" +echo "" +echo " the first <$system0>" +echo " the second <$system1>" +echo "" +echo "The aslts tests multi-results analyzed:" +echo "" +echo " the first multi-result directory : <$DIR0>" +echo " the second multi-result directory : <$DIR1>" +echo "" + + +report_state_of_bugs + +if [ 0 -eq 1 ]; then + echo "" + status_calculation_comment + echo "" + status_entries_comment +fi + +echo "" + +date + +exit $UTILSTATUS + + + diff --git a/tests/aslts/bin/bugstate/parsebuglist b/tests/aslts/bin/bugstate/parsebuglist new file mode 100644 index 0000000..cba3dac --- /dev/null +++ b/tests/aslts/bin/bugstate/parsebuglist @@ -0,0 +1,134 @@ +#!/bin/bash +# +# @echo off +# +# Parse the Bug List output file (ID State Result Component) +# +# Paremeters: +# +# arg1 - pathname of file with the Bug List + +# Includes + +. common +. settings + +# ID State Result Component +# +# State:=[NEW|RESO|CLOS|ASSI|REJE|NEED] +# Result:=[CODE|PATC|DOCU|FIXE|INVA] +# +# State entries: +# +# NEW == NEW +# RESO == RESOLVED +# CLOS == CLOSED +# ASSI == ASSIGNED +# REJE == REJECTED +# NEED == NEEDINFO +# +# Result entries: +# +# FIXE == FIXED +# INVA == INVALID +# CODE == CODE_FIX +# PATC == PATCH_ALREADY_AVAILABLE +# DOCU == DOCUMENTED + +get_summary() +{ +# echo "=====================$s0:$s1:$s2:$s3:$s4:$s5:$line" + + ID="$s0" + State="$s1" + Result= + Component= + + if [ "$State" == RESO\ + -o "$State" == CLOS\ + -o "$State" == REJE ]; then + Result="$s2" + if [ "x$s4" == x ]; then + Component="$s3" + else + Component="$s3 $s4" + fi + else + if [ "$State" != NEW\ + -a "$State" != NEED\ + -a "$State" != ASSI ]; then + echo "ERROR 0: get_summary, <$State>" + CountERR=$[ $CountERR + 1 ] + else + if [ "x$s3" == x ]; then + Component="$s2" + else + Component="$s2 $s3" + fi + fi + fi + + echo "$ID:$State: Exp $Result:$Component:" +} + +# arg1 - pathname of file with the Bug List +do_summary() +{ + started= + + OLD_IFS=$IFS + IFS=" " + + cat "$1" |\ + while [ 1 ] + do + read s0 s1 s2 s3 s4 s5 line + if [ $? -ne 0 ] ; then +# echo "Number of the table inconsistency errors: CountERR = $CountERR" + if [ "$CountERR" != 0 ]; then + return 1 + fi + break + fi + + if [ "$s1" == bugs -a "$s2" == "found." ]; then + if [ "$started" == yes ]; then + started=no + else + started=yes + fi + elif [ "$started" == yes ]; then + get_summary + fi + done + + ret=$? + + IFS=$OLD_IFS + + if [ $ret -ne 0 ]; then + return 1 + fi +} + +# ############################## MAIN ############################### + +PATHNAME="$1" +UTILSTATUS=0 +SUMMARY= +CountERR=0 + +# echo "Parse the Bug List output file:" +# echo " $PATHNAME" + +if [ ! -f "$PATHNAME" ]; then + do_exit 1 "It is not file: <$PATHNAME>" +fi + +do_summary "$PATHNAME" +if [ $? -ne 0 ]; then + do_exit 1 "parsebuglist failed" +else + exit 0 +fi + diff --git a/tests/aslts/bin/common b/tests/aslts/bin/common new file mode 100755 index 0000000..a8c39f7 --- /dev/null +++ b/tests/aslts/bin/common @@ -0,0 +1,684 @@ +#!/bin/bash +# +# @echo off +# +# The common use data and routines + +# Report message +msg() +{ + prog_name=`basename "$0"` + echo "$prog_name: $1" +} + +# Report error message +msgE() +{ + prog_name=`basename "$0"` + echo "$prog_name[ERROR]: $1" +} + +# Exit the program +do_exit() +{ + if [ $1 -eq 0 ]; then + if [ "$2" != "" ]; then + msg "$2" + fi + exit 0 + else + msgE "$2" + exit 1 + fi +} + +# Make directory +# arg1 - pathname of directory +make_dir() +{ + if [ ! -d "$1" ]; then + mkdir "$2" + if [ $? -ne 0 ]; then + do_exit 1 "Failed to make $3 directory" + fi + fi +} + +# Abort the program if arg1 is not a directory +# arg1 - path name of directory +check_dir() +{ + if [ ! -d "$1" ]; then + do_exit 1 "Not a directory: $1" + fi +} + +# Invalid number of parameters reaction +bad_param_number() +{ + do_exit 1 "Invalid number of parameters for command $1: applied $2, expected $3" +} + +# Print out a list of lexems +echo_list() +{ + echo "" + echo " $1:" + echo "" + + for lexem in $2 + do + echo " $lexem" + done +} + +# Return separated by ':' sorted last and previous +# elements of directory. +# arg1 - directory +get_two_last_dirs() +{ + local path previous last + + ls "$1" | sort -r |\ + while [ 1 ] + do + read filename + if [ $? -ne 0 ] ; then + echo ":$last:$previous:" + break + fi + path="$1/$filename" + if [ -d "$path" ]; then + if [ -z "$last" ]; then + last="$filename" + elif [ -z "$previous" ]; then + previous="$filename" + fi + fi + if [ -n "$previous" -a -n "$last" ]; then + echo ":$last:$previous:" + break + fi + done +} + +# Return string describing mode of run +# arg1 - bitmap of mode +# arg2 - what to print: +# 0 - part of pathname +# 1 - name of mode +# 2 - BITMODE +# 3 - SLMODE +get_mode_string() +{ + local x SLMODE BITMODE + + eval "x=$[ $1 & $FLAGSLACK ]" + if [ $x == 0 ]; then + SLMODE="norm" + else + SLMODE="slack" + fi + + eval "x=$[ $1 & $FLAG64 ]" + if [ $x == 0 ]; then + BITMODE=32 + else + BITMODE=64 + fi + + if [ $2 == 0 ]; then + echo "$SLMODE/$BITMODE" + elif [ $2 == 1 ]; then + echo "$BITMODE-bit $SLMODE mode" + elif [ $2 == 2 ]; then + echo "$BITMODE" + elif [ $2 == 3 ]; then + echo "$SLMODE" + fi +} + +# Return string describing mode of run +# arg1 - bitmap of mode +get_mode_id() +{ + local x SLMODE BITMODE + + eval "x=$[ $1 & $FLAGSLACK ]" + if [ $x == 0 ]; then + SLMODE="n" + else + SLMODE="s" + fi + + eval "x=$[ $1 & $FLAG64 ]" + if [ $x == 0 ]; then + BITMODE=32 + else + BITMODE=64 + fi + + echo "$BITMODE:$SLMODE" +} + +# Echo the name of collection +# arg1 - opcode of collection +get_collection_name() +{ + local dirname + + case $1 in + $FUNC_COLL_OP) dirname=functional;; + $CPLX_COLL_OP) dirname=complex;; + $EXCP_COLL_OP) dirname=exceptions;; + $BDEMO_COLL_OP) dirname=bdemo;; + $SERV_COLL_OP) dirname=service;; + $MT_COLL_OP) dirname=mt;; + $MS_IDENT_COLL_OP) dirname=Identity2MS;; + $IMPL_COLL_OP) dirname=IMPL;; + + *) dirname="?" + esac + + echo "$dirname" +} + +# Return non-zero when the string is a name of some test collection +# arg1 - string (to be the name of some test collection) +is_collection_name() +{ + echo $ALL_AVAILABLE_COLLS | grep $1 > /dev/null + return $? +} + +# Return opcode of the test collection which +# contains the test case named as string parameter, +# COLLS_NUM, if no one collection contains such +# test case. +# arg1 - string (to be the name of some test case) +get_collection_opcode() +{ + local rval=0 + + echo $FUNC_COLL | grep $1 > /dev/null + if [ $? -eq 0 ]; then + return $FUNC_COLL_OP + fi + + echo $CPLX_COLL | grep $1 > /dev/null + if [ $? -eq 0 ]; then + return $CPLX_COLL_OP + fi + + echo $EXCP_COLL | grep $1 > /dev/null + if [ $? -eq 0 ]; then + return $EXCP_COLL_OP + fi + + echo $BDEMO_COLL | grep $1 > /dev/null + if [ $? -eq 0 ]; then + return $BDEMO_COLL_OP + fi + + echo $SERV_COLL | grep $1 > /dev/null + if [ $? -eq 0 ]; then + return $SERV_COLL_OP + fi + + echo $MT_COLL | grep $1 > /dev/null + if [ $? -eq 0 ]; then + return $MT_COLL_OP + fi + + echo $MS_IDENT_COLL | grep $1 > /dev/null + if [ $? -eq 0 ]; then + return $MS_IDENT_COLL_OP + fi + + echo $IMPL_COLL | grep $1 > /dev/null + if [ $? -eq 0 ]; then + return $IMPL_COLL_OP + fi + + return $COLLS_NUM +} + +# Mark - test collection was involved in processing +# arg1 - name of test case +mark_collection_flag() +{ + local ret + + get_collection_opcode "$1" + ret=$? + + case $ret in + $FUNC_COLL_OP) FUNC_COLL_FLAG=1;; + $CPLX_COLL_OP) CPLX_COLL_FLAG=1;; + $EXCP_COLL_OP) EXCP_COLL_FLAG=1;; + $BDEMO_COLL_OP) BDEMO_COLL_FLAG=1;; + $SERV_COLL_OP) SERV_COLL_FLAG=1;; + $MT_COLL_OP) MT_COLL_FLAG=1;; + $MS_IDENT_COLL_OP) MS_IDENT_COLL_FLAG=1;; + $IMPL_COLL_OP) IMPL_COLL_FLAG=1;; + *) do_exit 1 "Not the name of any test case: $1" + esac +} + +# Get ' ' blank-separated collections involved total +get_collections_total() +{ + local count=0 msg=" " + + if [ $FUNC_COLL_FLAG != 0 ]; then + count=$[ $count + 1 ] + msg="$msg `get_collection_name $FUNC_COLL_OP`" + fi + if [ $CPLX_COLL_FLAG != 0 ]; then + count=$[ $count + 1 ] + msg="$msg `get_collection_name $CPLX_COLL_OP`" + fi + if [ $EXCP_COLL_FLAG != 0 ]; then + count=$[ $count + 1 ] + msg="$msg `get_collection_name $EXCP_COLL_OP`" + fi + if [ $BDEMO_COLL_FLAG != 0 ]; then + count=$[ $count + 1 ] + msg="$msg `get_collection_name $BDEMO_COLL_OP`" + fi + if [ $SERV_COLL_FLAG != 0 ]; then + count=$[ $count + 1 ] + msg="$msg `get_collection_name $SERV_COLL_OP`" + fi + if [ $MT_COLL_FLAG != 0 ]; then + count=$[ $count + 1 ] + msg="$msg `get_collection_name $MT_COLL_OP`" + fi + if [ $MS_IDENT_COLL_FLAG != 0 ]; then + count=$[ $count + 1 ] + msg="$msg `get_collection_name $MS_IDENT_COLL_OP`" + fi + if [ $IMPL_COLL_FLAG != 0 ]; then + count=$[ $count + 1 ] + msg="$msg `get_collection_name $IMPL_COLL_OP`" + fi + echo "$count:$msg:" +} + +# Return the pathname of the collections root directory +# arg1 - root directory of aslts +get_collections_root_dir() +{ + echo "$1/src/runtime/collections" +} + +# Return the pathname of the specified test collection +# arg1 - root directory of aslts +# arg2 - opcode of test collection +get_collection_dir() +{ + local dir + + dir="`get_collections_root_dir "$1"`/`get_collection_name $2`" + + echo "$dir" +} + +# Get pathname of test case +# arg1 - root directory of aslts +# arg2 - opcode of test collection +# arg3 - name of test case +get_test_case_dir() +{ + local x path + + word_is_in_line "$OPER_TCASES" "$3" " " + + + if [ $? -ne 0 ]; then + path="`get_collection_dir "$1" $2`/operand/tests/$3" + else + x=`echo $RES_TCASES | grep $3` + if [ $? -eq 0 ]; then + path="`get_collection_dir "$1" $2`/result/tests/$3" + else + if [ $3 == exc_operand1 -o $3 == exc_operand2 ]; then + path="`get_collection_dir "$1" $2`/exc_operand/$3" + elif [ $3 == exc_result1 -o $3 == exc_result2 ]; then + path="`get_collection_dir "$1" $2`/exc_result/$3" + elif [ $3 == dynobj ]; then + path="`get_collection_dir "$1" $2`/ACPICA/tests/$3" + elif [ $3 == bdemo -o $3 == bdemof ]; then + path="`get_collection_dir "$1" $2`/ACPICA/$3" + elif [[ $3 == mt_* ]]; then + x=`echo $3 | sed 's/mt_//'g` + path="`get_collection_dir "$1" $2`/$x" + else + path="`get_collection_dir "$1" $2`/$3" + fi + fi + fi + + echo "$path" +} + +# Return the name of underlying system the tests were run on +# +# arg0 - pathname of Summary file +get_name_of_system() +{ + OLD_IFS=$IFS + IFS=" " + + cat "$1" |\ + while [ 1 ] + do + read mark system line + if [ $? -ne 0 ] ; then + echo "?" + break + fi + + if [ "$mark" == ASLTS_SYSTEM ]; then + echo "$system" + break + fi + done + + IFS=$OLD_IFS +} + +# Get element of line of file. +# +# Each line of file arg1 consists of elements separated by symbol arg2. +# The first element of line is marker. Routine seeks for the line identified +# by the given marker (arg3) and returns arg4-th element of that line. +# +# arg1 - pathname of file (line of file |el0|el1|...; | - any symbol) +# arg2 - separator +# arg3 - marker of line to fit +# arg4 - element of line to be returned (now maximum is 4 elements - 0,1,2,3) +get_element_of_line() +{ + OLD_IFS=$IFS + IFS="$2" + + cat "$1" |\ + while [ 1 ] + do + read marker s0 s1 s2 s3 line + if [ $? -ne 0 ] ; then + break + fi + if [ "$marker" == "$3" ] ; then + case $4 in + 0) echo "$s0" ;; + 1) echo "$s1" ;; + 2) echo "$s2" ;; + 3) echo "$s3" ;; + *) echo "???" + esac + fi + done + + IFS=$OLD_IFS +} + +# Split the input file, each char is transformed to one line +split_line_to_chars() +{ + local x index=1 + + while [ 1 ] + do + x=`echo "$1" | cut -c "$index"` + if [ "x$x" == x ]; then + break + fi + echo "$x" + ((index=index+1)) + done +} + +# Transform input to a line where each char occurs only once, +# blanks are deleted. +# +# Note: works very slowly. +# +transform_to_single_chars() +{ + local x line str + + str="qwertyuiopasdfghjklzxcvbnm0123456789QWERTYUIOPASDFGHJKLZXCVBNM\*" + + while [ 1 ] + do + read line + if [ $? -ne 0 ] ; then + break + fi + x=`echo $line | sed 's/ //'g` + split_line_to_chars "$x" + done | sort | paste -s -d " " | sed 's/ //'g | tr -s "$str" +} + +# Print out all lines of file arg1 corresponding to the +# chars of string arg2: line == : . +report_lines_per_char() +{ + index=1 + + while [ 1 ] + do + x=`echo "$2" | cut -c "$index"` + if [ "x$x" == x ]; then + break + fi + y=`get_element_of_line "$1" ":" "$x" 0` + if [ "x$y" != x ]; then + echo "$x -$y" + elif [ "$x" != " " ]; then + echo "$x - ???" + fi + ((index=index+1)) + done +} + +# arg1 - line +# arg2 - word +# arg3 - delimiter +word_is_in_line() +{ + local rval=0 + + OLD_IFS=$IFS + IFS="$3" + + echo "$1" | awk '{ for (i=1; i<=NF; i++) { print $i}}' |\ + while [ 1 ] + do + read line + if [ $? -ne 0 ]; then + return 0 + fi + if [ "$line" == "$2" ]; then + return 1 + fi + done + rval=$? + + IFS=$OLD_IFS + + return $rval +} + +# Convert the centisecond unit time to string {[h:]m:s.c} +# arg1 - centisecond unit time +cent_units_to_cent_str() +{ + local rval + local TIME_STRING= + + RAWSECONDS=$[ $1 / 100 ] + RAWCENTISECS=$[ $1 - $RAWSECONDS * 100 ] + RAWMINUTES=$[ $RAWSECONDS / 60 ] + RAWSECONDS=$[ $RAWSECONDS - $RAWMINUTES * 60 ] + RAWHOURS=$[ $RAWMINUTES / 60 ] + RAWMINUTES=$[ $RAWMINUTES - $RAWHOURS * 60 ] + + if [ $RAWHOURS -le 9 ]; then + if [ $RAWHOURS -ne 0 ]; then + TIME_STRING=0$RAWHOURS: + fi + else + TIME_STRING=$RAWHOURS: + fi + + if [ $RAWMINUTES -le 9 ]; then + TIME_STRING=${TIME_STRING}0$RAWMINUTES: + else + TIME_STRING=$TIME_STRING$RAWMINUTES: + fi + + if [ $RAWSECONDS -le 9 ]; then + TIME_STRING=${TIME_STRING}0$RAWSECONDS + else + TIME_STRING=$TIME_STRING$RAWSECONDS + fi + + if [ $RAWCENTISECS -le 9 ]; then + TIME_STRING=${TIME_STRING}.0$RAWCENTISECS + else + TIME_STRING=${TIME_STRING}.$RAWCENTISECS + fi + + eval "rval=$TIME_STRING" + + echo "$rval" +} + +# Convert time to centisecond units +# +# Layout of time is one of these: +# 1) hours:mins:secs.centisecs +# 2) mins:secs.centisecs +# +# arg1 - time 1 +# +# Return: +# 0 - success +# otherwise - bad layout +# +convert_string_to_centisecond_units() +{ + local n0=0 h0=00 m0=00 s0=00 csec0=00 sec0=0 total0=0 + + n0=`echo "$1" | awk -F: '{ print NF}'` + + if [ "$n0" -eq 2 ]; then + m0=`echo "$1" | awk -F: '{ print $1}'` + x=`echo "$1" | awk -F: '{ print $2}'` + s0=`echo "$x" | awk -F"." '{ print $1}'` + csec0=`echo "$x" | awk -F"." '{ print $2}'` + if [ x"$csec0" == x ]; then + return 1 + fi + elif [ "$n0" -eq 3 ]; then + h0=`echo "$1" | awk -F: '{ print $1}'` + m0=`echo "$1" | awk -F: '{ print $2}'` + x=`echo "$1" | awk -F: '{ print $3}'` + s0=`echo "$x" | awk -F"." '{ print $1}'` + csec0=`echo "$x" | awk -F"." '{ print $2}'` + if [ x"$csec0" == x ]; then + return 2 + fi + else + return 3 + fi + + sec0=$[ (1$s0 - 100) + (1$m0 - 100) * 60 + (1$h0 - 100) * 3600 ] + total0=$[ (1$csec0 - 100) + $sec0 * 100 ] + + echo "$total0" + + return 0 +} + +# Compare two times given by strings +# +# Layout of time is one of these: +# 1) hours:mins:secs.centisecs +# 2) mins:secs.centisecs +# +# arg1 - time 1 +# arg2 - time 2 +# +# Return: +# 0 - T1 == T2 +# 1 - T1 < T2 +# 2 - T1 > T2 +# 3 - bad layout of T1 +# 4 - bad layout of T2 +# +diff_of_str_times() +{ + local total0=0 + local total1=0 + local rval=0 diff01 diff01str + + total0=`convert_string_to_centisecond_units "$1"` + if [ $? -ne 0 ]; then + return 3 + fi + + total1=`convert_string_to_centisecond_units "$2"` + if [ $? -ne 0 ]; then + return 4 + fi + + if [ "$total0" -gt "$total1" ]; then + diff01=$[ $total0 - $total1 ] + rval=2 + elif [ "$total0" -eq "$total1" ]; then + diff01=0 + rval=0 + else + diff01=$[ $total1 - $total0 ] + rval=1 + fi + + diff01str=`cent_units_to_cent_str $diff01` + + echo "$total0|$total1|$diff01|$diff01str" + + return $rval +} + +# ############################## MAIN ############################### + +# Initialize the common variables + +# Constants + +# Bitmap: 1 - 64, 2 - slack +FLAG64=1 +FLAGSLACK=2 +NORM32=0 +NORM64=1 +SLACK32=2 +SLACK64=3 + +# Opcodes of the test collections (according to aslts) + +ASL_COLL_OP=0 +FUNC_COLL_OP=1 +CPLX_COLL_OP=2 +EXCP_COLL_OP=3 +BDEMO_COLL_OP=4 +SERV_COLL_OP=5 +MT_COLL_OP=6 +MS_IDENT_COLL_OP=7 +IMPL_COLL_OP=8 +RUNTIME_COLLS_NUM=8 +COLLS_NUM=9 + diff --git a/tests/aslts/bin/diffproc b/tests/aslts/bin/diffproc new file mode 100755 index 0000000..96b8621 --- /dev/null +++ b/tests/aslts/bin/diffproc @@ -0,0 +1,539 @@ +#!/bin/bash +# +# @echo off +# +# Compare results of two runs of tests +# +# (for comments see Do and asltsrun utilities). + +# Compare the summary information of two runs +# arg1 - the first run test status lines file +# arg2 - the second run test status lines file +cmp_two_runs() +{ + local ret + + echo "diff old: $1 -- new: $2" + diff -s "$1" "$2" + ret=$? + echo "" + return $ret +} + +# Chose line of file by head +# arg1 - file pathname +# arg2 - delimiter +# arg3 - string, the first element of line +chose_line_of_file() +{ + cat "$1" |\ + while [ 1 ] + do + read line + if [ $? -ne 0 ] ; then + break + fi + + tcasename=`echo "$line" | awk -F"$2" '{print $2}'` + if [ "$tcasename" == "$3" ]; then + echo "$line" + return 1 + fi + done +} + +# Compare and report two run times +# +# arg1 - run time 1 +# arg2 - run time 2 +# +# Return: +# 0 - T1 == T2 +# 1 - T1 < T2 +# 2 - T1 > T2 +# 3 - bad layout of T1 +# 4 - bad layout of T2 +report_run_time_cmp() +{ + local rval=0 str ret t0 t1 + local diff01 diff01str + + + str=`diff_of_str_times "$1" "$2"` + ret=$? + + if [ $ret -gt 2 ] ; then + echo "report_run_time_cmp: bad layout, <$1>, <$2>" + return 3 + fi + + t0=`echo "$str" | awk -F"|" '{print $1}'` + t1=`echo "$str" | awk -F"|" '{print $2}'` + diff01=`echo "$str" | awk -F"|" '{print $3}'` + diff01str=`echo "$str" | awk -F"|" '{print $4}'` + + if [ $ret -eq 2 ] ; then + # 2 means arg1 is greater than arg2 + percent=$[ ($diff01 * 100) / $t1 ] + echo "WARNING, TOTAL, time of tests run grown from $2 to $1, (+$diff01str, $percent% of $2)" + rval=2 + elif [ $ret -eq 1 ] ; then + # 1 means arg1 is less than arg2 + percent=$[ ($diff01 * 100) / $t0 ] + echo "INFO, TOTAL, time of tests run reduced from "$2" to "$1", (-$diff01str, $percent% of $2)" + rval=1 + fi + + return $rval +} + +# Compare and report two memory statistics +# arg1 - the test case name +# arg2 - component +# arg3 - the value on the first run +# arg4 - the value on the second run +report_mem_stat_cmp() +{ + local rval=0 x percent + + if [[ $4 -eq 0 ]]; then + return 0 + fi + +# +# We are only interested in memory differences that are greater than 10% +# + if [[ $3 -gt $4 ]]; then + x=$[ $3 - $4 ] + percent=$[ ($x * 100) / $4 ] + + if [[ $percent -lt 10 ]]; then + return 1 + fi + echo "WARNING, $1, memory use grown ($2): $3, $4, (+$x, $percent% of $4)" + rval=1 + elif [[ $3 -lt $4 ]]; then + x=$[ $4 - $3 ] + percent=$[ ($x * 100) / $4 ] + + if [[ $percent -lt 10 ]]; then + return 2 + fi + echo "INFO, $1, memory use reduced ($2): $3, $4, (-$x, $percent% of $4)" + rval=2 + fi + return $rval +} + +# Compare and report two exceptions statistics +# arg1 - the test case name +# arg2 - component +# arg3 - the value on the first run +# arg4 - the value on the second run +report_exceptions_stat_cmp() +{ + local rval=0 + + if [[ $3 -gt $4 ]]; then + echo "WARNING, $1, exceptions occurance number grown ($2): $3, $4" + rval=1 + elif [[ $3 -lt $4 ]]; then + echo "INFO, $1, exceptions occurance number reduced ($2): $3, $4" + rval=2 + fi + return $rval +} + +# Compare status lines of the same test case of two different runs +# arg1 - the first run test case status line +# arg2 - the second run test case status line +# arg3 - the test case name +cmp_two_status_lines() +{ + local rval=0 + + local memtotal00 + local outstand00 + local outstand01 + local max00 max01 max02 max03 max04 max05 + local out00 out01 out02 out03 out04 out05 + + local memtotal10 + local outstand10 + local outstand11 + local max10 max11 max12 max13 max14 max15 + local out10 out11 out12 out13 out14 out15 + + local totalmem0 + local totaloutstand00 + local totaltime0 + local totaloutstand01 + + local totalmem1 + local totaloutstand10 + local totaltime1 + local totaloutstand11 + + local exceptionsnum0 + local exceptionsnum1 + + if [ "$3" == TOTAL ]; then + totaloutstand00=`echo "$1" | awk -F"|" '{print $3}'` + totalmem0=`echo "$1" | awk -F"|" '{print $4}'` + totaltime0=`echo "$1" | awk -F"|" '{print $5}'` + totaloutstand01=`echo "$1" | awk -F"|" '{print $6}'` + + totaloutstand10=`echo "$2" | awk -F"|" '{print $3}'` + totalmem1=`echo "$2" | awk -F"|" '{print $4}'` + totaltime1=`echo "$2" | awk -F"|" '{print $5}'` + totaloutstand11=`echo "$2" | awk -F"|" '{print $6}'` + + if [ x$totaloutstand01 == x ]; then + # For obsolete layout + return 0 + fi + + if [ x$totaloutstand11 == x ]; then + # For obsolete layout + return 0 + fi + + report_run_time_cmp "$totaltime0" "$totaltime1" + if [ $? -eq 2 ]; then + rval=1 + fi + + report_mem_stat_cmp "$3" total_memory $totalmem0 $totalmem1 + if [ $? -eq 1 ]; then + rval=1 + fi + + report_mem_stat_cmp "$3" total_outstand0 $totaloutstand00 $totaloutstand10 + if [ $? -eq 1 ]; then + rval=1 + fi + + report_mem_stat_cmp "$3" total_outstand1 $totaloutstand01 $totaloutstand11 + if [ $? -eq 1 ]; then + rval=1 + fi + + return $rval + fi + + memtotal00=`echo "$1" | awk -F"|" '{print $12}'` + if [ x$memtotal00 == x ]; then + # For obsolete layout + return 0 + fi + + memtotal10=`echo "$2" | awk -F"|" '{print $12}'` + if [ x$memtotal10 == x ]; then + # For obsolete layout + return 0 + fi + + if [ "$DO_COMPARE_OF_EXCEPTIONS" == "yes" ]; then + exceptionsnum0=`echo "$1" | awk -F"|" '{print $28}'` + exceptionsnum1=`echo "$2" | awk -F"|" '{print $28}'` + report_exceptions_stat_cmp "$3" exceptionsnum $exceptionsnum0 $exceptionsnum1 + if [ $? -eq 1 ]; then + rval=1 + fi + fi + + if [ "$DO_COMPARE_OF_TEST_CASES" == "yes" ]; then + + outstand00=`echo "$1" | awk -F"|" '{print $10}'` + max00=`echo "$1" | awk -F"|" '{print $13}'` + max01=`echo "$1" | awk -F"|" '{print $14}'` + max02=`echo "$1" | awk -F"|" '{print $15}'` + max03=`echo "$1" | awk -F"|" '{print $16}'` + max04=`echo "$1" | awk -F"|" '{print $17}'` + max05=`echo "$1" | awk -F"|" '{print $18}'` + out00=`echo "$1" | awk -F"|" '{print $19}'` + out01=`echo "$1" | awk -F"|" '{print $20}'` + out02=`echo "$1" | awk -F"|" '{print $21}'` + out03=`echo "$1" | awk -F"|" '{print $22}'` + out04=`echo "$1" | awk -F"|" '{print $23}'` + out05=`echo "$1" | awk -F"|" '{print $24}'` + outstand01=`echo "$1" | awk -F"|" '{print $25}'` + + outstand10=`echo "$2" | awk -F"|" '{print $10}'` + max10=`echo "$2" | awk -F"|" '{print $13}'` + max11=`echo "$2" | awk -F"|" '{print $14}'` + max12=`echo "$2" | awk -F"|" '{print $15}'` + max13=`echo "$2" | awk -F"|" '{print $16}'` + max14=`echo "$2" | awk -F"|" '{print $17}'` + max15=`echo "$2" | awk -F"|" '{print $18}'` + out10=`echo "$2" | awk -F"|" '{print $19}'` + out11=`echo "$2" | awk -F"|" '{print $20}'` + out12=`echo "$2" | awk -F"|" '{print $21}'` + out13=`echo "$2" | awk -F"|" '{print $22}'` + out14=`echo "$2" | awk -F"|" '{print $23}'` + out15=`echo "$2" | awk -F"|" '{print $24}'` + outstand11=`echo "$2" | awk -F"|" '{print $25}'` + + + report_mem_stat_cmp "$3" memtotal $memtotal00 $memtotal10 + if [ $? -eq 1 ]; then + rval=1 + fi + report_mem_stat_cmp "$3" outstand0 $outstand00 $outstand10 + if [ $? -eq 1 ]; then + rval=1 + fi + report_mem_stat_cmp "$3" outstand1 $outstand01 $outstand11 + if [ $? -eq 1 ]; then + rval=1 + fi + report_mem_stat_cmp "$3" max0 $max00 $max10 + if [ $? -eq 1 ]; then + rval=1 + fi + report_mem_stat_cmp "$3" max1 $max01 $max11 + if [ $? -eq 1 ]; then + rval=1 + fi + report_mem_stat_cmp "$3" max2 $max02 $max12 + if [ $? -eq 1 ]; then + rval=1 + fi + report_mem_stat_cmp "$3" max3 $max03 $max13 + if [ $? -eq 1 ]; then + rval=1 + fi + report_mem_stat_cmp "$3" max4 $max04 $max14 + if [ $? -eq 1 ]; then + rval=1 + fi + report_mem_stat_cmp "$3" max5 $max05 $max15 + if [ $? -eq 1 ]; then + rval=1 + fi + + report_mem_stat_cmp "$3" out0 $out00 $out10 + if [ $? -eq 1 ]; then + rval=1 + fi + report_mem_stat_cmp "$3" out1 $out01 $out11 + if [ $? -eq 1 ]; then + rval=1 + fi + report_mem_stat_cmp "$3" out2 $out02 $out12 + if [ $? -eq 1 ]; then + rval=1 + fi + report_mem_stat_cmp "$3" out3 $out03 $out13 + if [ $? -eq 1 ]; then + rval=1 + fi + report_mem_stat_cmp "$3" out4 $out04 $out14 + if [ $? -eq 1 ]; then + rval=1 + fi + report_mem_stat_cmp "$3" out5 $out05 $out15 + if [ $? -eq 1 ]; then + rval=1 + fi + + fi + + + return $rval +} + +# Unpack file into array, +# element of array is a line of file. +# arg1 - path name of file +unpack_file_into_array() +{ + x=`cat "$1" | sort |\ + while [ 1 ] + do + read line + if [ $? -ne 0 ] ; then + break + fi + echo "$line" + done` + echo "$x" +} + +# Compare the memory consumption statistics of two runs +# arg1 - the first run test cases status lines file +# arg2 - the second run test cases status lines file +cmp_memory_of_two_runs() +{ + local rval=0 index=0 index_of_last_found=0 length=0 + + ARRAY= + + file1=`unpack_file_into_array "$1"` + file2=`unpack_file_into_array "$2"` + + # Put second input into array + + for line in $file2 + do + if [ x"$line" == x ]; then + continue + fi + ARRAY[$index]="$line" + index=$[ $index + 1 ] + done + + length=$index + + if [ "$length" -eq 0 ]; then + echo "Empty file <$2>" + return 0 + fi + + # Run through the first input and check equivalent line from the + # array of second input, do one pass only through both inputs (they + # are sorted identically). + + for i in $file1 + do + tcasename0=`echo "$i" | awk -F"|" '{print $2}'` + + if [ x"$tcasename0" == x ]; then + continue + fi + + index=$index_of_last_found + + while [ 1 ] + do + if [ "$index" -ge "$length" ]; then + break + fi + + line="${ARRAY[$index]}" + index=$[ $index + 1 ] + tcasename1=`echo "$line" | awk -F"|" '{print $2}'` + if [ "$tcasename1" == "$tcasename0" ]; then + index_of_last_found=$index + cmp_two_status_lines "$i" "$line" "$tcasename0" + if [ $? -ne 0 ]; then + rval=1 + fi + if [ "$DO_COMPARE_TOTAL_ONLY" == yes -a "$tcasename0" == TOTAL ]; then + echo "!!!!!!!, REDUCED MODE OF STAT CMP: only TOTAL statistics was compared!" + return $rval + fi + + break + fi + done + done + + return $rval +} + +# Determine the test status lines files +# corresponding to the first and the second +# runs and initiate comparing of them. +# arg1 - second multi-result directory +# arg2 - second bitmap of mode +# arg3 - first multi-result directory +# arg4 - first bitmap of mode +do_compare_two_runs() +{ + local rval=100 ret mark path0 path1 exists0 exists1 path2 path3 + local modepart0 modename0 + local modepart1 modename1 + + modepart0=`get_mode_string $2 0` + modename0=`get_mode_string $2 1` + modepart1=`get_mode_string $4 0` + modename1=`get_mode_string $4 1` + + path0="$1/$modepart0/__STATUS_OF_TESTS" + path1="$3/$modepart1/__STATUS_OF_TESTS" + + echo "" + mark="================" + echo "$mark Comparing results of <$modename0> and <$modename1>:" + + exists0=0 + exists1=0 + ret=1 + + if [ -f "$path0" ]; then + exists0=1 + fi + if [ -f "$path1" ]; then + exists1=1 + fi + + if [ $exists0 == 1 -a $exists1 == 1 ]; then + cmp_two_runs "$path0" "$path1" + ret=$? + + if [ "$DO_MEMSTAT" == "yes" ]; then + path2="$3/$modepart1/__STATUS_OF_TEST_CASES" + path3="$1/$modepart0/__STATUS_OF_TEST_CASES" + cmp_memory_of_two_runs "$path2" "$path3" + fi + fi + + if [ $exists0 == 1 -a $exists1 == 1 ]; then + if [ $ret == 0 ]; then + rval=$CMP_CMP_OP + echo "$mark `cmp_result_opcode_to_str $rval`" + else + rval=$CMP_MISCMP_OP + echo "$mark `cmp_result_opcode_to_str $rval`" + UTILSTATUS=1 + fi + elif [ $exists0 == 1 ]; then + rval=$CMP_NO_SECOND_OP + echo "$mark `cmp_result_opcode_to_str $rval`" + elif [ $exists1 == 1 ]; then + rval=$CMP_NO_FIRST_OP + echo "$mark `cmp_result_opcode_to_str $rval`" + else + rval=$CMP_NO_BOTH_OP + echo "$mark `cmp_result_opcode_to_str $rval`" + fi + + echo "" + echo "Failures in new version: `grep -c FAIL $path1` -- $path1" + echo "Failures in old version: `grep -c FAIL $path0` -- $path0" + echo "" + return $rval +} + +# Convert opcode of result of comparing to string +# arg1 - opcode of result of comparing +cmp_result_opcode_to_str() +{ + local msg + + case $1 in + $CMP_CMP_OP) msg=compared;; + $CMP_MISCMP_OP) msg=miscompared;; + $CMP_NO_SECOND_OP) msg="- (the SUMMARY file of second run doesn't exist)";; + $CMP_NO_FIRST_OP) msg="- (the SUMMARY file of first run doesn't exist)";; + $CMP_NO_BOTH_OP) msg="- (the SUMMARY files of both runs dont exist)";; + *) msg="???" + esac + + echo "$msg" +} + +# ############################## MAIN ############################### + +# Initialize the common variables + +# Constants + +# Opcodes of result of comparing +CMP_CMP_OP=0 +CMP_MISCMP_OP=1 +CMP_NO_SECOND_OP=2 +CMP_NO_FIRST_OP=3 +CMP_NO_BOTH_OP=4 + diff --git a/tests/aslts/bin/settings b/tests/aslts/bin/settings new file mode 100755 index 0000000..d1bafa8 --- /dev/null +++ b/tests/aslts/bin/settings @@ -0,0 +1,306 @@ +#!/bin/bash +# +# @echo off +# +# Settings and initializations +# +# Initialize all the AVAILABLE test cases +# and collections (all which are). +# +INIT_ALL_AVAILABLE_TESTS() +{ + # Functional test collection + + FUNC_COLL="arithmetic bfield constant control descriptor" + FUNC_COLL="$FUNC_COLL logic manipulation name reference region synchronization" + FUNC_COLL="$FUNC_COLL table" + + # Complex test collection + + OPER_TCASES="oarg oconst oconversion olocal onamedglob onamedloc opackageel oreftonamed oreftopackageel oreturn" + RES_TCASES="rconversion rcopyobject rexplicitconv rindecrement roptional rstore" + + CPLX_COLL="misc provoke" + CPLX_COLL="$CPLX_COLL $OPER_TCASES" + CPLX_COLL="$CPLX_COLL $RES_TCASES" + CPLX_COLL="$CPLX_COLL badasl namespace" + + # Exceptions test collection + + EXCP_COLL="exc exc_operand1 exc_operand2 exc_ref exc_result1 exc_result2" + EXCP_COLL="$EXCP_COLL exc_tbl" + + # Bug-demo test collection + + BDEMO_COLL="bdemo bdemof" + + # Service test collection + + SERV_COLL="condbranches" + + # Implementation dependent test collection + + IMPL_COLL="dynobj" + + # Tests of multi-threading functionality (mt-tests) + + MT_COLL="mt_mutex" + + # Tests to prove identity of ACPICA to MS + + MS_IDENT_COLL="extra extra_aslts" + + # All collections of tests + + ALL_AVAILABLE_COLLS="functional complex exceptions bdemo service mt Identity2MS IMPL" + + ALL_AVAILABLE_TEST_CASES="$FUNC_COLL $CPLX_COLL $EXCP_COLL $BDEMO_COLL $MT_COLL $SERV_COLL $IMPL_COLL $MS_IDENT_COLL" +} + +# +# Report all the available test cases +# +echo_available_test_cases() +{ + echo "All available test cases:" + + echo_list "functional" "$FUNC_COLL" + echo_list "complex" "$CPLX_COLL" + echo_list "exceptions" "$EXCP_COLL" + echo_list "bug-demo" "$BDEMO_COLL" + echo_list "mt" "$MT_COLL" + echo_list "service" "$SERV_COLL" + echo_list "implementation dependent" "$IMPL_COLL" + echo_list "Identity2MS" "$MS_IDENT_COLL" +} + +# +# Return the number of all the available test cases +# +get_num_of_available_test_cases() +{ + local count=0 + + for tcase in $ALL_AVAILABLE_TEST_CASES + do + count=$[ $count + 1 ] + done + + return $count +} + +# +# Set up a list of test cases you want +# to be processed by run and compare utilities. +# Do that here manually. +# +INIT_SET_OF_TEST_CASES() +{ + local func compl excep bdemo serv impl + + # Functional test collection + + func="arithmetic bfield constant control descriptor" + func="$func logic manipulation name reference region synchronization" + func="$func table" + + # Complex test collection + + compl="misc provoke" + compl="$compl oarg oconst olocal onamedloc onamedglob opackageel oreftonamed oreftopackageel oreturn" + compl="$compl rstore roptional rcopyobject rindecrement rexplicitconv" + compl="$compl badasl namespace" + + # Exceptions test collection + + excep="exc exc_ref exc_operand2 exc_result2" + excep="$excep exc_tbl" + + # Bug-demo test collection + + bdemo="bdemo bdemof" + + # Service test collection + + serv="condbranches" + + # Tests of multi-threading functionality (mt-tests) + + mt="mt_mutex" + + # Tests to prove identity of ACPICA to MS + + Identity2MS="extra extra_aslts" + + # Implementation dependent test collection + + impl="dynobj" + + + # The test cases to be processed by run and compare utilities: + +# ENABLED_TCASES="$func $compl $excep $bdemo $serv" +# ENABLED_TCASES="$func $compl $excep $Identity2MS $bdemo $serv" + ENABLED_TCASES="$func $compl $excep $mt $Identity2MS $bdemo $serv" + +# ENABLED_TCASES="extra extra_aslts" +# ENABLED_TCASES="control" +# ENABLED_TCASES="bdemo" +# ENABLED_TCASES="bdemo bdemof" +# ENABLED_TCASES="bdemo misc" +# ENABLED_TCASES="arithmetic constant" +# ENABLED_TCASES="condbranches" +# ENABLED_TCASES="exc" +# ENABLED_TCASES="arithmetic constant exc condbranches" +# ENABLED_TCASES="arithmetic bfield constant control descriptor logic manipulation name reference region synchronization misc provoke exc bdemo" +# ENABLED_TCASES="oarg oconst olocal onamedloc onamedglob opackageel oreftonamed oreftopackageel oreturn" +# ENABLED_TCASES="rstore roptional rcopyobject rindecrement rexplicitconv exc_ref exc_operand2 exc_result2" +# ENABLED_TCASES="condbranches" +# ENABLED_TCASES="arithmetic bfield" +# ENABLED_TCASES="descriptor" +# ENABLED_TCASES="reference" +# ENABLED_TCASES="arithmetic misc logic bdemo" +# ENABLED_TCASES="misc control manipulation" +# ENABLED_TCASES="exc_ref" +# ENABLED_TCASES="rstore" +# ENABLED_TCASES="bdemo reference" +# ENABLED_TCASES="name" +# ENABLED_TCASES="badasl" +# ENABLED_TCASES="constant" +# ENABLED_TCASES="arithmetic constant exc mt_mutex bdemo" +# ENABLED_TCASES="mt_mutex" +# ENABLED_TCASES="region" +} + +# +# Set up a set of test run modes you want +# to be processed by run and compare utilities. +# Do that here manually. +# +INIT_RUN_MODES() +{ + # The test run modes to be processed: + + # 32-bit non-slack (normal): + + ENABLENORM32=1 + + # 64-bit non-slack (normal): + + ENABLENORM64=1 + + # 32-bit slack: + + ENABLESLACK32=1 + + # 64-bit slack: + + ENABLESLACK64=1 +} + +# +# Set it up to zero to exclude the aslts/RESULTS technique at all +# +INIT_LOG_RESULTS() +{ + ENABLELOG=1 +} + +# +# Set it up to the maximal number of bdemo tests (of all bugs of ACPICA) +# +INIT_MAX_BDEMO() +{ + MAXBDEMO=307 +} + +# +# Reset collections involved flags +# +reset_collections_flags() +{ + FUNC_COLL_FLAG=0 + CPLX_COLL_FLAG=0 + EXCP_COLL_FLAG=0 + BDEMO_COLL_FLAG=0 + MT_COLL_FLAG=0 + SERV_COLL_FLAG=0 + IMPL_COLL_FLAG=0 + MS_IDENT_COLL_FLAG=0 +} + +RESET_SETTINGS() +{ + # Log enable flag + + ENABLELOG=0 + + # Enabled modes + + ENABLENORM32=0 + ENABLENORM64=0 + ENABLESLACK32=0 + ENABLESLACK64=0 + + # Available test collections + + FUNC_COLL= + CPLX_COLL= + EXCP_COLL= + BDEMO_COLL= + MT_COLL= + SERV_COLL= + MS_IDENT_COLL= + IMPL_COLL= + ALL_AVAILABLE_COLLS= + ALL_AVAILABLE_TEST_CASES= + + # Particular test cases staff + + OPER_TCASES= + RES_TCASES= + + # Test collections involved flags + + reset_collections_flags + + # Run test error flags + + HAVE_LARGE_REF_CNT=no +} + +INIT_MEM_STAT() +{ + # If 'yes', eliminates all settings of comparing below + + DO_ALL_COMPARE=yes + + DO_COMPARE_TOTAL_ONLY=no + + # Enable memory statistics processing + + DO_MEMSTAT=yes + + # + # Enable comparing of memory statistics for the test cases + # (not only the total figures related to all the test cases + # of mode). + # Allows to reduce the time of the comparing utility. + # This comparing utility takes too long time on Cygwin + # (more than 1 hour 10 minutes, though quickly on Linux - + # not more than 1 minute). + # + DO_COMPARE_OF_TEST_CASES=no + DO_COMPARE_OF_EXCEPTIONS=no + + if [ "$DO_COMPARE_OF_TEST_CASES" != yes -a "$DO_COMPARE_OF_EXCEPTIONS" != yes ]; then + DO_COMPARE_TOTAL_ONLY=yes + fi + + if [ "$DO_ALL_COMPARE" == yes ]; then + DO_COMPARE_TOTAL_ONLY=no + DO_COMPARE_OF_TEST_CASES=yes + DO_COMPARE_OF_EXCEPTIONS=yes + fi +} + diff --git a/tests/aslts/doc/CurrentState b/tests/aslts/doc/CurrentState new file mode 100644 index 0000000..e8f58af --- /dev/null +++ b/tests/aslts/doc/CurrentState @@ -0,0 +1,76 @@ + +Free layout. Some remarks about the current state of the aslts +test suite vs ACPICA. Written up to 20050729 [Jul 30 2005] ACPICA +(some stuff can be obsolete nevertheless useful to pay attention +to the important things). +================================================================ + + + +MANY TESTS ARE DISABLED: + + +Many pieces of AML tests code are now excluded by means of +y and qXXX disable/enable variables. + +aslts/src/runtime/cntl/runmode.asl: + +See description of y which disable +many crashing/failing tests executions. + +There are 49 such y and 6 qXXX/rnXX conditional variables set +to zero in runmode.asl file now - the relevant tests are disabled +in order not to cause crashes, hangs etc... + +================================================================== + +Information to the new Dynamic Object Deletion complex test. + + +aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/dynobj.asl: + + + +1. These tests require support of ACPICA (_TCI). + We have not yet delivered it. + So, now the result of run is like this below. + +- ex main +Executing \MAIN +tbxfroot-0267 [12] TbFindTable : Found table [DSDT] +[ACPI Debug] String: [0x0B] "64-bit mode" +[ACPI Debug] String: [0x34] "TEST (complex), Dynamic Object Deletion complex test" +[ACPI Debug] String: [0x42] "The Test Command interface with the ACPICA (_TCI) is not supported" +[ACPI Debug] String: [0x12] "Test DYN0 skipped!" +[ACPI Debug] String: [0x29] "Run time (in seconds): 0x0000000000000000" +[ACPI Debug] String: [0x38] "The total number of exceptions handled: 0000000000000000" +[ACPI Debug] String: [0x1A] "TEST ACPICA: 64-bit : PASS" +Execution of \MAIN returned object 00326E38 Buflen 10 + [Integer] = 0000000000000000 +- q + utalloc-1049 [03] UtDumpAllocations : No outstanding allocations. + + +2. Many issues are excluded from execution by the variables (rn01 - rn04). + They are set to zeros now. + Set them up to non-zeros, run the test and investigate errors: + +IMPL/ACPICA/common/icommon.asl: + +Name(rn00, 1) // Correct, no any remarks +Name(rn01, 0) // Investigation needed +Name(rn02, 0) // Classified as a bug +Name(rn03, 0) // Causes exception +Name(rn04, 0) // Regression + +3. Many minor issues are to be reported + like this: + + 1. In optimized mode Add(3, 4) + created 4 objects, though 1 is enough + as that is in Store(Add(3, 4), i000) case... + + +================================================================== + + diff --git a/tests/aslts/doc/README b/tests/aslts/doc/README new file mode 100644 index 0000000..567fc3c --- /dev/null +++ b/tests/aslts/doc/README @@ -0,0 +1,32 @@ + +CONTENTS + + miscellaneous descriptive information + +docs + + designing the Source Operand Complex test (and similar) + was quite complicated work; to concentarate on the main + aspects of it and to prove ourselves being on the proper + way and break hesitating in details these principles were + outlined (file TestOfOperands); principles could be useful + in general to design ASL tests + +plan + + remaining work, our ideas about which more tests should be + designed, the time and priority of work estimation + +StoreCopyTestPrototype + + these demo programs may be considered as a prototypes + of separate functional tests for CopyObject ans Store + operators + +CurrentState + + remarks about the current state of tests; for example + some sub-tests of tests are suppressed due to the fact + they cause abort of execution; after fixing the root + problems in ACPICA these sub-tests must be enabled; + these and similar information about the tests is here diff --git a/tests/aslts/doc/StoreCopyTestPrototype/gr1.asl b/tests/aslts/doc/StoreCopyTestPrototype/gr1.asl new file mode 100644 index 0000000..04dc6cb --- /dev/null +++ b/tests/aslts/doc/StoreCopyTestPrototype/gr1.asl @@ -0,0 +1,100 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + +DefinitionBlock( + "gr1.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + Method(mm01) + { + Store("Store any type object to LocalX", Debug) + + Store("mm01 started", Debug) + + Name(i000, 0x12345678) + Name(s000, "12345678") + Name(b000, Buffer() {1,2,3,4,5}) + Name(p000, Package() {0}) + Device(d000) { Name(i900, 0xabcd0017) } + Event(e000) + Method(m000) { return (0) } + Mutex(mx00, 0) + OperationRegion(r000, SystemMemory, 0x100, 0x100) + PowerResource(pw00, 1, 0) {} + Processor(pr00, 0, 0xFFFFFFFF, 0) {} + ThermalZone(tz00) {} + + Store(i000, Local0) + Store(s000, Local0) + Store(b000, Local0) + Store(p000, Local0) + Store(d000, Local0) + Store(e000, Local0) + Store(m000, Local0) + Store(mx00, Local0) + Store(r000, Local0) + Store(pw00, Local0) + Store(pr00, Local0) + Store(tz00, Local0) + + Store(i000, Local0) + Store(s000, Local0) + Store(b000, Local0) + Store(p000, Local0) + Store(i000, Local0) + Store(d000, Local0) + Store(i000, Local0) + Store(e000, Local0) + Store(i000, Local0) + Store(m000, Local0) + Store(i000, Local0) + Store(mx00, Local0) + Store(i000, Local0) + Store(r000, Local0) + Store(i000, Local0) + Store(pw00, Local0) + Store(i000, Local0) + Store(pr00, Local0) + Store(i000, Local0) + Store(tz00, Local0) + Store(i000, Local0) + + Store("mm01 finished", Debug) + } + + Method(MAIN) + { + mm01() + } +} diff --git a/tests/aslts/doc/StoreCopyTestPrototype/gr2.asl b/tests/aslts/doc/StoreCopyTestPrototype/gr2.asl new file mode 100644 index 0000000..31c3383 --- /dev/null +++ b/tests/aslts/doc/StoreCopyTestPrototype/gr2.asl @@ -0,0 +1,102 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + +DefinitionBlock( + "gr2.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + Method(mm02, 1) + { + Store("Store any type object to ArgX, effectively local", Debug) + + Store("mm02 started", Debug) + + Name(i000, 0x12345678) + Name(s000, "12345678") + Name(b000, Buffer() {1,2,3,4,5}) + Name(p000, Package() {0}) + Device(d000) { Name(i900, 0xabcd0017) } + Event(e000) + Method(m000) { return (0) } + Mutex(mx00, 0) + OperationRegion(r000, SystemMemory, 0x100, 0x100) + PowerResource(pw00, 1, 0) {} + Processor(pr00, 0, 0xFFFFFFFF, 0) {} + ThermalZone(tz00) {} + + Store(i000, Arg0) + Store(s000, Arg0) + Store(b000, Arg0) + Store(p000, Arg0) + Store(d000, Arg0) + Store(e000, Arg0) + Store(m000, Arg0) + Store(mx00, Arg0) + Store(r000, Arg0) + Store(pw00, Arg0) + Store(pr00, Arg0) + Store(tz00, Arg0) + + Store(i000, Arg0) + Store(s000, Arg0) + Store(b000, Arg0) + Store(p000, Arg0) + Store(i000, Arg0) + Store(d000, Arg0) + Store(i000, Arg0) + Store(e000, Arg0) + Store(i000, Arg0) + Store(m000, Arg0) + Store(i000, Arg0) + Store(mx00, Arg0) + Store(i000, Arg0) + Store(r000, Arg0) + Store(i000, Arg0) + Store(pw00, Arg0) + Store(i000, Arg0) + Store(pr00, Arg0) + Store(i000, Arg0) + Store(tz00, Arg0) + Store(i000, Arg0) + + Store("mm02 finished", Debug) + } + + Method(MAIN) + { + Name(ii00, 0x12345678) + + mm02(ii00) + } +} diff --git a/tests/aslts/doc/StoreCopyTestPrototype/gr3.asl b/tests/aslts/doc/StoreCopyTestPrototype/gr3.asl new file mode 100644 index 0000000..71a432e --- /dev/null +++ b/tests/aslts/doc/StoreCopyTestPrototype/gr3.asl @@ -0,0 +1,81 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + +DefinitionBlock( + "gr3.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + Name(i000, 0x12345678) + Name(s000, "12345678") + Name(b000, Buffer() {1,2,3,4,5}) + + Name(i001, 0x12345678) + Name(s001, "12345678") + Name(b001, Buffer() {1,2,3,4,5}) + + Name(i002, 0x12345678) + Name(s002, "12345678") + Name(b002, Buffer() {1,2,3,4,5}) + + Name(i003, 0x12345678) + Name(s003, "12345678") + Name(b003, Buffer() {1,2,3,4,5}) + + + Method(mm03) + { + Store("Store to NamedX with the proper conversion", Debug) + + Store("mm03 started", Debug) + + Store(i000, i001) + Store(i000, s001) + Store(i000, b001) + + Store(s000, i002) + Store(s000, s002) + Store(s000, b002) + + Store(b000, i003) + Store(b000, s003) + Store(b000, b003) + + Store("mm03 finished", Debug) + } + + Method(MAIN) + { + mm03() + } +} diff --git a/tests/aslts/doc/StoreCopyTestPrototype/gr4.asl b/tests/aslts/doc/StoreCopyTestPrototype/gr4.asl new file mode 100644 index 0000000..8fe3c7a --- /dev/null +++ b/tests/aslts/doc/StoreCopyTestPrototype/gr4.asl @@ -0,0 +1,354 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + +DefinitionBlock( + "gr4.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + Method(mm04) + { + Store("Store to NamedX without any conversion", Debug) + + Store("mm04 started", Debug) + + + Name(i000, 0x12345678) + Name(i001, 0x12345678) + Name(i002, 0x12345678) + Name(i003, 0x12345678) + Name(i004, 0x12345678) + Name(i005, 0x12345678) + Name(i006, 0x12345678) + Name(i007, 0x12345678) + Name(i008, 0x12345678) + Name(i009, 0x12345678) + Name(i00a, 0x12345678) + Name(i00b, 0x12345678) + + Name(s000, "12345678") + Name(s001, "12345678") + Name(s002, "12345678") + Name(s003, "12345678") + Name(s004, "12345678") + Name(s005, "12345678") + Name(s006, "12345678") + Name(s007, "12345678") + Name(s008, "12345678") + Name(s009, "12345678") + Name(s00a, "12345678") + Name(s00b, "12345678") + + Name(b000, Buffer() {1,2,3,4,5}) + Name(b001, Buffer() {1,2,3,4,5}) + Name(b002, Buffer() {1,2,3,4,5}) + Name(b003, Buffer() {1,2,3,4,5}) + Name(b004, Buffer() {1,2,3,4,5}) + Name(b005, Buffer() {1,2,3,4,5}) + Name(b006, Buffer() {1,2,3,4,5}) + Name(b007, Buffer() {1,2,3,4,5}) + Name(b008, Buffer() {1,2,3,4,5}) + Name(b009, Buffer() {1,2,3,4,5}) + Name(b00a, Buffer() {1,2,3,4,5}) + Name(b00b, Buffer() {1,2,3,4,5}) + + Name(p000, Package() {0}) + Name(p001, Package() {0}) + Name(p002, Package() {0}) + Name(p003, Package() {0}) + Name(p004, Package() {0}) + Name(p005, Package() {0}) + Name(p006, Package() {0}) + Name(p007, Package() {0}) + Name(p008, Package() {0}) + Name(p009, Package() {0}) + Name(p00a, Package() {0}) + Name(p00b, Package() {0}) + + Device(d000) { Name(i900, 0xabcd0017) } + Device(d001) { Name(i900, 0xabcd0017) } + Device(d002) { Name(i900, 0xabcd0017) } + Device(d003) { Name(i900, 0xabcd0017) } + Device(d004) { Name(i900, 0xabcd0017) } + Device(d005) { Name(i900, 0xabcd0017) } + Device(d006) { Name(i900, 0xabcd0017) } + Device(d007) { Name(i900, 0xabcd0017) } + Device(d008) { Name(i900, 0xabcd0017) } + Device(d009) { Name(i900, 0xabcd0017) } + Device(d00a) { Name(i900, 0xabcd0017) } + Device(d00b) { Name(i900, 0xabcd0017) } + + Event(e000) + Event(e001) + Event(e002) + Event(e003) + Event(e004) + Event(e005) + Event(e006) + Event(e007) + Event(e008) + Event(e009) + Event(e00a) + Event(e00b) + + Method(m000) { return (0) } + Method(m001) { return (0) } + Method(m002) { return (0) } + Method(m003) { return (0) } + Method(m004) { return (0) } + Method(m005) { return (0) } + Method(m006) { return (0) } + Method(m007) { return (0) } + Method(m008) { return (0) } + Method(m009) { return (0) } + Method(m00a) { return (0) } + Method(m00b) { return (0) } + + Mutex(mx00, 0) + Mutex(mx01, 0) + Mutex(mx02, 0) + Mutex(mx03, 0) + Mutex(mx04, 0) + Mutex(mx05, 0) + Mutex(mx06, 0) + Mutex(mx07, 0) + Mutex(mx08, 0) + Mutex(mx09, 0) + Mutex(mx0a, 0) + Mutex(mx0b, 0) + + OperationRegion(r000, SystemMemory, 0x100, 0x100) + OperationRegion(r001, SystemMemory, 0x100, 0x100) + OperationRegion(r002, SystemMemory, 0x100, 0x100) + OperationRegion(r003, SystemMemory, 0x100, 0x100) + OperationRegion(r004, SystemMemory, 0x100, 0x100) + OperationRegion(r005, SystemMemory, 0x100, 0x100) + OperationRegion(r006, SystemMemory, 0x100, 0x100) + OperationRegion(r007, SystemMemory, 0x100, 0x100) + OperationRegion(r008, SystemMemory, 0x100, 0x100) + OperationRegion(r009, SystemMemory, 0x100, 0x100) + OperationRegion(r00a, SystemMemory, 0x100, 0x100) + OperationRegion(r00b, SystemMemory, 0x100, 0x100) + + PowerResource(pw00, 1, 0) {} + PowerResource(pw01, 1, 0) {} + PowerResource(pw02, 1, 0) {} + PowerResource(pw03, 1, 0) {} + PowerResource(pw04, 1, 0) {} + PowerResource(pw05, 1, 0) {} + PowerResource(pw06, 1, 0) {} + PowerResource(pw07, 1, 0) {} + PowerResource(pw08, 1, 0) {} + PowerResource(pw09, 1, 0) {} + PowerResource(pw0a, 1, 0) {} + PowerResource(pw0b, 1, 0) {} + + Processor(pr00, 0, 0xFFFFFFFF, 0) {} + Processor(pr01, 0, 0xFFFFFFFF, 0) {} + Processor(pr02, 0, 0xFFFFFFFF, 0) {} + Processor(pr03, 0, 0xFFFFFFFF, 0) {} + Processor(pr04, 0, 0xFFFFFFFF, 0) {} + Processor(pr05, 0, 0xFFFFFFFF, 0) {} + Processor(pr06, 0, 0xFFFFFFFF, 0) {} + Processor(pr07, 0, 0xFFFFFFFF, 0) {} + Processor(pr08, 0, 0xFFFFFFFF, 0) {} + Processor(pr09, 0, 0xFFFFFFFF, 0) {} + Processor(pr0a, 0, 0xFFFFFFFF, 0) {} + Processor(pr0b, 0, 0xFFFFFFFF, 0) {} + + ThermalZone(tz00) {} + ThermalZone(tz01) {} + ThermalZone(tz02) {} + ThermalZone(tz03) {} + ThermalZone(tz04) {} + ThermalZone(tz05) {} + ThermalZone(tz06) {} + ThermalZone(tz07) {} + ThermalZone(tz08) {} + ThermalZone(tz09) {} + ThermalZone(tz0a) {} + ThermalZone(tz0b) {} + + + // i000 + + Store(i000, p000) + Store(i000, d000) + Store(i000, e000) + Store(i000, m000) + Store(i000, mx00) + Store(i000, r000) + Store(i000, pw00) + Store(i000, pr00) + Store(i000, tz00) + + // s000 + + Store(s000, p001) + Store(s000, d001) + Store(s000, e001) + Store(s000, m001) + Store(s000, mx01) + Store(s000, r001) + Store(s000, pw01) + Store(s000, pr01) + Store(s000, tz01) + + // b000 + + Store(b000, p002) + Store(b000, d002) + Store(b000, e002) + Store(b000, m002) + Store(b000, mx02) + Store(b000, r002) + Store(b000, pw02) + Store(b000, pr02) + Store(b000, tz02) + + // p000 + + Store(p000, p003) + Store(p000, d003) + Store(p000, e003) + Store(p000, m003) + Store(p000, mx03) + Store(p000, r003) + Store(p000, pw03) + Store(p000, pr03) + Store(p000, tz03) + + // d000 + + Store(d000, p004) + Store(d000, d004) + Store(d000, e004) + Store(d000, m004) + Store(d000, mx04) + Store(d000, r004) + Store(d000, pw04) + Store(d000, pr04) + Store(d000, tz04) + + // e000 + + Store(e000, p005) + Store(e000, d005) + Store(e000, e005) + Store(e000, m005) + Store(e000, mx05) + Store(e000, r005) + Store(e000, pw05) + Store(e000, pr05) + Store(e000, tz05) + + // m000 + + Store(m000, p006) + Store(m000, d006) + Store(m000, e006) + Store(m000, m006) + Store(m000, mx06) + Store(m000, r006) + Store(m000, pw06) + Store(m000, pr06) + Store(m000, tz06) + + // mx00 + + Store(mx00, p007) + Store(mx00, d007) + Store(mx00, e007) + Store(mx00, m007) + Store(mx00, mx07) + Store(mx00, r007) + Store(mx00, pw07) + Store(mx00, pr07) + Store(mx00, tz07) + + // r000 + + Store(r000, p008) + Store(r000, d008) + Store(r000, e008) + Store(r000, m008) + Store(r000, mx08) + Store(r000, r008) + Store(r000, pw08) + Store(r000, pr08) + Store(r000, tz08) + + // pw00 + + Store(pw00, p009) + Store(pw00, d009) + Store(pw00, e009) + Store(pw00, m009) + Store(pw00, mx09) + Store(pw00, r009) + Store(pw00, pw09) + Store(pw00, pr09) + Store(pw00, tz09) + + // pr00 + + Store(pr00, p00a) + Store(pr00, d00a) + Store(pr00, e00a) + Store(pr00, m00a) + Store(pr00, mx0a) + Store(pr00, r00a) + Store(pr00, pw0a) + Store(pr00, pr0a) + Store(pr00, tz0a) + + // tz00 + + Store(tz00, p00b) + Store(tz00, d00b) + Store(tz00, e00b) + Store(tz00, m00b) + Store(tz00, mx0b) + Store(tz00, r00b) + Store(tz00, pw0b) + Store(tz00, pr0b) + Store(tz00, tz0b) + + Store("mm04 finished", Debug) + } + + Method(MAIN) + { + mm04() + } +} diff --git a/tests/aslts/doc/StoreCopyTestPrototype/gr5.asl b/tests/aslts/doc/StoreCopyTestPrototype/gr5.asl new file mode 100644 index 0000000..8769cdb --- /dev/null +++ b/tests/aslts/doc/StoreCopyTestPrototype/gr5.asl @@ -0,0 +1,89 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + +DefinitionBlock( + "gr5.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + Method(mm05, 1) + { + Store("Store to NamedX with the improper conversion", Debug) + + Store("mm05 started", Debug) + + Name(i000, 0x12345678) + Name(s000, "12345678") + Name(b000, Buffer() {1,2,3,4,5}) + Name(p000, Package() {0}) + Device(d000) { Name(i900, 0xabcd0017) } + Event(e000) + Method(m000) { return (0) } + Mutex(mx00, 0) + OperationRegion(r000, SystemMemory, 0x100, 0x100) + PowerResource(pw00, 1, 0) {} + Processor(pr00, 0, 0xFFFFFFFF, 0) {} + ThermalZone(tz00) {} + + if (LEqual(Arg0, 0)) { + Store(p000, i000) + } elseif (LEqual(Arg0, 1)) { + Store(p000, s000) + } elseif (LEqual(Arg0, 2)) { + Store(p000, b000) + } elseif (LEqual(Arg0, 3)) { + Store(d000, i000) + } elseif (LEqual(Arg0, 4)) { + Store(e000, i000) + } elseif (LEqual(Arg0, 5)) { + Store(m000, i000) + } elseif (LEqual(Arg0, 6)) { + Store(mx00, i000) + } elseif (LEqual(Arg0, 7)) { + Store(r000, i000) + } elseif (LEqual(Arg0, 8)) { + Store(pw00, i000) + } elseif (LEqual(Arg0, 9)) { + Store(pr00, i000) + } elseif (LEqual(Arg0, 10)) { + Store(tz00, i000) + } + + Store("mm05 finished", Debug) + } + + Method(MAIN) + { + mm05(0) + } +} diff --git a/tests/aslts/doc/docs/ConversionRules b/tests/aslts/doc/docs/ConversionRules new file mode 100644 index 0000000..029e68d --- /dev/null +++ b/tests/aslts/doc/docs/ConversionRules @@ -0,0 +1,175 @@ + +Now it is a few obsolete. + + +17.2.5.7 Data Type Conversion Rules + + +Buffer -> Buffer Field + + The contents of the buffer are copied to the Buffer Field. + 1. If the buffer is smaller than the size of the buffer field, + it is zero extended. + 2. If the buffer is larger than the size of the buffer field, + the upper bits are truncated. + +Buffer -> Debug Object + + 3. Each buffer byte is displayed as a hexadecimal integer, + delimited by spaces and/or commas. + +Buffer -> Field Unit + + The entire contents of the buffer are copied to the Field Unit. + 4. 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. + 5. If the integer (or the last piece of the integer, if broken up) + is smaller or equal in size to the Field Unit, then it is zero + extended before being written. + +Buffer -> Integer + + If no integer object exists, a new integer is created. + The contents of the buffer are copied to the Integer, + starting with the least-significant bit +* 6. and continuing until the buffer has been completely copied +* 7. � up to the maximum number of bits in an Integer + (64 starting in ACPI 2.0). + +Buffer -> String + + If no string object exists, a new string is created. +* 8. The entire contents of the buffer are converted to a string + of two-character hexadecimal numbers, each separated by a space. +* 9. A fatal error is generated if greater than two hundred ASCII + characters are created. + +Buffer Field -> [See Rule] + +* 10. If the Buffer Field is smaller than or equal to the size + of an Integer (in bits), it will be treated as an Integer. +* 11. Otherwise, it will be treated as a Buffer. + (See the conversion rules for the Integer and Buffer data types.) + +Buffer Field -> Debug Object + + 12. Each byte is displayed as hexadecimal integer, + delimited by spaces and/or commas + +DDB Handle -> + +* 13. [See Rule] The object is treated as an Integer + (See conversion rules for the Integer data type.) + +Field Unit -> + +* 14. [See Rule] If the Field Unit is smaller than or equal to the + size of an Integer (in bits), it will be treated as an Integer. +* 15. If the Field Unit is larger than the size of an Integer, it will + be treated as a Buffer. + + 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. + (See the conversion rules for the Integer and Buffer data types.) + +Field Unit -> Debug Object + + 16. Each byte is displayed as hexadecimal integer, + delimited by spaces and/or commas + +Integer -> Buffer + +* 17. 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). + + If a buffer object already exists,�the Integer overwrites + the entire Buffer object. + 18. If the integer requires more bits than the size of the Buffer, + then the integer is truncated before being copied to the Buffer. + 19. If the integer contains fewer bits than the size of the buffer, + the Integer is zero-extended to fill the entire buffer + +Integer -> Buffer Field + + The Integer overwrites the entire Buffer Field. + 20. If the integer is smaller than the size of the buffer field, + it is zero-extended. + 21. If the integer is larger than the size of the buffer field, + the upper bits are truncated. + +Integer -> Debug Object + + 22. The integer is displayed as a hexadecimal value. + +Integer -> Field Unit + + The Integer overwrites the entire Field Unit. + 23. If the integer is smaller than the size of the buffer field, + it is zero-extended. + 24. If the integer is larger than the size of the buffer field, + the upper bits are truncated. + +Integer -> String + +* 25. Creates an ASCII hexadecimal string. + +Package -> Package + + 26. All existing contents (if any) of the target package are deleted, + and the contents of the source package are copied into the target + package. (In other words, overwrites the same as any other object.) + +Package -> Debug Object + + 27. Each element of the package is displayed based on its type. + +String -> Buffer + +* 28. If no buffer object exists, a new buffer object is created. + + If a buffer object already exists, it is completely overwritten. + 29. If the string is longer than the buffer, the string is truncated + before copying. + 30. If the string is shorter than the buffer, the buffer size is reduced. + + In either case, the string is treated as a buffer, with each ASCII + string character copied to one buffer byte. + +String -> Buffer Field + + The string is treated as a buffer. + 31. If this buffer is smaller than the size of the buffer field, + it is zero extended. + 32. If the buffer is larger than the size of the buffer field, + the upper bits are truncated. + +String -> Debug Object + + 33. Each string character is displayed as an ASCII character + +String -> Field Unit + + Each character of the string is written, starting with the first, + to the Field Unit. + 34. If the Field Unit is less than eight bits, then the upper bits + of each character are lost. + 35. If the Field Unit is greater than eight bits, then the additional + bits are zeroed. + +String -> Integer + +* 36. If no integer object exists, a new integer is created. + The ASCII string is interpreted as a hexadecimal constant. + Each string character is interpreted as a hexadecimal value, + starting with the first hexadecimal ASCII character (�0�-�9�, + �A�-�F�, �a�, �f�) as the most significant digit, and ends with + the first non-hexadecimal character or end-of-string as the least + significant digit. + +(*) - rules affecting operands (6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 25, 28, 36) +(+) - rules affecting results () + diff --git a/tests/aslts/doc/docs/ConversionTable b/tests/aslts/doc/docs/ConversionTable new file mode 100644 index 0000000..3574543 --- /dev/null +++ b/tests/aslts/doc/docs/ConversionTable @@ -0,0 +1,153 @@ + +A few obsolete too. + + + + ================================================ + Implicit Source Operand Conversion, Complex test + ================================================ + + Features of target Operands + ------------------------------- + |Integer | String | Buffer | +Features of source Operands | | | | +---------------------------------------------------------------------- +Integer |i1| 0x89abcdef |32/64 | | | + |i2| 0xfedcba9876543201 |i1 - i4 |i1 - i4 |i1 - i4 | + |i3| 0 | | | | + |i4| 0xffffffffffffffff | | | | + |i5| 0xffffffff | | | | +---------------------------------------------------------------------- +String =6|s1| "ba9876" |32: s1,s2| | | + =8|s2| "89abcdef" |64: s1,s3|s4,s5,s6 |s4,s5,s6 | + =16|s3| "fedcba9876543201" | | | | + =3|s4| "321" |exc32: | | | + =200|s5| | s6,s7, | | | + =0|s6| "" | s8,sc | | | + |s7| "1234q" |exc64: | | | + =9|s8| "987654321" | s6,s7, | | | + =17|s9| "9fedcba9876543210" | s9,sc | | | + |sa| "ffffffffffffffff" | | | | + |sb| "ffffffff" | | | | + |sc| "0xfedcba" | | | | +---------------------------------------------------------------------- +Buffer |b1| B(3){b0,b1,b2} |32: b1,b2|b1,b4,b7 |b1,b5,b7 | + |b2| B(6){b0,b1,...,b5} |64: b2,b3| | | + |b3| B(9){b0,b1,...,b8} | |exc: b6 | | + |b4| B(200){b0,...,b199} | | | | + |b5| B(257){b0,...,b256} | | | | + |b6| B(201){b0,...,b200} | | | | + |b7| B(0){} | | | | + |b8| B(){ff,ff,ff,ff, | | | | + | | ff,ff,ff,ff} | | | | + |b9| B(){ff,ff,ff,ff} | | | | +---------------------------------------------------------------------- +Buffer Field |f1| CF(11:23) |32: f1,f2|32: f5,f6|32: f5,f6| + |f2| CF(38:51) |64: f2,f3|64: f7,f8|64: f7,f8| + |f3| CF(101:74) | | | | + |f4| CF(179:0) |both: f4 |both: f4,|both: f4,| + |f5| CF(183:32) | | f9 | fb | + |f6| CF(219:33) | | | | + |f7| CF(257:64) | |exc: fa | | + |f8| CF(325:65) | | | | + |f9| CF(17:67*8) | | | | + |fa| CF(17:68*8) | | | | + |fb| CF(17:257*8) | | | | +---------------------------------------------------------------------- + +Prepare the summary table: which operands which results: + +Buffer -> Buffer Field + 1: + 2: +Buffer -> Debug Object + 3: +Buffer -> Field Unit + 4: + 5: +Buffer -> Integer + 6: b1 + 7: b3 +Buffer -> String + 8: b1,b4,b7 + 9: b6 +Buffer Field -> [See Rule] +10, 32: f4,f5 +10, 64: f4,f7 +11, 32: f6,f9,fb +11, 64: f8,f9,fb +Buffer Field -> Debug Object +12: +DDB Handle -> +13: +Field Unit -> +/* +SEE: +14, 32: f4,f5 +14, 64: f4,f7 + +15, 32: f6,f9,fb +15, 64: f8,f9,fb +*/ +Field Unit -> Debug Object +16: +Integer -> Buffer +17: i2 +18: +19: +Integer -> Buffer Field +20: +21: +Integer -> Debug Object +22: +Integer -> Field Unit +23: +24: +Integer -> String +25, 32: i1, i2 +25, 64: i2 +Package -> Package +26: +Package -> Debug Object +27: +String -> Buffer +28: s4,s5,s6 +29: +30: +String -> Buffer Field +31: +32: +String -> Debug Object +33: +String -> Field Unit +34: +35: +String -> Integer +36, 32: s2 +36, 64: s3 + +Coverage of Table 17-8 ("Object Conversion Rules"): + + |Integer | String | Buffer | + | | | | +-------------------------------------------------------------- + | | 25 | 17 | +Integer 32| i1,i2 | i1,i2 | | + 64| i2 | i2 | i2 | + | | | | +-------------------------------------------------------------- + | 36 | | 28 | +String 32| s2 exc:s8 | | | + 64| s3 exc:s9 | s4,s5,s6 | s4,s5,s6 | + | exc: s6,s7 | | | +-------------------------------------------------------------- + | 6,7 | 8,9 | | +Buffer 32| | | | + 64| 6:b1 7:b3 |8:b1,b4,b7 9:b6| b1,b5,b7 | + | | | | +-------------------------------------------------------------- + | 10 | 10,11| 10,11| +Buffer 32| f4,f5 |14:f4,f5 15:f6 |14:f4,f5 15:f6 | +Field 64| f4,f7 |14:f4,f7 15:f8 |14:f4,f7 15:f8 | + | |15:f9 exc:fa |15:fb | +-------------------------------------------------------------- diff --git a/tests/aslts/doc/docs/TestOfOperands b/tests/aslts/doc/docs/TestOfOperands new file mode 100644 index 0000000..8ad80a6 --- /dev/null +++ b/tests/aslts/doc/docs/TestOfOperands @@ -0,0 +1,821 @@ +Some information can be obsolete. + +It was useful when we started designing the tests to +attempt to gather ideas about the subject of testing +and approach of testing. +================================ + + + + + Source Operand Complex test specification + (guideline of designing the test) + +Collection of remarks not intended to constitute the facile +joined statement. These considerations should be taken into +account while designing the Source Operand Complex test. +Some of them are applicable in general while designing the +ASL tests. + +All the ASL declarartions allowed by the ASL compiler have to +work in compliance with the ACPI specification, in a predictable +and convenient for users manner (so, ACPI could be changed as well). + +Outlined are the subject of testing, the main aspects of it, +the main points to be concentrated on while designing the test +and the practical steps which should be performed to achieve the +worthy coverage of the test. Also the objective difficulties +which are on that way are explained. + +This text is for ourselves in the first order. +Allow, some statements to be abstract, non-strict and questionable. +Bilieve, the abstraction will be useful. + +Writing the Operand Complex test is quite complicated +(it is not a functional test were you simply verify each +feature separately), so after implementing some its part you +see some ASL functionality is involved by test repeatedly though +you thought about different things. This text is in particular +intended to enumerate all the aspects to be verified, and don't +furhter hesitate if all them are applied. + +The intention of the test is to verify all the grammar rules +of specifying and delivering operands to operators. + +This is a wide range of issues which are simpler to understand and +embrace given together as a separate particular topic, as a separate +approach. Each the particular relevant aspect should be given separately, +the approach of how to test it should be designed and then applied to all +the ASL operators. Then the next aspect should be taken separately and +also verified for all the operators. This would allow to concentrate +deeply on each aspect and to observe the coverage provided by the test +which would be impossible to do in the contrary case when the +per-operator tests each contains all the aspects checkings. + +All the relevant aspects should be verified for each particular operator +(or at least for one member of each group of operators divided according +to the considered aspects of delivering operands to operators if only you +can found such division to groups). While building the tests we have +observed many confirmations of the idea that aspects of delivering +operands to operators can work differently for different operators, +while being proper for some of them it fails for other. + +Minimum functionality of operators should be involved there to prove +only the fact that operands are delivered to operators correctly. +To check functionality of operators is up to other tests. + +The test should also check that the source values which were +referred to as parameters were not corrupted by the execution +of the particular operator, which are the situations being in +practice revealed by our other tests many times. + +The test verifies processing of both the valid operands and +invalid operands. Building the invalid operand checkings is a simple +task - pass operator with the inappropriate type operand and check that +the exception occurs. So, below are mostly about the valid operand checkings. + +The valid operand checkings verify all the legal ways of specifying and +delivering operands to ASL operators. The following section describes the +essential aspects of that process. + +Note: some particularities are obsolete due to the change of ACPI + specification since that. + + + ESSENTIAL ASPECTS OF OPERAND DELIVERING + ======================================= + +IMAGES + + All the vatiety of ways specifying the immediate images of ASL objects +of all types should be represented. All the types are given in the table +17-20 of ACPI specification: + + Uninitialized + * Integer + * String + * Buffer + * Package + * Field Unit + Device + Event + Method + Mutex + Operation Region + Power Resource + Processor + Thermal Zone + * Buffer Field + DDB Handle + + (*) - computational types. The table #1 below shows + all the variety of computational type images + () - the remained types are mostly used in the + invalid operand checkings + + +LOCATIONS + + The location of the object in the name space relating +to the operator where that object is utilized. + + - statically accessible global object + located immediately in the DefinitionBlock + - statically accessible declared locally in the current scope + - statically accessible declared locally in the surrounding upper + scope, (1,2,3,...,LOC_LEVELS levels up) + - inaccessible statically, declared locally in the sequence + of the calling methods, (1,2,3,...,LOC_LEVELS levels up) + + Note: all the functionality of all scope generating concepts: + DefinitionBlock, Scope, Device, Method, Function, Processor, + PowerResource, ThermalZone,... will be verified in the + relevant complex tests, not here. + + +REFERENCES + + References to objects, dereferred then by DeRefOf. + + References by Index + + Index(String, Index) + Index(Buffer, Index) + Index(Package, Index) + Index(String, Index, Destination) + Index(Buffer, Index, Destination) + Index(Package, Index, Destination) + DerefOf(Index(String, Index)) + DerefOf(Index(Buffer, Index)) + DerefOf(Index(Package, Index)) + DerefOf(Index(String, Index, Destination)) + DerefOf(Index(Buffer, Index, Destination)) + DerefOf(Index(Package, Index, Destination)) + + References by RefOf + + RefOf(Integer) + RefOf(String) + RefOf(Buffer) + RefOf(Package) + DerefOf(RefOf(Integer)) + DerefOf(RefOf(String)) + DerefOf(RefOf(Buffer)) + DerefOf(RefOf(Package)) + + References by CondRefOf + + CondRefOf(Integer) + CondRefOf(String) + CondRefOf(Buffer) + CondRefOf(Package) + CondRefOf(Integer, Result) + CondRefOf(String, Result) + CondRefOf(Buffer, Result) + CondRefOf(Package, Result) + DerefOf(CondRefOf(Integer)) + DerefOf(CondRefOf(String)) + DerefOf(CondRefOf(Buffer)) + DerefOf(CondRefOf(Package)) + DerefOf(CondRefOf(Integer, Result)) + DerefOf(CondRefOf(String, Result)) + DerefOf(CondRefOf(Buffer, Result)) + DerefOf(CondRefOf(Package, Result)) + + Note: it was observed earlier that logical operators + didn't cause exceptions when using references. + This looks incorrect. Keep attention to that. + Dont forget to build the test for it. + + Note: specification of Reference test contains more exact list. + +EXPRESSIONS + + The way how the object is specified +for operator in place of operand. + + - immediate image + - ArgX + - LocalX + - NamedX + - expression as such, immediate result of other operators + (references are some of operators as well) like this: + Operator(Operator(Operator(Operator(...)))) + Operator([Operand,]Operator([Operand,]Operator(...))) + Depth: 1,2,3,...,EXP_LEVELS + - use execution of other Methods as a kind of expressions as well + + Note: expressions in place of locations for results + (Destinations) should be verified in this test + as vell, because together with the expressions + of operands they can influence each other. + + Issue: expressions in result, is that possible to use? + +METHODS + +- use Methods as elements of expressions +- use all kind expressions as parameters to Methods + + +CONVERSION + + The Implicit Source Operand Conversion functionality +(17.2.5.7 Data Type Conversion Rules) should be verified also. + +The table # 1 below proposes the particular values for to initiate +all the variety of Implicit Source Operand Conversion rules. + + +OPERATORS + + As it was mentioned above, the particular target operator +can impact delivering operands to it. Thus, we can't build the test +for only one particular operator but should be bent on building the +checkings for many (to all is the best) of them or for one member of +each group (if manage found division). An aspect can work correctly +while delivering operand to one operator but fail while delivering +to other. + +Pay attention to both: + + - the complete and the reduced forms of operators + - the target operators and operators used in expressions + + +MISCELLANEOUS + + Additional miscellaneous features, particular situations +which should be verified. They are descended from the aspects +above (as the particular elements of an absolute test (see below)). +These notes allow to keep additional attention to them. They look +to be a complicated modes for ACPICA. + +Note: add this aspect with more new complicated checkings. + + 1. Use the same object more than one time in expressions of +operands and destinations: + + - in expression of one operand of target operator + - in expressions of different operands of the target operator + - in expression of one operand and the result is stored into the object + - in expressions of different operands of target operator and + the result is located into the object... + - in other words, continue combinations of these features: + + (one operand)/(some (all) operands) + (one operator)/(several operators) + (store result in it)/(don't store result in it)... + + 2. Pass the object of upper level (or even global) accesible +statically by ArgX of sequence of calling methods (operand1) and +specify the same object as another operand immediately by its NameX +(operand2) and use them both in turn (operand1/operand2) as locations +for result. + + 3. Other cases. + + + ABSOLUTE TEST ABSTRACTION + ========================= + + So, all the aspects which can impact delivering operands to operators +and thus should be verified are these: + + Images + Locations + References + Expressions + Methods + Conversion + Operators + Miscellaneous + + The more you mix these aspects the more comprehensive test you +have. Each impact generated and verified by test is a function of +(N1,N2,N3,N4,N5,N6,N7,N8) parameters. So, to build the total absolut +comprehensive test we have to build and verify all the possible +combinations of these input states. + +In this case we will miss nothing and the total coverage of testing +the operand delivering will be achieved. + +To build the test as a simple enumeration and verification +of all possible combinations of given above parameters would be +the simplest way. Though it would be usually much redundant we +would be happy and assured that the total coverage would be +actually achieved. + + Note: what actually is the mix of these (N1-N8) aspects? + + + REALITY, LIMITATIONS OF ACPICA ASL + ================================== + + But there are several limitations of ACPICA ASL which make +such simplest and the total coverage assured approach (absolute +test) impossible, because they prevent automated processing. +About all that below. In consequence of all that, it is remained +only to rely on the human factor, intuition and skill to achieve +the worthy covarage of the test. + + Elements of ASL Package could be only Integer, String, Buffer +and Package type objects. Other type objects could not be represented +immediately in Package. So, it is impossible to collect all the +desirable different type objects in Package and then refer them +in cycle. + + We can't pass Method with the Uninitialized object, so these +conditions should be also provided by the test as the immediate +references to the Uninitialized objects which prevents automated +processing as well. + + One more inconvenience for testing arises from the type conversion +functionality. Due to that some type objects could not be representes +not only as elements of Package, but also be passed to Method as parameters +(Buffer Field, Field Unit, etc..), since they are converted to either Integer +or Buffer types in the latter case. As a result, these conditions should +be provided by the test immediately also and can not be referred in cycle. + + The are similar limitations on return from method as well. + + Some groups of operators (Concatenate; Logical operators) have +particularities of Implicit Source Operand Conversion functionality +which also restricts uniformity of test for different operators. + + So, we cant run in cycle all the possible desirable combinations +(and aspects) of operands for all the ASL operators, because the ASL +limitations dont allow to achieve uniformity of the test building. +It is impossible to build the test which simply enumerates all +combinations and so achieve the total coverage. One more, such the +test will go during the huge boundless time. + + Thus, it is up to the skill of the designer of the test to choose +the main points to be verified in order to build the test which would +achieve the worthy coverage for the acceptible time of execution. + + So, maybe, attempt to divide operators on groups according to +the specific of their operands and one operator of each group verify +comprehensively, while other members of groups verify in a simplified +manner. Do that if the run time of the test increases extremely. + + So, because of the ASL limitations described above we cant implement +the comprehencive test, which would be proven to approximate to the absolute +test on coverage. But this specification and the tests adhered to it would +allow us to feel ourselves to be on the firm way to achieve the worthy coverage +and consider that we have done all needed from our side to achieve the +comprehencive tests. + + So, due to the limitations of ASL above, we refuse attempts to write the +common engine which would simplify our work and ensure the high coverage of +test. Nevertheless, write and apply where possible the common use methods. + + +Bugs of product revealed must be fixed in real time! Very, very much important! +Basing on the proper functionality provided by the target product you achieve +more and more deep testing. Once again, it is very much important. Otherwise, +the testing turns sour. + + + + COMPUTATIONAL DATA IMMEDIATE IMAGES + =================================== + + The table below contains the recommended variety of immediate images +for computational types: Integer, String, Buffer, Buffer Field, Field Unit, +Package. The table pretends to enumerate all the variety of them. + +(the Implicit Source Operand Conversion Rules are marked in the table #x +with (*). They are ... in this table. For example 8,32:b4,b25,b28 means ...) + + +Table 1. Computational data, immediate images + +Features of source Operands Features of target Operands + + | Integer | String | Buffer | +================================================================================== + | i1| 0321 | | 25 | 17 | + | i2| 9876543210 | | | | +I | i3| 0xc179b3fe | | 25,32:i3 | 17,32:i3 | +n | i4| 0xfe7cb391d650a284 | | 25,64:i4 | 17,64:i4 | +t | i5| 0 | | | | +e | i6| 0xffffffff | | | | +g | i7| 0xffffffffffffffff | | | | +e | i8| 0xabcdef | | | | +r | i9| 0xABCDEF | | | | + | i10| 0xff | | | | + | i11| 0xffffffffff | | | | +---------------------------------------------------------------------------------- + | s1| "0321" | 36 | | 28 | + | s2| "321" | | | | + | s3| "ba9876" | 36,32:s1,s4 | | 28,32:s1,s14, | + | s4| "c179b3fe" | 36,64:s1,s5 | | s12 | + | s5| "fe7cb391d650a284" | | | 28,64:s1,s14, | + | s6| "ffffffff" | 32:s8(exc) | | s12 | +S | s7| "ffffffffffffffff" | 64:s8(exc) | | | +t | s8| "fe7cb391d650a2841" | 32:s11(exc) | | | +r | s9| "9876543210" | 64:s11(exc) | | | +i | s10| "0xfe7cb3" | 32:s12(exc) | | | +n | s11| "1234q" | 64:s12(exc) | | | +g | s12| "" | 32:s13(exc) | | | + | s13| " " | 64:s13(exc) | | | + | s14| of size 200 bytes | 32:s10(exc) | | | + | - | >200, imps, bugs fix | 64:s10(exc) | | | + | s15| | | | | + | s16| "abcdef" | | | | + | s17| "ABCDEF" | | | | + | s18| "ff" | | | | + | s19| "ffffffffff" | | | | +---------------------------------------------------------------------------------- + | b1| B(1){b0} | 6,7 | 8,9 | | + | b2| B(2){b0,b1} | | | | + | b3| B() {b0,b1,b2} | 6,32:b6 | 8,32:b6,b20 | | + | b4| B(2){b0,b1,b2} | 6,64:b6 | 8,64:b6,b20 | | + | b5| B(3){b0,b1} | | | | + | b6| B(3){b0,b1,b2} | 7,32:b10 | 9,32:b21(exc) | | + | b7| B(4){b0,...,b3} | 7,64:b10 | 9,64:b21(exc) | | + | b8| B(5){b0,...,b4} | | | | + | b9| B(8){b0,...,b7} | | 32:b22(exc) | | + | b10| B(9){b0,b1,...,b8} | | 64:b22(exc) | | + | b11| B(257){b0} | | | | + | b12| B(257){b0,...,b256} | | | | + | b13| B(){b0,...,b256} | | | | + | b14| B(ArgX){=} | | | | +B | b15| B(ArgX){<} | | | | +u | b16| B(ArgX){>} | | | | +f | b17| B(LocalX){=} | | | | +f | b18| B(LocalX){<} | | | | +e | b19| B(LocalX){>} | | | | +r | b20| B(67){b0,...,b66} | | | | + | b21| B(68){b0,...,b67} | | | | + | b22| B(ArgX/LocalX==0){} | | | | + | b23| B(1){} | | | | + | b24| B(5){} | | | | + | b25| B(9){} | | | | + | b26| B(4){0,...,0} | | | | + | b27| B(8){0,...,0} | | | | + | b28| B(1){0xff} | | | | + | b29| B(4){0xff,...,0xff} | | | | + | b30| B(5){0xff,...,0xff} | | | | + | b31| B(8){0xff,...,0xff} | | | | + | b32| B(9){0xff,...,0xff} | | | | + | b33| B(5){0x12,...,0x90} | | | | + | b34| B(3){0xab,0xcd,0xef} | | | | + | b35| B(3){0xAB,0xCD,0xEF} | | | | + | b36| B(200){b0,...,b199} | | | | + | b37| B(201){b0,...,b200} | | | | +---------------------------------------------------------------------------------- +B | bf1| CF(:31) | 10 | | 11 | +u | bf2| CF(:32) | | | | +f | bf3| CF(:33) | 10,32:bf1,bf2 | | 11,32:bf3 | +f | bf4| CF(:63) | 10,64:bf4,bf5 | | 11,32:bf6 | +e | bf5| CF(:64) | | | | +r | bf6| CF(:65) | | 32:bf10(exc) | | + | bf7| CF(:0) | | 64:bf10(exc) | | +F | bf9| CF(:67*8) | | | | +i |bf10| CF(:68*8) | | | | +e |bf11| CF(:257*8) | | | | +l |bf12| BfField,3bytes+{0-16}| | | | +d |bf13| BfField,7bytes+{0-16}| | | | +---------------------------------------------------------------------------------- + | fu1| F(:31) | 14 | | 15 | +F | fu2| F(:32) | | | | +i | fu3| F(:33) | 14,32:fu1,fu2 | | 15,32:fu3 | +e | fu4| F(:63) | 14,64:fu4,fu5 | | 15,32:fu6 | +l | fu5| F(:64) | | | | +d | fu6| F(:65) | | 32:fu10(exc) | | + | fu7| F(:0) | | 64:fu10(exc) | | +U | fu9| F(:67*8) | | | | +n |fu10| F(:68*8) | | | | +i |fu11| F(:257*8) | | | | +t |fu12| Field,3bytes+{0-16} | | | | + |fu13| Field,7bytes+{0-16} | | | | +---------------------------------------------------------------------------------- +Package +================================================================================== + +Note: the Implicit Rules were a few changed since that! + + + START WITH THESE OPERATORS (and maybe don't go beyond that) + ========================== + + +This is a list of operators which are recomended +to be implemented in the first turn. + +List of operators which should be verified completely (all the +aspects of delivering operands to them should be verified). + +One-parameter operators: + + - Increment + - Decrement + - FindSetLeftBit + - one of these: ToBuffer, ToDecimalString, + ToHexString, ToInteger, + ToBCD, FromBCD + - Not + - SizeOf + - Store + - CopyObject + + All other one-parameter operators may be verified partially. + +Two-parameters operators: + + - Add + - Divide + - Multiply + - LGreater + - ToString + - Concatenate + - ShiftLeft + - Lor + - NAnd + - XOr + + All other two-parameters operators may be verified partially. + +Three-parameters operators: + + - Mid + +Six-parameters operators: + + - Match + +The tests of operands for the following operators +may be implemented separately in their per-operator tests: + + - If,Elseif + - While + +The positive (not exceptions) tests of operands for the +following operators have been done in per-operator tests: + + - Switch, Case + + + OPERATORS INFO + ============== + + The table below contains the list of operators assigned +with digital indexes in the alphabetical order: + - one-parameter (25 Operators) + - two-parameters (26 Operators) + - three-parameters (2 Operators) + - six-parameters (1 Operator) + + +Table 2. Operators + +// ////////////////////////////////////////////////////////////////////////// +// +// 1 parameter (25 Operators) +// +// 5 - CondRefOf (any, Result) => Boolean +// 6 - CopyObject (any, Destination) => DataRefObject +// * 7 - Decrement (int) => Integer +// 8 - DerefOf ({ref|str}) => Object +// * 11 - FindSetLeftBit (int, Result) => Integer +// * 12 - FindSetRightBit (int, Result) => Integer +// * 13 - FromBCD (int, Result) => Integer +// * 14 - Increment (int) => Integer +// * 22 - LNot (int) => Boolean +// * 31 - Not (int, Result) => Integer +// 32 - ObjectType (any) => Integer +// 34 - RefOf (any) => ObjectReference +// 35 - Release (mux) +// 36 - Reset (evt) +// 37 - Return ({any|ref}) +// 40 - Signal (evt) +// * 41 - SizeOf ({int|str|buf|pkg}) => Integer +// * 42 - Sleep (int) +// * 43 - Stall (int) +// 44 - Store (any, Destination) => DataRefObject +// * 46 - ToBCD (int, Result) => Integer +// * 47 - ToBuffer ({int|str|buf}, Result) => Buffer +// * 48 - ToDecimalString ({int|str|buf}, Result) => String +// * 49 - ToHexString ({int|str|buf}, Result) => String +// * 50 - ToInteger ({int|str|buf}, Result) => Integer +// +// 2 parameters (26 Operators) +// +// 0 - Acquire (mux, wrd) => Boolean +// * 1 - Add (int, int, Result) => Integer +// * 2 - And (int, int, Result) => Integer +// * 3 - Concatenate ({int|str|buf}, {int|str|buf}, Result) => ComputationalData +// * 4 - ConcatResTempl (rtb, rtb, Result) => Buffer +// * 9 - Divide (int, int, Remainder, Result) => Integer +// 15 - Index ({str|buf|pkg}, int, Destination) => ObjectReference +// * 16 - LAnd (int, int) => Boolean +// * 17 - LEqual ({int|str|buf}, {int|str|buf}) => Boolean +// * 18 - LGreater ({int|str|buf}, {int|str|buf}) => Boolean +// * 19 - LGreaterEqual ({int|str|buf}, {int|str|buf}) => Boolean +// * 20 - LLess ({int|str|buf}, {int|str|buf}) => Boolean +// * 21 - LLessEqual ({int|str|buf}, {int|str|buf}) => Boolean +// * 23 - LNotEqual ({int|str|buf}, {int|str|buf}) => Boolean +// * 24 - LOr (int, int) => Boolean +// * 27 - Mod (int, int, Result) => Integer +// * 28 - Multiply (int, int, Result) => Integer +// * 29 - NAnd (int, int, Result) => Integer +// * 30 - NOr (int, int, Result) => Integer +// * 33 - Or (int, int, Result) => Integer +// * 38 - ShiftLeft (int, int, Result) => Integer +// * 39 - ShiftRight (int, int, Result) => Integer +// * 45 - Subtract (int, int, Result) => Integer +// * 51 - ToString (buf, int, Result) => String +// * 52 - Wait (evt, int) => Boolean +// * 53 - XOr (int, int, Result) => Integer +// +// 3 parameters (2 Operators) +// +// 10 - Fatal (byt, dwd, int) +// * 26 - Mid ({str|buf}, int, int, Result) => Buffer or String +// +// 6 parameters (1 Operator) +// +// * 25 - Match (pkg, byt, int, byt, int, int) => Ones | Integer +// +// 1 parameter (5 Operators) +// +// * 54 - If (int) +// * 55 - Elseif (int) +// 56 - Switch ({int|str|buf}) +// 57 - Case ({int|str|buf|pkg}) +// * 58 - While (int) +// +// (*) - conversion is expected. Operators which are expected +// to have conversion of their operands. +// +// ////////////////////////////////////////////////////////////////////////// + + + STRUCTURE OF TEST + ================= + +1. Sub-test for aspect 1, verifications for all operators. +2. Sub-test for aspect 2, verifications for all operators. +N. Sub-test for aspect N, verifications for all operators. + +The valid operand checkings and invalid operand checkings +should be structurized as different runs - no exceptions +should be exercised during the valid operand checkings +execution. + + + TABLE OF AVAILABLE MIX OF ASPECTS + ================================= + + 1 2 3 4 5 6 7 8 + im loc ref exp mth conv oper misc + ---------------------------------------------------------------------------- + A | Images | | | | | | | | | + B | Locations | | | | | | | | | + C | References | | | | | | | | | + D | Expressions | | | | | | | | | + E | Methods | | | | | | | | | + F | Conversion | | | | | | | | | + G | Operators | | | | | | | | | + H | Miscellaneous | | | | | | | | | + ---------------------------------------------------------------------------- + + Example: A1 means ... + Note: you see, it is not ready. + + + PARTICULAR INFORMATION + ====================== + +Buffer Field operators should be passed directly only because ASL +doesnt allow to pass Buffer Field type objects without conversion +(they are converted to either Integer or Buffer types). + +Allocate Buffer Fields for both operands from the same buffer +(Buffer(20){}). Fill the entire Buffer with the zeros (units), +then fill the fields with the units (zeros) and check the contents +of the whole Buffer after Operator completion. + +Results should be written into LocalX, not to involve the +"Implicit Result Object Conversion". + +Perhaps, groups of operators can have the same checkings which can +be handled by the same methods (with different benchmark values) so +simplifying the designing of tests. But the rest of checkings should +be provided by the actions individual for the particular operators. + + + BRIEF RECOMENDATIONS (summary from above) + ==================== + + There should be the most important or usually forgotten things + + 1. use all type immediate Images + 2. use all type Locations + 3. use all type References + 4. use all type Expressions + 5. use Methods in expressions and expressions as parameters to Methods + 6. initiate all kind of Implicit Source Operand Conversion + 7. exercise all Operators + 8. apply recomendations given in Miscellaneous section + 9. use full and reduced forms of operators (mean optional Results) +10. use zero length Buffers +11. use uninitialized elements of Packages +12. use non-computational elements of Packages to (initiate/NOT initiate) + exceptions during conversion (Match..) +13. use Packages: uninitialized,...,uninitialized, +14. use all operators - ObjectType, SizeOf and LEqual to verify results +15. verify all the obtained results +16. check that the source objects were not corrupted by execution + (use all - ObjectType, SizeOf and LEqual) +17. remember about the NULL symbols of strings +18. mix different (all) aspects; the more you mix aspects + the more comprehensive test you have +19. add directives into Miscellaneous section and here while + increasing your skill of building the test +20. use the same object (and several such objects) + (ArgX,LocalX,Name(X)) in different operands and + Destination of the same operator +21. use the same object (and several such objects) + (ArgX,LocalX,Name(X)) in different operands of + different operators of the same expression +22. do the input control (ObjectType, SizeOf, LEqual) + of passed values (where needed) +23. check operators for unacceptable types of operands (exception occur) +24. for the acceptable types of operands check particular unacceptable + values (exception occur) +25. check that the result is of the same type as the benchmark + (use ObjectType, dont be satisfied with LEqual only) +26. the second operands of Logical operators are converted + to the type of the first ones; do the checkings which + show and confirm that +27. conversion of the second operands of Concatenate operator + is performed according to the table; do the checkings which + show and confirm that +28. use immediate invocations of operators in place of operands + of other operators +29. each operand of several-operands oprerators should be verified +30. before running the operation initialize the destination area + with the contr-data (zero expected, take unit; unit expected, + take zero); so you see that result does actual change +31. ... +--------------------------------------------------------- + + +/* +Do the table (or section): +========================== +Constants +Global named objects +Dynamical named objects +LocalX +ArgX +Element of Buffer +Element of String +Element of Package + (DerefOf(Index())) +Return of Method +Object by reference +... +*/ + +/* +SEE: update all concerning the Table 17-8 Object Conversion Rules + (because specs where changed!): + Table 1 + file: conversion_table + tests:... +*/ + +/* +See: LocalX/ArgX + +- different size of source operator + Integer, 0xff, 0xffff, 0xffffff, ... +- bit of sign of value +- all the available symbols (in all positions of 0-9,a-f,A-F) +- 32/64 +- all unavailable symbols (all except 0-9,a-f,A-F) +- combinations of all available/unavailable symbols +- B(ArgX){...} +- B(LocalX){...} +- particular test: Store Buffer/Integer into String + which (String) is far longer then Buffer/Integer. + The String immage will be reduces. Then attempt to + work with the rest of String ouside of the new its + contents (behind the null symbol of String). +- reference as an element of Package +- verify 64-bit values in 32-bit mode +*/ + +/* +SEE: pseudo accidental test +*/ + +/* +???????? what in practice are this mix of aspects ??????????? +??????? see is that possible to use expressions in result ?????? +????? uninitialized data of Package - use them ????? +*/ diff --git a/tests/aslts/doc/plan/OperatorsHaveNoSeparateTests b/tests/aslts/doc/plan/OperatorsHaveNoSeparateTests new file mode 100644 index 0000000..c166211 --- /dev/null +++ b/tests/aslts/doc/plan/OperatorsHaveNoSeparateTests @@ -0,0 +1,129 @@ +Friday, April 22, 2005 6:17 PM +(some stuff can be obsolete) +============================== + + + Below are enumerated all the ASL operators + (32) which for now have no separate tests. + + + + 1. Intensively applied in other tests and thus + might be considered being already verified. + + Do simple separate test for each ot these + operators which will be the places where, + in the future, the additional sub-tests for + these operators, if any, could be located. + +ArgX +LocalX +Name +Buffer +String +Store +CopyObject + + 2. Indirectly verified + +Include + + 3. There is no usual way to verify them. + + The tests might be either omitted or could be done + basing on the extension of the "memory consumption + instrumentation" supplying the ASL tests with the + required internal information. + +Fatal +Notify + + 4. Can't be verified in our test suite + +Load +Unload +External +LoadTable +BreakPoint +DefinitionBlock (each test is represented as this kind block) +DataTableRegion + + 5. It is not worthy of to be definitely verified. + + Do simplest test, check only that execution + of this operator doesn't produce exception. + + 17.5.83 NoOp Description: This operation has no effect. + + To verify the sentence like the above definitely is too + complicated thing - if you have proved it for N conditions + it nevertheless can fail in (N+1)-th condition. The relevant + test should involve all the possible functionality of the + interpreter inserting everywhere this NoOp and verifying + everything each time. + Apparently, it is not worth the trouble. + It is a simple operator and it can be and should be + implemented with the care once. + +NoOp + + 6. Can in principle be ever in the future verified + (applying auxiliary script) + + (see e-mail RE:Planning ACPICA validation 19.11.2004, + 303_test_for_debug attachment for more details) + +Debug + + 7. Do the simple test, but not comprehensive + + The comprehensive verification of this operator + could be conceived based on the following principle + - do replacement of all (or most of them, or at least + globally declared of them) the objects applied in the + test suite by the Aliases to them. This could be done + basing on the conditional #if ASL compilation which is + not provided now by iASL, and require the separate + compilation and run of the test suite. + + Such the comprehensive test would actually show that + "AliasObject acts exactly the same as SourceObject" + (as far as the test suite actually provides coverage). + + But we have at least one reason for the simple test, + but not comprehensive - there is no #if ASL ability, + and the second issue is either the verification of + this operator is worthy of the considerable and full + of work restructurization of the test suite. + + We propose to do the simple test which use only + ObjectType (and SizeOf) for verification of each + type of SourceObject. One more checking will be + the overwritings with the different type object: + + CopyObject(XXX, AliasObject) --> check SourceObject + CopyObject(XXX, SourceObject) --> check AliasObject + + This operator doesn't add functionality, it is only for + convenience (but since provided it should be verified). + +Alias + + 8. Require the new tests designing and implementing + +Return +Method +Function + +Field +BankField +IndexField +OperationRegion + +Scope +Device +Processor +ThermalZone +PowerResource + + diff --git a/tests/aslts/doc/plan/RemainingWork.htm b/tests/aslts/doc/plan/RemainingWork.htm new file mode 100644 index 0000000..2d0d8c8 --- /dev/null +++ b/tests/aslts/doc/plan/RemainingWork.htm @@ -0,0 +1,1151 @@ + + + + + + +From: Podrezov, Valery +A
Sent: Friday, April 22, 2005 6:17 PM
To: Brown, +Len
Cc: Moore, Robert; Khartikov, Denis M; Suietov, Fiodor +F
Subject: Remaining work

Attachments: +operators_have_no_separate_tests
+
+

 

+

   Remained +work,

+

   the time and +priority of work estimation.

+

 

+

   We are open for +discussion.

+

 

+

Thanks

+

 

+

 

+

PRIORITIES +OF TESTS

+

 

+

   0  +highest, important for correct and effective work

+

   1  +verified functionality is not of high importance

+

   2  mostly +verified by other tests

+

   3  +verifying of not "standard" features

+

   4  (bit +fields of operation region) looks very important,

+

      +but hardware dependent and insufficiently specified +for

+

      +to be verified; it is not clear from the +specification

+

      +which actions and the relevant reactions we can +operate

+

      +to verify this functionality; thus, it looks that +only

+

      +low range of functionality can actually be there +verified;

+

      +we can spend much time on trying to find out the +grains

+

      +of hardware independent features capable for +testing

+

      +but obtain the low effect in result.

+

 

+

      +To continue our efforts in this direction

+

      +we have to obtain clear information of the

+

      +features (expected actions & reactions) and

+

      +the information which of them are actually

+

      +supported by AcpiExec.

+

 

+

  NO  omit testing +at all, impossible to verify

+

      +in our test suite

+

 

+

SUMMARY +TIME ESTIMATION (in weeks for one person)

+

 

+

      +TIME(priority): <time/person>

+

 

+

   1. +TIME(2):  1 week/person

+

   2. +TIME(1):  1 hour/person

+

   3. +TIME(1):  1 day/person

+

   4. +TIME(3):  1 week/person

+

   5. +TIME(0):  1 week/person

+

   6. +TIME(0):  3 days/person

+

   7. +TIME(4):  find difficulty in time estimation

+

   8. TIME(NO): +0

+

   9. +TIME(0):  4 weeks/person (at least)

+

  10. TIME(0):  4 +weeks/person

+

  11. TIME(0):  2 +weeks/person

+

  12. TIME(0):  3 +weeks/person

+

  13. TIME(0):  1 +week/person

+

  14. TIME(2):  1 +week/person

+

  15. TIME(3):  1 +week/person

+

  16. TIME(3):  1 +week/person

+

  17. TIME(3):  1 +week/person

+

  18. TIME(3):  2 +days/person

+

 

+

      +Summary Time by priorities (in weeks for one +person):

+

 

+

         +Priority 0: 16 weeks/person

+

         +Priority 1:  1 week/person

+

         +Priority 2:  2 weeks/person

+

         +Priority 3:  5 weeks/person

+

         +Priority 4:    XXX

+

 

+

 

+

Time +of test design/implementing depends on:

+

 

+

 1) the considerable +part of time is usually spent on

+

    +clarification of the actually expected behaviour of

+

    the +subject of testing.

+

 

+

 2) fixing of current +bugs is an actually essential point

+

    in +designing and implementing the tests. It allows +more

+

    deep and +more quick implementation of the tests. Basing

+

    on the +current set of correct functionality we feel the

+

    product +by our tests more and more deeply. The current

+

    bugs +forces us to comment parts of tests, stop +implementing

+

    the new +parts of tests based on the features which work

+

    +improperly.

+

 

+

 

+

DETAILS

+

 

+

 

+

      +* ====================================================== +*

+

      +*    A. Functional tests for particular ASL +operators    *

+

      +* ====================================================== +*

+

 

+

   +1. TIME(2): 1 week/person

+

 

+

      +Do simplest separate test for each of these +operators

+

      +which will be locations for further possible +additions

+

 

+

      +(see e-mail RE:Planning ACPICA validation +19.11.2004,

+

       +304_simple_tests attachment for more details)

+

 

+

      +a) intensively applied in other tests and thus

+

         +might be considered being already verified

+

 

+

ArgX

+

LocalX

+

Name

+

Integer

+

String

+

Buffer

+

Store

+

CopyObject

+

 

+

      +b) will be verified comprehensively

+

         +in the new Name Space Complex test

+

 

+

Scope

+

Device

+

Processor

+

ThermalZone

+

PowerResource

+

 

+

   +2. TIME(1): 1 hour/person

+

 

+

      +Do simplest test, check only that execution

+

      +of this operator doesn't produce exception.

+

 

+

      +It is of low importance but doesn't require much +time.

+

 

+

      +(see operators_have_no_separate_tests for more +information)

+

 

+

NoOp

+

 

+

   +3. TIME(1): 1 day/person

+

 

+

      +Do the simple test, but not comprehensive

+

 

+

      +(see operators_have_no_separate_tests for more +information)

+

 

+

Alias

+

 

+

   +4. TIME(3): 1 week/person

+

 

+

      +The test of "implicit return".

+

 

+

      +Implement the slack-mode test suite run,

+

      +and the test of "implicit return".

+

      +Add the relevant comment in README.

+

 

+

Return

+

 

+

   +5. TIME(0): 1 week/person

+

 

+

      +The functional test Return.

+

 

+

      +1. All different type declaration of Return.

+

      +2. Return different type objects.

+

      +3. Return references to different type objects.

+

      +4. Return Index references to elements of String,

+

         +Buffer and Package.

+

      +5. Return from different critical points of

+

         +the Method execution control operations:

+

         +If,ElseIf,Else,While,Switch,Case,Default.

+

 

+

Return

+

 

+

   +6. TIME(0): 3 days/person

+

 

+

      +Verify all assertions given in 17.5.49,

+

      +17.5.75 and 5.5.2 of ACPI specification.

+

 

+

Method

+

Function

+

 

+

   +7. TIME(4): find difficulty in time +estimation

+

 

+

      +Bit fields complex test.

+

 

+

      +Very important, but looks hardware dependent

+

      +and insufficiently specified for to be verified.

+

 

+

      +Depends on particularities emulated by AcpiExec.

+

      +Looks that the tests will mostly verify emulation

+

      +(if any) of hardware which task is not important

+

      +as such, and it (emulation) may even be not +provided

+

      +at all.

+

 

+

      +The ACPI specification is not sufficient to

+

      +understand which actions we can perform and

+

      +which reactions we should expect for those

+

      +actions.

+

 

+

      +It is not clear, which of these actions and +reactions

+

      +are hardware dependent and, thus, could not be +verified

+

      +in our test suite and which actions and reactions +are

+

      +emulated and thus can be verified in our test +suite.

+

 

+

Field

+

BankField

+

IndexField

+

OperationRegion

+

Offset

+

AccessAs

+

 

+

   +8. TIME(NO): 0

+

 

+

      +Omit testing at all, impossible to verify

+

      +in our test suite.

+

 

+

      +(see operators_have_no_separate_tests for more +information)

+

 

+

Debug

+

Include

+

Fatal

+

Notify

+

Load

+

Unload

+

External

+

LoadTable

+

BreakPoint

+

DefinitionBlock

+

DataTableRegion

+

 

+

 

+

      +* ====================== *

+

      +*    B. Complex tests    +*

+

      +* ====================== *

+

 

+

   +9. TIME(0): 4 weeks/person (at least)

+

 

+

      +The name space complex test.

+

 

+

      +Important.

+

 

+

      +Check the proper read and write access to the

+

      +objects in the namespace hierarchy generated by

+

      +the operators which open the new name scopes:

+

 

+

         +Scope

+

         +Device

+

         +Processor

+

         +ThermalZone

+

         +PowerResource

+

 

+

         +Method

+

         +Function

+

         +DefinitionBlock

+

 

+

      +These will be a group of sub-tests which will be

+

      +generating the different hierarchies of different

+

      +type objects (opening the new name scopes) and do

+

      +read and write operations in the critical points

+

      +passing them with the operands by all the possible

+

      +ways (mean absolute name, parent relative name,

+

      +current scope relative name, simple (search rules

+

      +apply) name, by reference, by alias, etc..) and

+

      +verify the obtained values.

+

 

+

      +From different nodes of the tree do access

+

      +(write/read) to different objects of other

+

      +nodes of the tree.

+

 

+

      +(see e-mail RE:Planning ACPICA validation +19.11.2004,

+

       +312_path_name attachment for more details)

+

 

+

  +10. TIME(0): 4 weeks/person

+

 

+

      +The declaration complex test.

+

 

+

      +Important and dont clear from ACPI specs.

+

 

+

      +The ACPICA allows an arbitrary place of different

+

      +declarations. Nevertheless, this causes some +warnings,

+

      +crashes and other issues. This should be clarified +and

+

      +verified.

+

 

+

      +(see e-mail RE:Planning ACPICA validation +19.11.2004,

+

       +311_test_names_accessibility attachment

+

       +for more details)

+

 

+

       +Addition feature: check that names declared by

+

       +Method are dead after the Method completion.

+

 

+

  +11. TIME(0): 2 weeks/person

+

 

+

      +Dynamic object deletion complex test.

+

 

+

      +Important for interpreter effective work.

+

 

+

      +To implement the "ACPICA extension",

+

      +a set of common ASL Methods to verify

+

      +the obtained memory consumption statistics

+

      +and the base set of the relevant ASL tests.

+

 

+

 

+

THE +TESTS IN PROGRESS

+

 

+

  +12. TIME(0): 3 weeks/person

+

 

+

      +Complex test of references.

+

 

+

      +Verify all the aspects of access by

+

      +Object and Index references.

+

 

+

      +Remained to do:

+

 

+

   a) Specify +about 10 new sub-tests which now are

+

      +designated only. The total amount of sub-tests

+

      +will be then about 90.

+

 

+

   b) Report the +current bugs which are revealed

+

      +by the current state of test.

+

 

+

   c) Wait for +discussing and fixing current bugs.

+

      +After that implement the remained sub-tests.

+

      +Before that do something of scheduled.

+

 

+

      +Implemented for now are 60 sub-tests.

+

 

+

   d) The +reference beheviour is estimated on

+

      +ACPI compliance, legacy and sufficiency,

+

      +convenience and predictability.

+

 

+

   e) Report +remarks about the free and wide use of

+

      +"reference" word in ACPI specification which

+

      +produces the real mistakes and contradictions

+

      +of ACPI specification.

+

 

+

  +13. TIME(0): 1 week/person

+

 

+

      +Functional test of Match operator.

+

      +Functional test of Switch/Case/Default operators.

+

 

+

      +Update of these tests started after change of the

+

      +Match operator (bug 88) has not yet been completed.

+

 

+

 

+

THE +TESTS REQUIRE UPDATE

+

 

+

  The tests which don’t +conform to the new

+

  changed ACPI +specification.

+

 

+

  +14. TIME(2): 1 week/person

+

 

+

      +Some tests were broken after the change of

+

      +functionality of Store operator (started with

+

      +e-mail "Behavior of Store() ASL operator").

+

 

+

      +Tests:

+

 

+

        + aslts/src/runtime/collections/complex/result/tests/rconversion

+

         +aslts/src/runtime/collections/complex/operand/tests/oconversion

+

 

+

 

+

REVIEW +ACPICA AGAINST ASLTS

+

 

+

  +15. TIME(3): 1 week/person

+

 

+

      +Review the state of ACPICA against the

+

      +tests suite and prepare summary of bugs.

+

 

+

 

+

PREPARE +THE SECOND RELEASE OF TEST SUITE

+

 

+

      +(see e-mail RE:Planning ACPICA validation +19.11.2004,

+

       +200_prepare_version and 201_cosmetic_update

+

       +attachments)

+

 

+

  +16. TIME(3): 1 week/person

+

 

+

      +Clean up code, remove the working comments.

+

      +Prepare files commented "in progress".

+

      +Comment the particular tests.

+

      +Do READMEs and HOW_TO_* files up to date and prepare some +new.

+

 

+

  +17. TIME(3): 1 week/person

+

 

+

      +Prepare the test suite description.

+

 

+

 

+

NEW +ADDITIONAL TESTS AND IMPROVEMENTS

+

 

+

  +18. TIME(3): 2 days/person

+

 

+

      +Describe all the thoughts of possible

+

      +improvement and new additional tests

+

      +and put it with the test suite.

+

 

+

-end

+

 

+

 

+

 

diff --git a/tests/aslts/doc/plan/addition b/tests/aslts/doc/plan/addition new file mode 100644 index 0000000..4c9d70a --- /dev/null +++ b/tests/aslts/doc/plan/addition @@ -0,0 +1,37 @@ +Free layout to record remarks about additional tests +to be done ever (some remarks can be obsolete). +==================================================== + +1. See file aslts/NOTE for the issues to be verified. + +2. At present, no tests which automatically verify the constant folding. + The tests can be implemented basing on: + - analyzing the output of AML disassembler + - our "Test Command Interface with the ACPI + implementation (_TCI)" instrumentation + +3. It seems that we have no simple tests for + Store/Copy without expected conversions: + String -->> String + Buffer -->> Buffer + Package -->> Package + ... + +4. http://bugzilla.kernel.org/show_bug.cgi?id=5490 + check exception AE_AML_METHOD_LIMIT + + checking of AE_AML_METHOD_LIMIT limits (32 and 256) + should be performed in a separate tests. + +5. Do the tests which will show that inappropreate bit-sizes are applied. + For example, exoparg2.c: Operand[0]->Buffer.Length - 32-bit + while "ACPI_SIZE Length" - 16/32/64. + Bug 124 was about something like that. + +6. Multi-threading (now (07.07.2006) started, in progress) + to check different functionality of ACPICA in the + multi-threading conditions. + +7. Continue mt-tests. + +8. Compare the raw performance of the two interpreters (MS and ACPICA). \ No newline at end of file diff --git a/tests/aslts/src/Makefile b/tests/aslts/src/Makefile new file mode 100644 index 0000000..3d4314c --- /dev/null +++ b/tests/aslts/src/Makefile @@ -0,0 +1,6 @@ +# src + +MDIRS = runtime + +TOP= .. +include $(TOP)/Makefile.switch diff --git a/tests/aslts/src/README b/tests/aslts/src/README new file mode 100644 index 0000000..b8f60ed --- /dev/null +++ b/tests/aslts/src/README @@ -0,0 +1,16 @@ + +CONTENTS + + source code of tests + +compilation + + ASL-compilation control test collection. The tests check ability + of ASL compiler to reveal and report incorrect ASL code. No AML code + is produces in result. The output of compilation should contain all + the expected Error/Warning messages. + +runtime + + The tests of these collections are correct ASL codes which should + be compiled to AML code and then passed to acpiexec utility. \ No newline at end of file diff --git a/tests/aslts/src/compilation/README b/tests/aslts/src/compilation/README new file mode 100644 index 0000000..cbd8c1f --- /dev/null +++ b/tests/aslts/src/compilation/README @@ -0,0 +1,9 @@ + +CONTENTS + + ASL-compilation control test collection + + +collection + + ASL-compilation control test collection diff --git a/tests/aslts/src/compilation/collection/MAIN.asl b/tests/aslts/src/compilation/collection/MAIN.asl new file mode 100644 index 0000000..595f064 --- /dev/null +++ b/tests/aslts/src/compilation/collection/MAIN.asl @@ -0,0 +1,59 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +// ASL-compilation control tests collection + +// Bug (-1). +// The comment string "//" in the last line checks bug (-1). + +DefinitionBlock( + "compilation.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + // All declarations + Include("./arithmetic.asl") + Include("./bfield.asl") + Include("./constant.asl") + Include("./control.asl") + Include("./descriptor.asl") + Include("./extern.asl") + Include("./local.asl") + Include("./logic.asl") + Include("./manipulation.asl") + Include("./name.asl") + Include("./reference.asl") + Include("./region.asl") + Include("./synchronization.asl") + Include("./table.asl") + Include("./misc.asl") +} // \ No newline at end of file diff --git a/tests/aslts/src/compilation/collection/README b/tests/aslts/src/compilation/collection/README new file mode 100644 index 0000000..a07fdc5 --- /dev/null +++ b/tests/aslts/src/compilation/collection/README @@ -0,0 +1,7 @@ + +CONTENTS + + ASL-compilation control test collection + + The contents of test is split into several files according + to the groups of ASL operators which are examined. \ No newline at end of file diff --git a/tests/aslts/src/compilation/collection/arithmetic.asl b/tests/aslts/src/compilation/collection/arithmetic.asl new file mode 100644 index 0000000..5935e47 --- /dev/null +++ b/tests/aslts/src/compilation/collection/arithmetic.asl @@ -0,0 +1,29 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 diff --git a/tests/aslts/src/compilation/collection/bfield.asl b/tests/aslts/src/compilation/collection/bfield.asl new file mode 100644 index 0000000..882a38d --- /dev/null +++ b/tests/aslts/src/compilation/collection/bfield.asl @@ -0,0 +1,62 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 Fields + +// Compiler crashed for Create*Field with FieldName specified +// by LocalX and ArgX. +Method(m100, 4) +{ + // 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) +} diff --git a/tests/aslts/src/compilation/collection/constant.asl b/tests/aslts/src/compilation/collection/constant.asl new file mode 100644 index 0000000..213bc4d --- /dev/null +++ b/tests/aslts/src/compilation/collection/constant.asl @@ -0,0 +1,29 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 diff --git a/tests/aslts/src/compilation/collection/control.asl b/tests/aslts/src/compilation/collection/control.asl new file mode 100644 index 0000000..7b757fe --- /dev/null +++ b/tests/aslts/src/compilation/collection/control.asl @@ -0,0 +1,85 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 + +// The same values in Case: two Case(0) +Method(m300, 1) +{ + Switch(ToInteger(Arg0)) { + case (0) { + Store("Case 0", Debug) + } + case (0) { + Store("Case 0, also", Debug) + } + } +} + +// The same values in Case: +// two the same values in Package of Case. +Method(m301, 1) +{ + Switch(ToInteger(Arg0)) { + Case (Package(2) {7, 7}) { + Store("Case 0", Debug) + } + } +} + +// Switch(Arg0) +// Warning 2091 ^ Switch expression is not a static +// Integer/Buffer/String data type, defaulting to Integer +Method(m302, 1) +{ + Switch(Arg0) { + case (0) { + Store("Case 0", Debug) + } + } +} + +// MicroSeconds parameter is too large +Method(m303) +{ + // Ok yet + Stall(100) + + // To be reported + Stall(101) +} + +// Statement is unreachable +Method(m304) +{ + Store("Point 0", Debug) + + Return (0) + + Store("Point 1", Debug) +} diff --git a/tests/aslts/src/compilation/collection/descriptor.asl b/tests/aslts/src/compilation/collection/descriptor.asl new file mode 100644 index 0000000..eafe983 --- /dev/null +++ b/tests/aslts/src/compilation/collection/descriptor.asl @@ -0,0 +1,298 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 + +// For each Resource Descriptor Macro declaration +// below Error/Warning is expected. + +// The same descriptor names, DN00, in the same scope +Method(m400) +{ + 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 ( , 0x0000, 0xffff, 0x0001, 0xfffe, DN00) + Memory24 ( , 0x0000, 0xffff, 0x0001, 0xfffe, DN00) + }) + Name(RT04, + ResourceTemplate () { + IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, DN00) + IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5, DN00) + }) +} + +Method(m401) +{ + Name(RT00, + ResourceTemplate () { + DMA (Compatibility, NotBusMaster, Transfer8) {8} + }) + Name(RT01, + ResourceTemplate () { + DMA (TypeA, NotBusMaster, Transfer8) {0, 0} + }) +} + +Method(m402) +{ + Name(RT00, + ResourceTemplate () { + DWordIO ( , , , , , + 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, 0x0f) + }) + Name(RT01, + ResourceTemplate () { + DWordIO ( , , , , , + 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,, "PATHPATHPATH") + }) +} + +Method(m403) +{ + Name(RT00, + ResourceTemplate () { + DWordMemory ( , , , , , , + 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, 0x0f) + }) + Name(RT01, + ResourceTemplate () { + DWordMemory ( , , , , , , + 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,, "PATHPATHPATH") + }) +} + +Method(m404) +{ + Name(RT00, + ResourceTemplate () { + DWordSpace (0xc0, , , , , 0x5a, + 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff, 0x0f) + }) + Name(RT01, + ResourceTemplate () { + DWordSpace (0xc0, , , , , 0x5a, + 0xecedeeef, 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff,, "PATHPATHPATH") + }) +} + +Method(m405) +{ + Name(RT00, + ResourceTemplate () { + Interrupt (ResourceConsumer, Edge, ActiveLow, Shared, 0x0f) + {0xfcfdfeff} + }) + Name(RT01, + ResourceTemplate () { + Interrupt (ResourceConsumer, Edge, ActiveLow, Shared,, "PATHPATHPATH") + {0xfcfdfeff} + }) + Name(RT02, + ResourceTemplate () { + Interrupt (ResourceConsumer, Edge, ActiveLow, Shared) {9, 9} + }) + Name(RT03, + 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,256} + }) +} + +Method(m406) +{ + Name(RT00, + ResourceTemplate () { + IRQ (Edge, ActiveLow, Shared) {16} + }) + Name(RT01, + ResourceTemplate () { + IRQ (Level, ActiveLow, Shared) {9, 9} + }) +} + +Method(m407) +{ + Name(RT00, + ResourceTemplate () { + IRQNoFlags () {16} + }) + Name(RT01, + ResourceTemplate () { + IRQNoFlags () {9, 9} + }) +} + +Method(m408) +{ + Name(RT00, + ResourceTemplate () { + QWordIO ( , , , , , + 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef, + 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, 0x0f) + }) + Name(RT01, + ResourceTemplate () { + QWordIO ( , , , , , + 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef, + 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,, "PATHPATHPATH") + }) +} + +Method(m409) +{ + Name(RT00, + ResourceTemplate () { + QWordMemory ( , , , , , , + 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef, + 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, 0x0f) + }) + Name(RT01, + ResourceTemplate () { + QWordMemory ( , , , , , , + 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef, + 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,, "PATHPATHPATH") + }) +} + +Method(m40a) +{ + Name(RT00, + ResourceTemplate () { + QWordSpace (0xc0, , , , , 0x5a, + 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef, + 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, 0x0f) + }) + Name(RT01, + ResourceTemplate () { + QWordSpace (0xc0, , , , , 0x5a, + 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef, + 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,, "PATHPATHPATH") + }) +} + +Method(m40b) +{ + Name(RT00, + ResourceTemplate () { + Register (SystemMemory, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9, 5) + }) +} + +Method(m40c) +{ + Name(RT00, + ResourceTemplate () { + VendorShort () {0x00, 0x81, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7} + }) + Name(RT01, + ResourceTemplate () { + VendorShort (VS00) {0x00, 0xa2, 0xb3, 0x76, 0xd5, 0xe6, 0xf7} + }) +} + +Method(m40d) +{ + Name(RT00, + ResourceTemplate () { + WordBusNumber ( , , , , + 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff, 0x0f) + }) + Name(RT01, + ResourceTemplate () { + WordBusNumber ( , , , , + 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,, "PATHPATHPATH") + }) +} + +Method(m40e) +{ + Name(RT00, + ResourceTemplate () { + WordIO ( , , , , , + 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff, 0x0f) + }) + Name(RT01, + ResourceTemplate () { + WordIO ( , , , , , + 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,, "PATHPATHPATH") + }) +} + +Method(m40f) +{ + Name(RT00, + ResourceTemplate () { + WordSpace (0xc0, , , , , 0x5a, + 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff, 0x0f) + }) + Name(RT01, + ResourceTemplate () { + WordSpace (0xc0, , , , , 0x5a, + 0xf6f7, 0xf8f9, 0xfafb, 0xfcfd, 0xfeff,, "PATHPATHPATH") + }) +} + +// An example to provoke message: +// "nsaccess-0713: *** Warning: NsLookup: Type mismatch on +// M40f (Method), searching for (ResourceDesc)". +// Expect a compiler error because the Descriptorname M40f and +// the Method m40f are defined on the same scope. +Name(M410, + ResourceTemplate () { + DMA (Compatibility, NotBusMaster, Transfer8, M40f) {0} +}) diff --git a/tests/aslts/src/compilation/collection/extern.asl b/tests/aslts/src/compilation/collection/extern.asl new file mode 100644 index 0000000..4586ed0 --- /dev/null +++ b/tests/aslts/src/compilation/collection/extern.asl @@ -0,0 +1,29 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +// ASL compiler controls diff --git a/tests/aslts/src/compilation/collection/local.asl b/tests/aslts/src/compilation/collection/local.asl new file mode 100644 index 0000000..c461a81 --- /dev/null +++ b/tests/aslts/src/compilation/collection/local.asl @@ -0,0 +1,41 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 + +Method(m600) +{ + Store(Local0, Debug) + Store(Local1, Debug) + Store(Local2, Debug) + Store(Local3, Debug) + Store(Local4, Debug) + Store(Local5, Debug) + Store(Local6, Debug) + Store(Local7, Debug) +} diff --git a/tests/aslts/src/compilation/collection/logic.asl b/tests/aslts/src/compilation/collection/logic.asl new file mode 100644 index 0000000..f710571 --- /dev/null +++ b/tests/aslts/src/compilation/collection/logic.asl @@ -0,0 +1,29 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 diff --git a/tests/aslts/src/compilation/collection/manipulation.asl b/tests/aslts/src/compilation/collection/manipulation.asl new file mode 100644 index 0000000..1427cb7 --- /dev/null +++ b/tests/aslts/src/compilation/collection/manipulation.asl @@ -0,0 +1,29 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 diff --git a/tests/aslts/src/compilation/collection/misc.asl b/tests/aslts/src/compilation/collection/misc.asl new file mode 100644 index 0000000..ca90e66 --- /dev/null +++ b/tests/aslts/src/compilation/collection/misc.asl @@ -0,0 +1,112 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 tests which are difficult to bring +// into correlation with the particular known group + +Method(me00) +{ + Store("\x00", Debug) + Store("\x000123", Debug) + Store("\x00123", Debug) + Store("\x00xyz", Debug) + Store("1\x00", Debug) + Store("z\x00", Debug) + Store("2\x000123", Debug) + Store("x\x000123", Debug) + Store("3\x00xyz", Debug) + Store("w\x00xyz", Debug) +} + +// Strings originally exceeding the maximal size, 200 symbols +Method(me01) +{ + Store("012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", Local0) + Store(Local0, Debug) +} + +/* + * Locally Created Data Objects are used before they + * are actually created though they are dynamic objects + * which appears only after execution of the relevant + * operator (Name in our example). + * + * 5.5.2.4 Local Variables and Locally Created Data Objects: + * NameSpace objects created within the scope of a method + * are dynamic. They exist only for the duration of the + * method execution. They are created when specified by + * the code... + */ +Method(me02) +{ + Store(0x12345678, n000) + Name(n000, 0) +} + +// Commented, because it stops translation. +// // From Bug 62. +// Method(me02) +// { +// // Name(s001, "\\sq\"v") +// Name(s002, "\sq"v") +// } + +Method(me03) +{ + Store("me03", Debug) +} + +// Method(me03) +// Errorb1034 - ^ Name already exists in scope (ME03) +Method(me03) +{ + Store("me03", Debug) +} + +// Name(n000, 0) +// Error 1034 - ^ Name already exists in scope (N000) +Method(me04) +{ + Name(n000, 0) + Name(n000, 0) + + Store(n000, Debug) +} + +// Name(n000, 0) +// Error 1034 - ^ Name already exists in scope (N000) +Method(me05) +{ + Name (VV, 0x1234) + Store (32, Local0) + + Name (VV, 0xBBBBAAAA) + Store (12, Local2) +} + + diff --git a/tests/aslts/src/compilation/collection/name.asl b/tests/aslts/src/compilation/collection/name.asl new file mode 100644 index 0000000..6701b95 --- /dev/null +++ b/tests/aslts/src/compilation/collection/name.asl @@ -0,0 +1,373 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 + + +// Packages + +// Effective AML package length is zero +Method(m900) +{ + Name(p000, Package() {}) +} + +// Effective AML package length is zero +Method(m901) +{ + Name(p000, Package(0) {}) +} + +// Effective AML package length is zero +Method(m902) +{ + Name(p000, Package(0) {0,1,2,3}) +} + +// Size exceeds 255 (It is an error for NumElements to exceed 255) +Method(m903) +{ + Name(p000, Package(256) {0,1,2,3,4,5,6,7,8,9}) +} + +// It is an error for NumElements to be less than the number +// of elements in the PackageList. +// +// Apparently, it will be updated: +// +// From: Moore, Robert +// Sent: Saturday, February 12, 2005 3:44 AM +// To: Therien, Guy; Hanumant Yadav; Tim Lewis +// Cc: Podrezov, Valery A; Suietov, Fiodor F +// Subject: ACPI errata for Package (2) +// +// "The Moscow validation team asked about this discrepancy" +// "Why is there a difference in behavior between BuffSize +// and NumElements? Aren�t they essentially the same thing? +// I would propose that we update Package to behave the same +// as Buffer. Bob" +Method(m904) +{ + Name(p000, Package(3) {0,1,2,3,4,5,6,7,8,9}) +} + +// NumElements > 255 +Method(m905) +{ + 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, 97, 98, 99, + + // 100 + 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 + 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 + 255 + }) +} + +// ArgX + +Method(m906) +{ + return (0) +} + +Method(m907, 1) +{ + return (0) +} + +Method(m908, 2) +{ + return (0) +} + +Method(m909, 3) +{ + return (0) +} + +Method(m90a, 4) +{ + return (0) +} + +Method(m90b, 5) +{ + return (0) +} + +Method(m90c, 6) +{ + return (0) +} + +Method(m90d, 7) +{ + return (0) +} + +// Extra param +Method(m90e, 8) +{ + return (0) +} + +Method(m90f, 7) +{ + m906(0) + m907(0,0) + m908(0,0,0) + m909(0,0,0,0) + m90a(0,0,0,0,0) + m90b(0,0,0,0,0,0) + m90c(0,0,0,0,0,0,0) + m90d(0,0,0,0,0,0,0,0) + m90e(0,0,0,0,0,0,0,0) + + return (0) +} + +Method(m910) +{ + Store(Arg0, Debug) + Store(Arg1, Debug) + Store(Arg2, Debug) + Store(Arg3, Debug) + Store(Arg4, Debug) + Store(Arg5, Debug) + Store(Arg6, Debug) + // Extra + Store(Arg7, Debug) + + return (0) +} + +Method(m911, 1) +{ + return (Arg1) +} + +Method(m912, 2) +{ + return (Arg2) +} + +Method(m913, 3) +{ + return (Arg3) +} + +Method(m914, 4) +{ + return (Arg4) +} + +Method(m915, 5) +{ + return (Arg5) +} + +Method(m916, 6) +{ + return (Arg6) +} + +Method(m917, 7) +{ + return (Arg7) +} + +Method(m918) +{ + Name(db00, Debug) +} + + +// Data of not Namestring type in the MethodName position +Method("m919") {Return ("m919")} + +// Too many arguments in Method declaration +Method(m91a, , , , , , ) {Return ("m91a")} + +// NumArgs is outside of valid range 0x0-0x7 +Method(m91b, 8) {Return ("m91b")} + +// NumArgs as other than Type3Opcode (integer) expression +Method(m91c, Arg0) {Return ("m91c")} +Method(m91d, i000) {Return ("m91d")} +Method(m91e, Derefof(Index(Package(1){2}, 0))) {Return ("m91e")} +Method(m91f, Local0) {Return ("m91f")} + +// NumArgs as Type3Opcode (integer) non-constant expression +Name(i920, 1) +Method(m920, Add(i920, 1)) {Return ("m920")} +Method(m921, Increment(i920)) {Return ("m921")} + +// SerializeRule is not the keywords 'NotSerialized' and 'Serialized' +Method(m922, 7, 1, 0) {Return ("m922")} + +// SyncLevel specified when SerializeRule is not specified +Method(m923, , , 0) {Return ("m923")} + +// SyncLevel specified when SerializeRule is set up to NotSerialized +Method(m924, , NotSerialized, 0) {Return ("m924")} + +// SyncLevel is outside of valid range 0x0-0xf +Method(m925, , Serialized, 16) {Return ("m925")} + +// Both NumArgs and SyncLevel are outside of valid ranges +Method(m926, 8, Serialized, 16) {Return ("m926")} + +// SyncLevel as other than Type3Opcode (integer) expression +Method(m927, , Serialized, Arg0, StrObj) {Return ("m927")} +Method(m928, , Serialized, i000, StrObj) {Return ("m928")} +Method(m929, , Serialized, Derefof(Index(Package(1){2}, 0)), StrObj) {Return ("m929")} +Method(m92a, , Serialized, Local0, StrObj) {Return ("m92a")} + +// SyncLevel as Type3Opcode (integer) non-constant expression +Method(m92b, , Serialized, Add(i000, 1), StrObj) {Return ("m92b")} +Method(m92c, , Serialized, Increment(i000), StrObj) {Return ("m92c")} + +// ReturnType is not an ObjectTypeKeywords package +Method(m92d, , , , 2) {Return ("m92d")} +Method(m92e, , , , {1, 2}) {Return ("m92e")} + +// Actual Object specified to be returned is not of ReturnType type +Method(m92f, , , , PkgObj) {Return ("m92f")} + +// At least one control path in the method returns no any actual Object +Method(m930, 1, , , StrObj) {if (Arg0) Return ("m930")} + +// ParameterTypes is not an ObjectTypeKeywords package +Method(m931, 1, , , , 2) {Return ("m931")} +Method(m932, 2, , , , {1, StrObj}) {Return ("m932")} +Method(m933, 2, , , , {{StrObj, 1}, StrObj}) {Return ("m933")} + +// Some different from UnknownObj ObjectType Keyword specified in the +// ReturnType position but no any actual Object specified to be returned. +Method(m934, , , , IntObj) {Store(1, Debug)} + +// The same specific keyword in the ReturnType list twice +Method(m935, , , , {IntObj, IntObj}) {Store(1, Debug)} +Method(m936, , , , {UnknownObj, UnknownObj}) {Store(1, Debug)} + +// Simulteneously UnknownObj and a specific keyword in the ReturnType list +Method(m937, , , , {UnknownObj, IntObj}) {Store(1, Debug)} + +// NumArgs 0 but non-empty list of parameters +Method(m938, 0, , , , IntObj) {Return ("m938")} +Method(m939, 0, , , , {IntObj}) {Return ("m939")} +Method(m93a, , , , , {IntObj}) {Return ("m93a")} + +// NumArgs 1 but 2-element list of parameters +Method(m93b, 1, , , , {IntObj, IntObj}) {Return ("m93b")} + +// NumArgs 2 but 1-element list of parameters +Method(m93c, 2, , , , {IntObj}) {Return ("m93c")} + +// NumArgs 6 but 5-element list of parameters +Method(m93d, 6, , , , {IntObj, IntObj, IntObj, IntObj, + IntObj}) {Return ("m93d")} + +// NumArgs 6 but 7-element list of parameters +Method(m93e, 7, , , , {IntObj, IntObj, IntObj, IntObj, + IntObj, IntObj, IntObj}) {Return ("m93e")} + +// NumArgs 7 but 8-element list of parameters +Method(m93f, 7, , , , {IntObj, IntObj, IntObj, IntObj, + IntObj, IntObj, IntObj, IntObj}) {Return ("m93f")} + +// The same specific keyword in the ParameterType list twice +Method(m940, , , , , {{IntObj, IntObj}}) {Store(1, Debug)} +Method(m941, , , , , {{UnknownObj, UnknownObj}}) {Store(1, Debug)} + +// Simulteneously UnknownObj and a specific keyword in the ParameterType list +Method(m942, , , , , {{UnknownObj, IntObj}}) {Store(1, Debug)} + +// An actual Object specified to be a respective argument +// of the Method is of inappropriate type +Method(m943, 1, , , , IntObj) {Store(Arg0, Debug)} +Method(m944) {m943(Package(2){255, 257})} + + +// Too many arguments in Function declaration +Function(m945, , , ) {Return ("m945")} + +// There is at least one control path in the Function +// that returns no any actual Object: +Function(m946, IntObj) { + Store(2, Local0) + if (Local0) { + Return ("m946") + } else { + Store(1, Debug) + } +} + +// Some different from UnknownObj ObjectType Keyword specified in the +// ReturnType position but no any actual Object specified to be returned. +Function(m947, IntObj) {Store(1, Debug)} + +// The same specific keyword in the ReturnType list twice +Function(m948, {IntObj, IntObj}) {Store(1, Debug)} +Function(m949, {UnknownObj, UnknownObj}) {Store(1, Debug)} + +// Simulteneously UnknownObj and a specific keyword in the ReturnType list +Function(m94a, {UnknownObj, IntObj}) {Store(1, Debug)} + +// 8-element list of parameters +Function(m94b, 7, {IntObj, IntObj, IntObj, IntObj, + IntObj, IntObj, IntObj, IntObj}) {Return ("m94b")} diff --git a/tests/aslts/src/compilation/collection/reference.asl b/tests/aslts/src/compilation/collection/reference.asl new file mode 100644 index 0000000..5d9a357 --- /dev/null +++ b/tests/aslts/src/compilation/collection/reference.asl @@ -0,0 +1,597 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Object references + */ + + +// !!!!!!!!!!!!!!!!!!!!!!!!!!!!! +// ????? dont forget to remove DefinitionBlock from there !!!!!!!!!!! +// ??????????????????????????????? + +DefinitionBlock( + "reference.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + +// /////////////////////////////////////////////////////////////////////////// +// +// TABLE 1: all the legal ways to generate references +// to the immediate images (constants) +// +// /////////////////////////////////////////////////////////////////////////// + +Name(b100, Buffer(32) {0x12}) +OperationRegion(r100, SystemMemory, 0x100, 0x100) +Field(r100, ByteAcc, NoLock, Preserve) {bnk0, 8, f00a, 8, f00b, 8} + +/* +Method(ma00) +{ + // T1:x,I1,+,+,+,I5-I7,,I9-I14,x,I16 + + Store(Index(0xabcdef, 0), Local0) + Store(Index(Field(r100, ByteAcc, NoLock, Preserve) { f000, 8 }, 0), Local0) + Store(Index(BankField(r100, bnk0, 0, ByteAcc, NoLock, Preserve) {bkf0, 8}, 0), Local0) + Store(Index(IndexField (f00a, f00b, ByteAcc, NoLock, Preserve) {if00,8,if01,8}, 0), Local0) + Store(Index(Device(d000) {}, 0), Local0) + Store(Index(Event(e000), 0), Local0) + Store(Index(Mutex(mx00, 0), 0), Local0) + Store(Index(OperationRegion(r000, SystemMemory, 0x100, 0x100), 0), Local0) + Store(Index(PowerResource(pwr0, 1, 0) {}, 0), Local0) + Store(Index(Processor(prc0, 0, 0xFFFFFFFF, 0) {}, 0), Local0) + Store(Index(ThermalZone(tz00) {}, 0), Local0) + Store(Index(CreateField(b100, 0, 8, bf00), 0), Local0) + Store(Index(Debug, 0), Local0) +} +*/ +/* +Method(ma01) +{ + // T1:x,IR1,+,+,+,IR5-IR7,,IR9-IR14,x,IR16 + + Store(Index(0xabcdef, 0, Local1), Local0) + Store(Index(Field(r100, ByteAcc, NoLock, Preserve) { f000, 8 }, 0, Local1), Local0) + Store(Index(BankField(r100, bnk0, 0, ByteAcc, NoLock, Preserve) {bkf0, 8}, 0, Local1), Local0) + Store(Index(IndexField (f00a, f00b, ByteAcc, NoLock, Preserve) {if00,8,if01,8}, 0, Local1), Local0) + Store(Index(Device(d000) {}, 0, Local1), Local0) + Store(Index(Event(e000), 0, Local1), Local0) + Store(Index(Mutex(mx00, 0), 0, Local1), Local0) + Store(Index(OperationRegion(r000, SystemMemory, 0x100, 0x100), 0, Local1), Local0) + + Store(Index(PowerResource(pwr0, 1, 0) {}, 0, Local1), Local0) + Store(Index(Processor(prc0, 0, 0xFFFFFFFF, 0) {}, 0, Local1), Local0) + Store(Index(ThermalZone(tz00) {}, 0, Local1), Local0) + Store(Index(CreateField(b100, 0, 8, bf00), 0, Local1), Local0) + Store(Index(Debug, 0, Local1), Local0) +} +*/ +/* +// Currently commented, because it breaks further compilation +Method(ma02) +{ + // T1:I8 + + 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} + Device(d000) {} + Event(e000) + Mutex(mx00, 0) + PowerResource(pwr0, 1, 0) {Method(mmmm){return (0)}} + Processor(prc0, 0, 0xFFFFFFFF, 0) {} + ThermalZone(tz00) {} + CreateField(b000, 0, 8, bf00) + + Store(Index(Method(m000){}, 0), Local0) + Store(Index(Method(m001){return (0x12345678)}, 0), Local0) + Store(Index(Method(m002){return ("zxvgswquiy")}, 0), Local0) + Store(Index(Method(m003){return (Buffer() {0x11})}, 0), Local0) + Store(Index(Method(m004){return (Package() {0x22})}, 0), Local0) + Store(Index(Method(m005){return (Package() {"zxvgswquiy"})}, 0), Local0) + Store(Index(Method(m006){return (Package() {Buffer() {0x11}})}, 0), Local0) + Store(Index(Method(m007){return (Package() {Package() {0x22}})}, 0), Local0) + Store(Index(Method(m008){return (f000)}, 0), Local0) + Store(Index(Method(m009){return (bkf0)}, 0), Local0) + Store(Index(Method(m00a){return (if00)}, 0), Local0) + Store(Index(Method(m00b){return (d000)}, 0), Local0) + Store(Index(Method(m00c){return (e000)}, 0), Local0) + Store(Index(Method(m00d){return (m001)}, 0), Local0) + Store(Index(Method(m00e){return (mx00)}, 0), Local0) + Store(Index(Method(m00f){return (r000)}, 0), Local0) + Store(Index(Method(m010){return (pwr0)}, 0), Local0) + Store(Index(Method(m011){return (prc0)}, 0), Local0) + Store(Index(Method(m012){return (tz00)}, 0), Local0) + Store(Index(Method(m013){return (bf00)}, 0), Local0) +} +*/ +/* +Method(ma03) +{ + // T1:IR8 + + 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} + Device(d000) {} + Event(e000) + Mutex(mx00, 0) + PowerResource(pwr0, 1, 0) {Method(mmmm){return (0)}} + Processor(prc0, 0, 0xFFFFFFFF, 0) {} + ThermalZone(tz00) {} + CreateField(b000, 0, 8, bf00) + + Store(Index(Method(m000){}, 0, Local1), Local0) + Store(Index(Method(m001){return (0x12345678)}, 0, Local1), Local0) + Store(Index(Method(m002){return ("zxvgswquiy")}, 0, Local1), Local0) + Store(Index(Method(m003){return (Buffer() {0x11})}, 0, Local1), Local0) + Store(Index(Method(m004){return (Package() {0x22})}, 0, Local1), Local0) + Store(Index(Method(m005){return (Package() {"zxvgswquiy"})}, 0, Local1), Local0) + Store(Index(Method(m006){return (Package() {Buffer() {0x11}})}, 0, Local1), Local0) + Store(Index(Method(m007){return (Package() {Package() {0x22}})}, 0, Local1), Local0) + Store(Index(Method(m008){return (f000)}, 0, Local1), Local0) + Store(Index(Method(m009){return (bkf0)}, 0, Local1), Local0) + Store(Index(Method(m00a){return (if00)}, 0, Local1), Local0) + Store(Index(Method(m00b){return (d000)}, 0, Local1), Local0) + Store(Index(Method(m00c){return (e000)}, 0, Local1), Local0) + Store(Index(Method(m00d){return (m001)}, 0, Local1), Local0) + Store(Index(Method(m00e){return (mx00)}, 0, Local1), Local0) + Store(Index(Method(m00f){return (r000)}, 0, Local1), Local0) + Store(Index(Method(m010){return (pwr0)}, 0, Local1), Local0) + Store(Index(Method(m011){return (prc0)}, 0, Local1), Local0) + Store(Index(Method(m012){return (tz00)}, 0, Local1), Local0) + Store(Index(Method(m013){return (bf00)}, 0, Local1), Local0) +} +*/ +/* +Method(ma04) +{ + // T1:x,R1-R7,,R9-R14,x,R16 + + Store(RefOf(0xabcdef), Local0) + Store(RefOf("qwrtyuiop"), Local0) + Store(RefOf(Buffer() {1,2,3,4,5,6,7,8}), Local0) + Store(RefOf(Package() {1,2,3,4,5,6,7,8}), Local0) + Store(RefOf(Field(r100, ByteAcc, NoLock, Preserve) { f000, 8 }), Local0) + Store(RefOf(BankField(r100, bnk0, 0, ByteAcc, NoLock, Preserve) {bkf0, 8}), Local0) + Store(RefOf(IndexField (f00a, f00b, ByteAcc, NoLock, Preserve) {if00,8,if01,8}), Local0) + Store(RefOf(Device(d000) {}), Local0) + Store(RefOf(Event(e000)), Local0) + Store(RefOf(Mutex(mx00, 0)), Local0) + Store(RefOf(OperationRegion(r000, SystemMemory, 0x100, 0x100)), Local0) + Store(RefOf(PowerResource(pwr0, 1, 0) {}), Local0) + Store(RefOf(Processor(prc0, 0, 0xFFFFFFFF, 0) {}), Local0) + Store(RefOf(ThermalZone(tz00) {}), Local0) + Store(RefOf(CreateField(b100, 0, 8, bf00)), Local0) + Store(RefOf(Debug), Local0) +} +*/ +/* +// Currently commented, because it breaks further compilation +Method(ma05) +{ + // T1:R8 + + 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} + Device(d000) {} + Event(e000) + Mutex(mx00, 0) + PowerResource(pwr0, 1, 0) {Method(mmmm){return (0)}} + Processor(prc0, 0, 0xFFFFFFFF, 0) {} + ThermalZone(tz00) {} + CreateField(b000, 0, 8, bf00) + + Store(RefOf(Method(m000){}), Local0) + Store(RefOf(Method(m001){return (0x12345678)}), Local0) + Store(RefOf(Method(m002){return ("zxvgswquiy")}), Local0) + Store(RefOf(Method(m003){return (Buffer() {0x11})}), Local0) + Store(RefOf(Method(m004){return (Package() {0x22})}), Local0) + Store(RefOf(Method(m005){return (Package() {"zxvgswquiy"})}), Local0) + Store(RefOf(Method(m006){return (Package() {Buffer() {0x11}})}), Local0) + Store(RefOf(Method(m007){return (Package() {Package() {0x22}})}), Local0) + Store(RefOf(Method(m008){return (f000)}), Local0) + Store(RefOf(Method(m009){return (bkf0)}), Local0) + Store(RefOf(Method(m00a){return (if00)}), Local0) + Store(RefOf(Method(m00b){return (d000)}), Local0) + Store(RefOf(Method(m00c){return (e000)}), Local0) + Store(RefOf(Method(m00d){return (m001)}), Local0) + Store(RefOf(Method(m00e){return (mx00)}), Local0) + Store(RefOf(Method(m00f){return (r000)}), Local0) + Store(RefOf(Method(m010){return (pwr0)}), Local0) + Store(RefOf(Method(m011){return (prc0)}), Local0) + Store(RefOf(Method(m012){return (tz00)}), Local0) + Store(RefOf(Method(m013){return (bf00)}), Local0) +} +*/ +/* +Method(ma06) +{ + // T1:x,C1-C7,,C9-C14,x,C16 + + Store(CondRefOf(0xabcdef), Local0) + Store(CondRefOf("qwrtyuiop"), Local0) + Store(CondRefOf(Buffer() {1,2,3,4,5,6,7,8}), Local0) + Store(CondRefOf(Package() {1,2,3,4,5,6,7,8}), Local0) + Store(CondRefOf(Field(r100, ByteAcc, NoLock, Preserve) { f000, 8 }), Local0) + Store(CondRefOf(BankField(r100, bnk0, 0, ByteAcc, NoLock, Preserve) {bkf0, 8}), Local0) + Store(CondRefOf(IndexField (f00a, f00b, ByteAcc, NoLock, Preserve) {if00,8,if01,8}), Local0) + Store(CondRefOf(Device(d000) {}), Local0) + Store(CondRefOf(Event(e000)), Local0) + Store(CondRefOf(Mutex(mx00, 0)), Local0) + Store(CondRefOf(OperationRegion(r000, SystemMemory, 0x100, 0x100)), Local0) + Store(CondRefOf(PowerResource(pwr0, 1, 0) {}), Local0) + Store(CondRefOf(Processor(prc0, 0, 0xFFFFFFFF, 0) {}), Local0) + Store(CondRefOf(ThermalZone(tz00) {}), Local0) + Store(CondRefOf(CreateField(b100, 0, 8, bf00)), Local0) + Store(CondRefOf(Debug), Local0) +} +*/ +/* +Method(ma07) +{ + // T1:x,CR1-CR7,,CR9-CR14,x,CR16 + + Store(CondRefOf(0xabcdef, Local1), Local0) + Store(CondRefOf("qwrtyuiop", Local1), Local0) + Store(CondRefOf(Buffer() {1,2,3,4,5,6,7,8}, Local1), Local0) + Store(CondRefOf(Package() {1,2,3,4,5,6,7,8}, Local1), Local0) + Store(CondRefOf(Field(r100, ByteAcc, NoLock, Preserve) { f000, 8 }, Local1), Local0) + Store(CondRefOf(BankField(r100, bnk0, 0, ByteAcc, NoLock, Preserve) {bkf0, 8}, Local1), Local0) + Store(CondRefOf(IndexField (f00a, f00b, ByteAcc, NoLock, Preserve) {if00,8,if01,8}, Local1), Local0) + Store(CondRefOf(Device(d000) {}, Local1), Local0) + Store(CondRefOf(Event(e000), Local1), Local0) + Store(CondRefOf(Mutex(mx00, 0), Local1), Local0) + Store(CondRefOf(OperationRegion(r000, SystemMemory, 0x100, 0x100), Local1), Local0) + Store(CondRefOf(PowerResource(pwr0, 1, 0) {}, Local1), Local0) + Store(CondRefOf(Processor(prc0, 0, 0xFFFFFFFF, 0) {}, Local1), Local0) + Store(CondRefOf(ThermalZone(tz00) {}, Local1), Local0) + Store(CondRefOf(CreateField(b100, 0, 8, bf00), Local1), Local0) + Store(CondRefOf(Debug, Local1), Local0) +} +*/ +/* +// Currently commented, because it breaks further compilation +Method(ma08) +{ + // T1:C8 + + 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} + Device(d000) {} + Event(e000) + Mutex(mx00, 0) + PowerResource(pwr0, 1, 0) {Method(mmmm){return (0)}} + Processor(prc0, 0, 0xFFFFFFFF, 0) {} + ThermalZone(tz00) {} + CreateField(b000, 0, 8, bf00) + + Store(CondRefOf(Method(m000){}), Local0) + Store(CondRefOf(Method(m001){return (0x12345678)}), Local0) + Store(CondRefOf(Method(m002){return ("zxvgswquiy")}), Local0) + Store(CondRefOf(Method(m003){return (Buffer() {0x11})}), Local0) + Store(CondRefOf(Method(m004){return (Package() {0x22})}), Local0) + Store(CondRefOf(Method(m005){return (Package() {"zxvgswquiy"})}), Local0) + Store(CondRefOf(Method(m006){return (Package() {Buffer() {0x11}})}), Local0) + Store(CondRefOf(Method(m007){return (Package() {Package() {0x22}})}), Local0) + Store(CondRefOf(Method(m008){return (f000)}), Local0) + Store(CondRefOf(Method(m009){return (bkf0)}), Local0) + Store(CondRefOf(Method(m00a){return (if00)}), Local0) + Store(CondRefOf(Method(m00b){return (d000)}), Local0) + Store(CondRefOf(Method(m00c){return (e000)}), Local0) + Store(CondRefOf(Method(m00d){return (m001)}), Local0) + Store(CondRefOf(Method(m00e){return (mx00)}), Local0) + Store(CondRefOf(Method(m00f){return (r000)}), Local0) + Store(CondRefOf(Method(m010){return (pwr0)}), Local0) + Store(CondRefOf(Method(m011){return (prc0)}), Local0) + Store(CondRefOf(Method(m012){return (tz00)}), Local0) + Store(CondRefOf(Method(m013){return (bf00)}), Local0) +} +*/ +/* +Method(ma09) +{ + // T1:CR8 + + 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} + Device(d000) {} + Event(e000) + Mutex(mx00, 0) + PowerResource(pwr0, 1, 0) {Method(mmmm){return (0)}} + Processor(prc0, 0, 0xFFFFFFFF, 0) {} + ThermalZone(tz00) {} + CreateField(b000, 0, 8, bf00) + + Store(CondRefOf(Method(m000){}, Local1), Local0) + Store(CondRefOf(Method(m001){return (0x12345678)}, Local1), Local0) + Store(CondRefOf(Method(m002){return ("zxvgswquiy")}, Local1), Local0) + Store(CondRefOf(Method(m003){return (Buffer() {0x11})}, Local1), Local0) + Store(CondRefOf(Method(m004){return (Package() {0x22})}, Local1), Local0) + Store(CondRefOf(Method(m005){return (Package() {"zxvgswquiy"})}, Local1), Local0) + Store(CondRefOf(Method(m006){return (Package() {Buffer() {0x11}})}, Local1), Local0) + Store(CondRefOf(Method(m007){return (Package() {Package() {0x22}})}, Local1), Local0) + Store(CondRefOf(Method(m008){return (f000)}, Local1), Local0) + Store(CondRefOf(Method(m009){return (bkf0)}, Local1), Local0) + Store(CondRefOf(Method(m00a){return (if00)}, Local1), Local0) + Store(CondRefOf(Method(m00b){return (d000)}, Local1), Local0) + Store(CondRefOf(Method(m00c){return (e000)}, Local1), Local0) + Store(CondRefOf(Method(m00d){return (m001)}, Local1), Local0) + Store(CondRefOf(Method(m00e){return (mx00)}, Local1), Local0) + Store(CondRefOf(Method(m00f){return (r000)}, Local1), Local0) + Store(CondRefOf(Method(m010){return (pwr0)}, Local1), Local0) + Store(CondRefOf(Method(m011){return (prc0)}, Local1), Local0) + Store(CondRefOf(Method(m012){return (tz00)}, Local1), Local0) + Store(CondRefOf(Method(m013){return (bf00)}, Local1), Local0) +} +*/ + +// /////////////////////////////////////////////////////////////////////////// +// +// TABLE 2: all the legal ways to generate references to the named objects +// +// /////////////////////////////////////////////////////////////////////////// +/* +Method(ma0a) +{ + Name(i000, 0x12) + Name(s000, "123456789") + Name(b000, Buffer() {1,2,3,4,5,6,7,8,9}) + Name(p000, Package() {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} + Device(d000) {} + Event(e000) + Method(m000) { return ("zxvgswquiy") } + Method(m001) { return (0x12345678) } + Mutex(mx00, 0) + PowerResource(pwr0, 1, 0) {Method(mmmm){return (0)}} + Processor(prc0, 0, 0xFFFFFFFF, 0) {} + ThermalZone(tz00) {} + CreateField(b000, 0, 8, bf00) + + // T2:x,I1,+,+,+,I5-I7,,I9-I14 + + Store(Index(i000, 0), Local0) + Store(Index(f000, 0), Local0) + Store(Index(bkf0, 0), Local0) + Store(Index(if00, 0), Local0) + Store(Index(bf00, 0), Local0) + + Store(Index(d000, 0), Local0) + Store(Index(e000, 0), Local0) + Store(Index(mx00, 0), Local0) + Store(Index(r000, 0), Local0) + Store(Index(pwr0, 0), Local0) + Store(Index(prc0, 0), Local0) + Store(Index(tz00, 0), Local0) + + // T2:x,IR1,+,+,+,IR5-IR7,,IR9-IR14 + + Store(Index(i000, 0, Local1), Local0) + Store(Index(d000, 0, Local1), Local0) + Store(Index(e000, 0, Local1), Local0) + Store(Index(mx00, 0, Local1), Local0) + Store(Index(r000, 0, Local1), Local0) + Store(Index(pwr0, 0, Local1), Local0) + Store(Index(prc0, 0, Local1), Local0) + Store(Index(tz00, 0, Local1), Local0) +} +*/ + +/* +Method(ma0b) +{ + Name(i000, 0xabcdef) + Name(s000, "123456789") + Name(s001, "qwrtyuiop") + Name(b000, Buffer() {1,2,3,4,5,6,7,8,9}) + Name(p000, Package() {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} + Device(d000) {} + Event(e000) + Mutex(mx00, 0) + PowerResource(pwr0, 1, 0) {Method(mmmm){return (0)}} + Processor(prc0, 0, 0xFFFFFFFF, 0) {} + ThermalZone(tz00) {} + CreateField(b000, 0, 8, bf00) + Method(m000) {} + Method(m001) { return (0x12345678) } + Method(m002) { return ("zxvgswquiy") } + Method(m003) { return (Buffer() {0x11}) } + Method(m004) { return (Package() {0x22}) } + Method(m005) { return (Package() {"zxvgswquiy"}) } + Method(m006) { return (Package() {Buffer() {0x11}}) } + Method(m007) { return (Package() {Package() {0x22}}) } + Method(m008) { return (f000) } + Method(m009) { return (bkf0) } + Method(m00a) { return (if00) } + Method(m00b) { return (d000) } + Method(m00c) { return (e000) } + Method(m00d) { return (m001) } + Method(m00e) { return (mx00) } + Method(m00f) { return (r000) } + Method(m010) { return (pwr0) } + Method(m011) { return (prc0) } + Method(m012) { return (tz00) } + Method(m013) { return (bf00) } + + // T2:I8 + + Store(Index(m000, 0), Local0) + Store(Index(m001, 0), Local0) + Store(Index(m002, 0), Local0) + Store(Index(m003, 0), Local0) + Store(Index(m004, 0), Local0) + Store(Index(m005, 0), Local0) + Store(Index(m006, 0), Local0) + Store(Index(m007, 0), Local0) + Store(Index(m008, 0), Local0) + Store(Index(m009, 0), Local0) + Store(Index(m00a, 0), Local0) + Store(Index(m00b, 0), Local0) + Store(Index(m00c, 0), Local0) + Store(Index(m00d, 0), Local0) + Store(Index(m00e, 0), Local0) + Store(Index(m00f, 0), Local0) + Store(Index(m010, 0), Local0) + Store(Index(m011, 0), Local0) + Store(Index(m012, 0), Local0) + Store(Index(m013, 0), Local0) + + // T2:IR8 + + Store(Index(m000, 0, Local1), Local0) + Store(Index(m001, 0, Local1), Local0) + Store(Index(m002, 0, Local1), Local0) + Store(Index(m003, 0, Local1), Local0) + Store(Index(m004, 0, Local1), Local0) + Store(Index(m005, 0, Local1), Local0) + Store(Index(m006, 0, Local1), Local0) + Store(Index(m007, 0, Local1), Local0) + Store(Index(m008, 0, Local1), Local0) + Store(Index(m009, 0, Local1), Local0) + Store(Index(m00a, 0, Local1), Local0) + Store(Index(m00b, 0, Local1), Local0) + Store(Index(m00c, 0, Local1), Local0) + Store(Index(m00d, 0, Local1), Local0) + Store(Index(m00e, 0, Local1), Local0) + Store(Index(m00f, 0, Local1), Local0) + Store(Index(m010, 0, Local1), Local0) + Store(Index(m011, 0, Local1), Local0) + Store(Index(m012, 0, Local1), Local0) + Store(Index(m013, 0, Local1), Local0) +} +*/ +/* +Method(ma0c) +{ + // T3:5-14,16 for all (I,IR,R,C,CR) + + Name(bbbb, Buffer() {1,2,3,4,5,6,7,8,9}) + OperationRegion(rrrr, SystemMemory, 0x100, 0x100) + Field(rrrr, ByteAcc, NoLock, Preserve) {bnk0,8,f00a,8,f00b,8} + + // These should be checked for RefOf and CondRefOf + + Name(u000, Package(1) {}) + Name(i000, Package() {0xabcdef}) + Name(s000, Package() {"123456789"}) + Name(s001, Package() {"qwrtyuiop"}) + Name(b000, Package() {Buffer() {1,2,3,4,5,6,7,8,9}}) + Name(p000, Package() {Package() {1,2,3,4,5,6,7,8,9}}) + + // The entries below show that there is no necessity to + // check the lines 5-14,16 for all the I,IR,R,C,CR columns. + + Name(ffuu, Package() {Field(rrrr, ByteAcc, NoLock, Preserve) {f000,8}}) + Name(bbnk, Package() {BankField(rrrr, bnk0, 0, ByteAcc, NoLock, Preserve) {bkf0,4}}) + Name(iiff, Package() {IndexField (f00a, f00b, ByteAcc, NoLock, Preserve) {if00,1,if01,1}}) + Name(dddd, Package() {Device(d000) {}}) + Name(eeee, Package() {Event(e000)}) + Name(mmtt, Package() {Method(m001) { return (0x12345678) }}) + Name(mmxx, Package() {Mutex(mx00, 0)}) + Name(r000, Package() {OperationRegion(r000, SystemMemory, 0x100, 0x100)}) + Name(ppww, Package() {PowerResource(pwr0, 1, 0) {Method(mmmm){return (0)}}}) + Name(pprr, Package() {Processor(prc0, 0, 0xFFFFFFFF, 0) {}}) + Name(ttzz, Package() {ThermalZone(tz00) {}}) + Name(bbff, Package() {CreateField(bbbb, 0, 8, bf00)}) + Name(ddbb, Package() {Debug}) +} +*/ +/* +Method(ma0d) +{ + // T3:R0-R4 + + RefOf(Package(1) {}) + RefOf(Package() {0xabcdef}) + RefOf(Package() {"123456789"}) + RefOf(Package() {"qwrtyuiop"}) + RefOf(Package() {Buffer() {1,2,3,4,5,6,7,8,9}}) + RefOf(Package() {Package() {1,2,3,4,5,6,7,8,9}}) +} +*/ +/* +Method(ma0e) +{ + // T3:C0-C4 + + CondRefOf(Package(1) {}) + CondRefOf(Package() {0xabcdef}) + CondRefOf(Package() {"123456789"}) + CondRefOf(Package() {"qwrtyuiop"}) + CondRefOf(Package() {Buffer() {1,2,3,4,5,6,7,8,9}}) + CondRefOf(Package() {Package() {1,2,3,4,5,6,7,8,9}}) +} +*/ + +/* +Method(ma0f) +{ + // T3:CR0-CR4 + + CondRefOf(Package(1) {}, Local0) + CondRefOf(Package() {0xabcdef}, Local0) + CondRefOf(Package() {"123456789"}, Local0) + CondRefOf(Package() {"qwrtyuiop"}, Local0) + CondRefOf(Package() {Buffer() {1,2,3,4,5,6,7,8,9}}, Local0) + CondRefOf(Package() {Package() {1,2,3,4,5,6,7,8,9}}, Local0) +} +*/ diff --git a/tests/aslts/src/compilation/collection/region.asl b/tests/aslts/src/compilation/collection/region.asl new file mode 100644 index 0000000..086847e --- /dev/null +++ b/tests/aslts/src/compilation/collection/region.asl @@ -0,0 +1,84 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 Regions + + +Method(mb00) +{ + // Field(arg0, ByteAcc, NoLock, Preserve) {...} + // Error 1037 - ^ parse error + OperationRegion(r000, SystemMemory, 0x100, 0x100) + Method(m000, 1) + { + Field(arg0, ByteAcc, NoLock, Preserve) {f900,8,f901,8,f902,8,f903,8} + BankField(arg0, f901, 0, ByteAcc, NoLock, Preserve) {bn90,4} + IndexField(f902, f903, ByteAcc, NoLock, Preserve) {if90,8,if91,8} + } + + m000(r000) + + // Invalid RegionSpaceKeyword, should cause ASL compiler's + // diagnostics like: + // OperationRegion(RGNy, 0x7f, 0, 0x100) + // Error 4094 - ^ Value below valid range 0x80-0xFF + // Error 4094 - ^ Value above valid range 0x80-0xFF + + OperationRegion(RGNx, 0x00, 0, 0x100) + OperationRegion(RGNy, 0x7f, 0, 0x100) + OperationRegion(RGNz, 0x100, 0, 0x100) + + // Additional Invalid RegionName arguments, should cause + // ASL compiler's diagnostics like: + // OperationRegion(0xabcd, SystemMemory, 0, 0x100) + // Error 4094 - parse error ^ + + OperationRegion("arg0", SystemMemory, 0, 0x100) + OperationRegion(0xabcd, SystemMemory, 0, 0x100) + + // Invalid Field's Offset and Length arguments, should cause + // ASL compiler's diagnostics like: + // Offset(0x2000000), f000, 1, + // Error 4023 - Package length too long to encode ^ + +/* Now it below causes crash of iASL compiler, bug 225 + 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, + } +*/ +} diff --git a/tests/aslts/src/compilation/collection/synchronization.asl b/tests/aslts/src/compilation/collection/synchronization.asl new file mode 100644 index 0000000..2d54123 --- /dev/null +++ b/tests/aslts/src/compilation/collection/synchronization.asl @@ -0,0 +1,40 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 + +Mutex(MT00, 0) + +// TimeoutValue passed by Argx or LocalX +Method(mc00, 1) +{ + Acquire(MT00, arg0) + + Store(arg0, Local0) + Acquire(MT00, Local0) +} diff --git a/tests/aslts/src/compilation/collection/table.asl b/tests/aslts/src/compilation/collection/table.asl new file mode 100644 index 0000000..c530b55 --- /dev/null +++ b/tests/aslts/src/compilation/collection/table.asl @@ -0,0 +1,29 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +// ACPI table management diff --git a/tests/aslts/src/runtime/Makefile b/tests/aslts/src/runtime/Makefile new file mode 100644 index 0000000..06ee9a6 --- /dev/null +++ b/tests/aslts/src/runtime/Makefile @@ -0,0 +1,6 @@ +# runtime + +MDIRS = collections + +TOP= ../.. +include $(TOP)/Makefile.switch diff --git a/tests/aslts/src/runtime/README b/tests/aslts/src/runtime/README new file mode 100644 index 0000000..e4cebf0 --- /dev/null +++ b/tests/aslts/src/runtime/README @@ -0,0 +1,18 @@ + +CONTENTS + + run-time test collections + +cntl + + Files provide the common control of test run, + provide the uniform structure of all run-time + tests. + +common + + Objects of common use which may be useful in more then one test + +collections + + particular run-time test collections diff --git a/tests/aslts/src/runtime/cntl/DECL.asl b/tests/aslts/src/runtime/cntl/DECL.asl new file mode 100644 index 0000000..7497ffe --- /dev/null +++ b/tests/aslts/src/runtime/cntl/DECL.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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/cntl/common.asl") +Include("../../../../runtime/cntl/runpoint.asl") +Include("../../../../runtime/cntl/runmode.asl") +Include("../../../../runtime/cntl/ehandle.asl") + diff --git a/tests/aslts/src/runtime/cntl/DECL_5UP.asl b/tests/aslts/src/runtime/cntl/DECL_5UP.asl new file mode 100644 index 0000000..53cb35d --- /dev/null +++ b/tests/aslts/src/runtime/cntl/DECL_5UP.asl @@ -0,0 +1,32 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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/cntl/common.asl") +Include("../../../../../runtime/cntl/runpoint.asl") +Include("../../../../../runtime/cntl/runmode.asl") +Include("../../../../../runtime/cntl/ehandle.asl") diff --git a/tests/aslts/src/runtime/cntl/DECL_6UP.asl b/tests/aslts/src/runtime/cntl/DECL_6UP.asl new file mode 100644 index 0000000..1f2a673 --- /dev/null +++ b/tests/aslts/src/runtime/cntl/DECL_6UP.asl @@ -0,0 +1,32 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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/cntl/common.asl") +Include("../../../../../../runtime/cntl/runpoint.asl") +Include("../../../../../../runtime/cntl/runmode.asl") +Include("../../../../../../runtime/cntl/ehandle.asl") diff --git a/tests/aslts/src/runtime/cntl/DECL_7UP.asl b/tests/aslts/src/runtime/cntl/DECL_7UP.asl new file mode 100644 index 0000000..bbc0d0d --- /dev/null +++ b/tests/aslts/src/runtime/cntl/DECL_7UP.asl @@ -0,0 +1,32 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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/cntl/common.asl") +Include("../../../../../../../runtime/cntl/runpoint.asl") +Include("../../../../../../../runtime/cntl/runmode.asl") +Include("../../../../../../../runtime/cntl/ehandle.asl") diff --git a/tests/aslts/src/runtime/cntl/MT_DECL.asl b/tests/aslts/src/runtime/cntl/MT_DECL.asl new file mode 100644 index 0000000..8e848d2 --- /dev/null +++ b/tests/aslts/src/runtime/cntl/MT_DECL.asl @@ -0,0 +1,35 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 multi-threading */ + +Include("../../../../runtime/cntl/common.asl") +Include("../../../../runtime/cntl/mt_runpoint.asl") +Include("../../../../runtime/cntl/runmode.asl") +Include("../../../../runtime/cntl/ehandle.asl") + diff --git a/tests/aslts/src/runtime/cntl/README b/tests/aslts/src/runtime/cntl/README new file mode 100644 index 0000000..c226533 --- /dev/null +++ b/tests/aslts/src/runtime/cntl/README @@ -0,0 +1,33 @@ + +CONTENTS + + common control of test run + +common.asl + + objects of common use provide the common control + of test run, provide the uniform structure of all + run-time tests + +ehandle.asl + + exceptional conditions support + +runmode.asl + + 1. It is no longer utilized though available + + Set up the particular desirable set of tests to be run + (have effect only when running a group of test cases or + even collections) such as all Functional tests, all Complex + tests, all Exceptions tests or Full test (all enumerated + above tests) compiled all as one DefinitionBlock. + See additional comments in runmode.asl file. + + 2. Variables which disable/enable pieces of tests. + + This serves different purposes - to prevent crashes, + hangs, and so on. All these variables must be finally + set to non-zero - so enabling all the excluded now tests. + + diff --git a/tests/aslts/src/runtime/cntl/abbu_common.asl b/tests/aslts/src/runtime/cntl/abbu_common.asl new file mode 100644 index 0000000..818c263 --- /dev/null +++ b/tests/aslts/src/runtime/cntl/abbu_common.asl @@ -0,0 +1,121 @@ +/* + * Flag, compiler the test in the abbu layout + */ +Name(ABUU, 1) + +/* + * Internal objects used in this file only + */ +Name (AI03, 1) // Print out the name of test-case +Name (AI05, 0) // Print out the name of test +Name (AI06, 1) // Print out additional parameters of errors + +/* + * Objects from the common.asl used there also + */ +Name(TCLT, 7) // Identity2MS test case ID +Name(ERRS, 0) // Errors counter +Name(RMRC, 0) // Current number of root Methods runs +// 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 + +/* + * Methods from common.asl + */ + +Method(STRT, 1) +{ + /* Adjust some skippings of tests for different ACPICA rereales */ + SET2(SETN) +} + +Method(FNSH) +{ + + /* The usual layout of aslts summary lines */ + + if (ERRS) { + OUUP("\":STST:Identity2MS:abbu:mmmm:FAIL:Errors # 12 34 56 78:\"", 1) + } else { + OUUP("\":STST:Identity2MS:abbu:mmmm:PASS:\"", 1) + } + + OUUP(ERRS, 1) + + OUUP("The number of tests has been executed:", 1) + OUUP(RMRC, 1) + + return (ERRS) +} + +Method(STTT, 4) +{ + if (AI03) { + OUTP(arg0) + } + + return (1) +} + +Method(SRMT, 1) +{ + if (AI05) { + OUTP(arg0) + } + + Increment(RMRC) +} + + +Method(err, 7) +{ + OUTP(arg0) + if (AI06) { + OUTP(arg2) + OUTP(arg5) + } + + Increment(ERRS) +} + +Method(FTTT) {} +Method(BLCK) {} + + +/* + * Methods from ehandle.asl + */ +Method(CH02) { return (0) } +Method(CH03, 5) { return (0) } +Method(CH04, 7) { return (0) } + diff --git a/tests/aslts/src/runtime/cntl/common.asl b/tests/aslts/src/runtime/cntl/common.asl new file mode 100644 index 0000000..249e483 --- /dev/null +++ b/tests/aslts/src/runtime/cntl/common.asl @@ -0,0 +1,2093 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Objects of common use to provide the common control of test run, + * provide the uniform structure of all run-time tests. + * + * The full applied hierarchy of test-concepts follows: + * - test suite (aslts) + * - test collection (functional, complex, exceptions,...) + * - test case (arithmetic, bfield, exc, opackageel,..) + * - test (or root method) simplest test unit supplied with the + * status line and evaluated as [PASS|FAIL|BLOCKED|SKIPPED]. + */ + +Name(z062, 62) + +Name(ff32, 0xffffffff) // -1, 32-bit +Name(ff64, 0xffffffffffffffff) // -1, 64-bit + +// Test execution trace + +Name(TRCF, 0) // Trace enabling flag +Name(TRCH, "ASLTS") // Head of trace message +Name(STST, "STST") // Head of summary status message of test run +Name(CTST, "CTST") // Head of curent status message of test run + +Name(pr01, 1) // Printing starts of sub-tests +Name(pr02, 1) // More detailed printing + +// Start time (Timer-time) of running test +Name(tmt0, 0) + +// Flag of multi-threading mode +Name(MTHR, 0) + +/* Set the multi-threading mode flag */ +Method(SET3, 1) +{ + Store(arg0, MTHR) +} + +// From Integer arithmetic +Name(c000, 10) +Name(c001, 5) + +// From Logical operators +Name(c002, 13) +Name(c003, 12) +Name(c004, 6) +Name(c005, 4) +Name(c006, 31) +Name(c007, 51) + +// 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 + +Name(c028, 0) // Reserved (first) + +// The name of type Package +Name(NMTP, Package() { + "Uninitialized", + "Integer", + "String", + "Buffer", + "Package", + "Field Unit", + "Device", + "Event", + "Method", + "Mutex", + "Operation Region", + "Power Resource", + "Processor", + "Thermal Zone", + "Buffer Field", + "DDB Handle", + "Debug Object", + "LOCAL_REGION_FIELD", + "LOCAL_BANK_FIELD", + "LOCAL_INDEX_FIELD", + "LOCAL_REFERENCE", + "LOCAL_ALIAS", + "LOCAL_METHOD_ALIAS", + "LOCAL_NOTIFY", + "LOCAL_ADDRESS_HANDLER", + "LOCAL_RESOURCE", + "LOCAL_RESOURCE_FIELD", + "LOCAL_SCOPE", + "LOCAL_EXTRA", + "LOCAL_DATA", + "--", + "--"}) + +// Global variables for an arbitrary use inside the particular Run-methods +Name(c080, 0) +Name(c081, 0) +Name(c082, 0) +Name(c083, 0) +Name(c084, 0) +Name(c085, 0) +Name(c086, 0) +Name(c087, 0) +Name(c088, 0) +Name(c089, 0) +Name(c08a, 0) +Name(c08b, 0) +Name(c08c, 7900000) // used in operand tests (801 - 2 msec) + +/* + * Flag: + * non-zero - prohibits non-precise opcode exceptions + * (one particular opcode of exception is verified). + * 0 - only presence of some exception(s) is verified. + */ +Name(EXCV, 0) + + +/* + * An "absolute index of file reporting error" used for reporting errors + * from the bug-demo files (only!). It is the same for all the bug-demo files + * (files of TCLD type tests). It is not even an index of file as such in this + * case but only designation of reporting error from some bug-demo file. The + * actual number of bug (NNN) in this case is taken from TIND and the same file + * name like this "*NNN.asl" is reported for all the bug-demo files corresponding + * to the same bug where NNN is the number of bug. So, "indexes of errors + * (inside the file)" corresponding to the same bug should differ through + * all files of that bug. + */ +Name(zFFF, 0x7FF) + +/* + * Flag: 0 - 32, 1 - 64 + */ +Name(F64, 0) + +/* + * Byte and character size of Integer + */ +Name(ISZ0, 0) +Name(ISZC, 0) + +/* + * The tests execution trace. + * + * ETR0 - the size of trace Packages + * ETR1 - the number of units (ETR0/3) in trace Packages + * ERRP - Package for summary information about the first ETR1 errors + * RP0P - Package to store the first ETR0 status lines of the + * root Methods run results. + * RMRC - current number of root Methods runs + */ +Name(ETR0, 1200) +Name(ETR1, 400) +Name(ERRP, Package(ETR0) {}) +Name(RP0P, Package(ETR0) {}) +Name(RMRC, 0) + +/* + * Errors handling + * (ERR0 & ERR2) overwrite (arg3 & arg4) of err() + * (but there is no remained ArgX for ERR1 in err()). + */ +Name(ERRS, 0) // Errors counter +Name(ERRB, 0) // Error opcode base +Name(ERR0, 0) // Absolute index of file initiating the checking +Name(ERR1, 0) // Name of Method initiating the checking +Name(ERR2, 0) // Index of checking +Name(ERR3, 0) // Current indicator of errors +Name(ERR4, 0) // Full print out of ERRORS SUMMARY +Name(ERR5, 0) // Used to calculate the number of errors of root Method +Name(ERR6, 0) // The number of failed root Methods (tests) +Name(ERR7, 0) // The number of errors detected during the loading stage + +Name(FNAM, 0) // Test filename + +/* + * Set parameters of current checking + * + * arg0 - absolute index of file initiating the checking + * arg1 - name of Method initiating the checking + * arg2 - index of checking (inside the file) + * + * ATTENTION: + * These globals are introduced due to the lack of + * parameters of ASL-Method (7). + * Sometimes these parameters may mislead, because + * may be redirected by the following more deeper + * calls. We don't restore the previous values - it + * would be too complicated. + * + * Apply it when the common Methods are used and + * the initial Method which initialized the checking + * is somewhere in another file and there is no remained + * ArgX to pass that information. + * + * Apply it also when there are many entries with the + * "index of checking" in the same file. It is more + * convenient to arrange them inside the particular + * Methods than to update all them inside the entire + * file each time when it is needed to change any + * or add some new. + * + * Note: + * Due to the lack of ArgX the direct call to err() + * doesn't allow to print the "Name of Method initiating + * the checking". This is possible due to SET0 as well. + * + * Note: + * Dont attempt to set up the zero "index of checking" + * by this Method. It will be ignored and overwritten + * by arg4 of err(). + * + * Note: + * Nevertheless, in any case, the err() provides + * not exact address of error but only hints where + * to seek the actual source Method of error. + */ +Method(SET0, 3) { + if (ERR0) { + err("SET0", z062, 0, 0, 0, ERR0, 0) + } else { + CopyObject(arg0, ERR0) + CopyObject(arg1, ERR1) + CopyObject(arg2, ERR2) + } +} + +// Reset parameters of current checking +Method(RST0) { + CopyObject(0, ERR0) + CopyObject(0, ERR1) + CopyObject(0, ERR2) + CopyObject(0, FNAM) +} + +// Reset current indicator of errors +Method(RST2) { + Store(0, ERR3) +} + +// Get current indicator of errors +Method(GET2) { + Return (ERR3) +} + +// Collections of tests +Name(TCLA, 0) // compilation +Name(TCLF, 1) // functional +Name(TCLC, 2) // complex +Name(TCLE, 3) // exceptions +Name(TCLD, 4) // bug-demo (bdemo) +Name(TCLS, 5) // service +Name(TCLM, 6) // mt +Name(TCLT, 7) // Identity2MS +Name(TCLI, 8) // implementation dependent +Name(MAXC, 8) // equal to last maximal + +// Current index of tests collection +Name(TCLL, 0) + +// Index of current test inside the collection +Name(TIND, 0x12345678) + +// Name of test +Name(TSNM, "NAME_OF_TEST") + +// Name of root method +Name(NRMT, "") + +/* + * Flag, execution of root-method was skipped. + * + * It means that there where no conditions to run the test, + * the test was not run and the reported status is 'skipped'. + * The relevant assertion specified by the test is not to be + * verified under the particular conditions at all. + * + * For example, the test can be run only in 64-bit mode, in + * 32-bit mode the result of the test is undefined, so in + * 32-bit mode, dont run it but only report the status of + * test as skipped. + */ +Name(FLG5, 0) + +/* + * Flag, execution of root-method was blocked. + * + * It means that for some reason the test at present can not be run. + * The tests was not run and the relevant assertion was not verified. + * The test will be run when the conditions are changed. Up to that + * moment, the status of such test is reported as 'blocked'. + * + * For example, some tests temporarily cause abort of testing, + * thus preventing normal completion of all the tests of aslts + * and generating the summary status of run of aslts. + * To provide the normal conditions for other tests of aslts + * we block the tests which prevent normal work + * until the relevant causes are fixed in ACPICA. + */ +Name(FLG6, 0) + +/* + * Flag, compiler the test in the abbu layout + */ +Name(ABUU, 0) + +// Set global test filename +Method(SETF, 1) { + CopyObject(arg0, FNAM) +} + +/* + * Test Header - Display common test header + * + * Arg0 - Name of test (RT25, etc) + * Arg1 - Full Name of test ("Resource Descriptor Macro", etc.) + * Arg2 - Test filename (via __FILE__ macro) + */ +Method (THDR, 3) +{ + // Save the test filename in the FNAM global + SETF (Arg2) + + // Build output string and store to debug object + Concatenate ("TEST: ", Arg0, Local1) + Concatenate (Local1, ", ", Local2) + Concatenate (Local2, Arg1, Local3) + Concatenate (Local3, " (", Local4) + Concatenate (Local4, Arg2, Local5) + Concatenate (Local5, ")", Local6) + + Store (Local6, Debug) +} + + +// Report completion of root Method +Method(RPT0) { + + // To get the same view in both 32-bit and 64-bit modes + Name(b000, Buffer(4) {}) + + if (SizeOf(NRMT)) { + + // Analize previous run of root Method + + Concatenate(":", TCN0(TCLL), Local1) + Concatenate(Local1, ":", Local0) + Concatenate(Local0, TNIC(TCLL, TIND), Local1) + Concatenate(Local1, ":", Local0) + Concatenate(Local0, NRMT, Local1) + Concatenate(Local1, ":", Local0) + + Subtract(ERRS, ERR5, Local7) + + if (FLG5) { + Concatenate(Local0, "SKIPPED:", Local1) + } elseif (FLG6) { + Concatenate(Local0, "BLOCKED:", Local1) + } elseif (Local7) { + Concatenate(Local0, "FAIL:Errors # ", Local2) + Store(Local7, b000) + Concatenate(Local2, b000, Local0) + Concatenate(Local0, ":", Local1) + Increment(ERR6) + } else { + Concatenate(Local0, "PASS:", Local1) + } + + Concatenate(":", CTST, Local0) + Concatenate(Local0, Local1, Local2) + + Store(Local2, Debug) + + if (LLess(RMRC, ETR0)) { + Concatenate(":", STST, Local2) + Concatenate(Local2, Local1, Local0) + Store(Local0, Index(RP0P, RMRC)) + } + + Increment(RMRC) + } + Store(0, ERR5) + Store(0, FLG5) + Store(0, FLG6) +} + +// Set the name of current root method +Method(SRMT, 1) { + + // Report completion of previous root Method + RPT0() + + // Current number of errors + Store(ERRS, ERR5) + + if (1) { + Concatenate(arg0, " test started", Debug) + } + + Store(arg0, NRMT) +} + +/* + * Set 'skipped' status of execution of root method. + * Used only to report that the root-method was not + * run but skipped. + */ +Method(SKIP) { + Store(1, FLG5) +} + +/* + * Set 'blocked' status of execution of root method. + * Used only to report that the root-method was not + * run, it was blocked. + */ +Method(BLCK) { + Store(1, FLG6) +} + +/* + * Open sub-test + * + * arg0 - absolute index of file initiating the checking + * arg1 - the name of Method initiating the checking + */ +Method(BEG0, 2) { + SET0(arg0, arg1, 0) +} + +// Close sub-test +Method(END0) { + RST0() +} + +/* + * Current test start + * arg0 - name of test + * arg1 - index of tests collection + * arg2 - index of test inside the collection + * arg3 - run mode parameter of test + */ +Method(STTT, 4) { + Store(arg0, TSNM) + Store(arg1, TCLL) + Store(arg2, TIND) + + Store("", NRMT) + Store(0, FLG5) + Store(0, FLG6) + Store(0, ERR5) + + // Pack up ID of test case to use it in err() + Store(PK00(arg1, arg2), ERRB) + + // Initial work for any test + + Concatenate("TEST (", TCN0(TCLL), Local1) + Concatenate(Local1, "), ", Local0) + Concatenate(Local0, TSNM, Local1) + + if (RTPT) { + + // Run Tests Parameters Technique (RTPT) + // When running a group of tests (collections), full* + + Store(0, Local7) + if (LEqual(RUN0, 0)) { + Store(1, Local7) + } elseif (LEqual(RUN0, 1)) { + if (arg3) { + Store(1, Local7) + } + } elseif (LEqual(RUN0, 2)) { + if (LEqual(arg3, 0)) { + Store(1, Local7) + } + } elseif (LEqual(RUN0, 3)) { + if (LEqual(arg3, RUN1)) { + Store(1, Local7) + } + } elseif (LEqual(RUN0, 4)) { + if (LEqual(arg1, RUN2)) { + if (LEqual(arg2, RUN3)) { + Store(1, Local7) + } + } + } + } else { + Store(1, Local7) + } + + if (LNot(Local7)) { + Concatenate(Local1, ", SKIPPED", Local0) + Store(Local0, Local1) + } + + Store(Local1, Debug) + + return (Local7) +} + +// Current test finish +Method(FTTT) { + CH03("FTTT", 0, 0, 0, 0) + + // Report completion of previous root Method + RPT0() + + Store("NAME_OF_TEST", TSNM) + Store(0, TCLL) + Store(0x12345678, TIND) + Store("", NRMT) + Store(0, FLG5) + Store(0, FLG6) + Store(0, ERR5) +} + +/* + * Pack up ID of test case + * + * arg0 - index of tests collection + * arg1 - index of test inside the collection + */ +Method(PK00, 2) +{ + And(arg0, 0x0f, Local0) + And(arg1, 0x1f, Local1) + ShiftLeft(Local0, 5, Local2) + Or(Local2, Local1, Local0) + ShiftLeft(Local0, 23, Local7) + return (Local7) +} + +/* + * Pack up information of checking + * + * arg0 - absolute index of file initiating the checking + * arg1 - index of checking (inside the file) + */ +Method(PK01, 2) +{ + And(arg0, 0x07ff, Local0) + And(arg1, 0x0fff, Local1) + ShiftLeft(Local0, 12, Local2) + Or(Local2, Local1, Local7) + + return (Local7) +} + +/* + * Pack up index of bug + * + * arg0 - index of bug + */ +Method(PK02, 1) +{ + And(arg0, 0x1ff, Local0) + ShiftLeft(Local0, 23, Local7) + + return (Local7) +} + +/* + * Pack up information of error + * + * arg0 - absolute index of file reporting the error + * arg1 - index of error (inside the file) + */ +Method(PK03, 2) +{ + And(arg0, 0x07ff, Local0) + And(arg1, 0x0fff, Local1) + ShiftLeft(Local0, 12, Local2) + Or(Local2, Local1, Local7) + return (Local7) +} + + +/* + * Errors processing + * + * NOTE: looks we have exceeded some of the fields below + * but don't actually use them though pack them up. + * + * The layout of opcode of error (three 32-bit words) + * + * Word 0) 0xctfffeee (information of error) + * + * [31:28,4] - c 0xf0000000 + * [27:23,5] - t 0x0f800000 + * [22:12,11] - fff 0x007ff000 + * [11:0,12] - eee 0x00000fff + * + * Word 1) 0xmmzzzuuu (information of checking) + * + * [31:23,9] - m 0xff800000 + * [22:12,11] - zzz 0x007ff000 + * [11:0,12] - uuu 0x00000fff + * + * Word 2) 0xnnnnnnnn (name of method) + * + * c - index of tests collection + * t - index of test inside the collection + * f - absolute index of file reporting the error + * e - index of error (inside the file) + * + * z - absolute index of file initiating the checking + * u - index of checking + * m - miscellaneous: + * 1) in case of TCLD tests there is an index of bug + * + * n - name of Method initiating the checking + * + * arg0 - diagnostic message (usually, the name of method conglomeration of tests) + * arg1 - absolute index of file reporting the error + * arg2 - index of error (inside the file) + * arg3 - absolute index of file initiating the checking + * arg4 - index of checking (inside the file) + * arg5 - first value (usually, received value) + * arg6 - second value (usually, expected value) + */ + +Method(err, 7) +{ + Store(0, Local3) + Store(0, Local6) + + if (ERR0) { + + // ERR0 (Local4) - absolute index of file initiating the checking + // ERR1 (Local3) - name of Method initiating the checking + // ERR2 (Local5) - index of checking + + Store(ERR0, Local4) + Store(ERR1, Local3) + + // Dont attempt to set up the zero "index of checking" + // by SET0. It will be ignored and overwritten by arg4 + // of err(). + + if (ERR2) { + Store(ERR2, Local5) + } else { + Store(arg4, Local5) + } + + } else { + Store(0, Local4) + Store(arg4, Local5) + if (LEqual(TCLL, TCLD)) { + if (Local5) { + Store(zFFF, Local4) + } + } else { + Store(arg3, Local4) + } + if (LEqual(ObjectType(arg0), c00a)) { + Store(arg0, Local3) + } + } + + if (Local4) { + // Pack up information of checking + Store(PK01(Local4, Local5), Local6) + } + + if (LEqual(TCLL, TCLD)) { + + // Pack up index of bug + Store(PK02(TIND), Local0) + Or(Local6, Local0, Local6) + } + + // Pack up information of error + Store(PK03(arg1, arg2), Local0) + + // Add ID of test case being executed + Or(ERRB, Local0, Local7) + + Concatenate("---------- ERROR : 0x", Local7, Local1) + Concatenate(", 0x", Local6, Local2) + Concatenate(Local1, Local2, Local0) + Concatenate(Local0, ", ", Local1) + Concatenate(Local1, arg0, Local0) + Store(Local0, Debug) + + ERP0(arg1, arg2, Local4, Local3, Local5) + + if (LEqual (ObjectType (arg5), 1)) // Check for Integer + { + /* Format/print the Expected result value */ + + ToHexString (arg6, Local0) + ToDecimalString (arg6, Local1) + + Concatenate ("**** Expected Result: 0x", Local0, Local0) + Concatenate (Local0, ", (", Local0) + Concatenate (Local0, Local1, Local0) + Concatenate (Local0, ")", Local0) + Store (Local0, Debug) + + /* Format/print the Actual result value */ + + ToHexString (arg5, Local0) + ToDecimalString (arg5, Local1) + + Concatenate ("**** Actual Result : 0x", Local0, Local0) + Concatenate (Local0, ", (", Local0) + Concatenate (Local0, Local1, Local0) + Concatenate (Local0, ")", Local0) + Store (Local0, Debug) + } + else + { + Store("**** Actual Result:", Debug) + Store(arg5, Debug) + Store("**** Expected Result:", Debug) + Store(arg6, Debug) + } + Store("---------- END\n", Debug) + + // Pack the summary information about the first N errors + + if (LLess(ERRS, ETR1)) { + Multiply(ERRS, 3, Local0) + Store(Local7, Index(ERRP, Local0)) // information of error + Increment(Local0) + Store(Local6, Index(ERRP, Local0)) // information of checking + Increment(Local0) + Store(Local3, Index(ERRP, Local0)) // name of method + } + + Increment(ERRS) + + // Set current indicator of errors + Store(1, ERR3) +} + +/* + * Report parameters of error + * arg0 - absolute index of file reporting the error + * arg1 - index of error + * arg2 - absolute index of file initiating the checking + * arg3 - name of Method initiating the checking + * arg4 - index of checking + */ +Method(ERP0, 5) +{ + Concatenate("TITLE : ", TSNM, Local0) + Store(Local0, Debug) + + Concatenate("COLLECTION : ", TCN0(TCLL), Local0) + Store(TNIC(TCLL, TIND), Local1) + + Store(Local0, Debug) + + Concatenate("TEST CASE : ", Local1, Local0) + Store(Local0, Debug) + + Concatenate("TEST : ", NRMT, Local0) + Store(Local0, Debug) + + // Error + + if (LNotEqual (FNAM, 0)) + { + // Use global filename, set via SETF + Store (FNAM, Local1) + } + elseif (LEqual(arg0, zFFF)) { + + // ATTENTION: dont use zFFF in tests other than TCLD + + Store(SB00(TIND, 0), Local1) + } else { + Store(DeRefOf(Index(TFN0, arg0)), Local1) + } + Concatenate("ERROR, File : ", Local1, Local0) + Store(Local0, Debug) + + Concatenate(" Index : 0x", arg1, Local0) + Concatenate(Local0, ", (", Local0) + Concatenate(Local0, ToDecimalString (arg1), Local0) + Concatenate(Local0, ")", Local0) + Store(Local0, Debug) + + // Checking + + if (arg2) { + if (LEqual(arg2, zFFF)) { + // ATTENTION: dont use zFFF in tests other than TCLD + Store(SB00(TIND, 0), Local1) + } else { + Store(DeRefOf(Index(TFN0, arg2)), Local1) + } + + Concatenate("CHECKING, File : ", Local1, Local0) + Store(Local0, Debug) + + if (LEqual(ObjectType(arg3), c00a)) { + Concatenate(" Method : ", arg3, Local0) + Store(Local0, Debug) + } + + Concatenate(" Index : ", arg4, Local0) + Store(Local0, Debug) + } +} + +/* + * Service for bug-demo. + * + * arg0 - index of bug + * arg1 - type of work: + * 0 - return the name of test corresponding to bug-demo + * 1 - return the name of file .. + */ +Method(SB00, 2) { + + Store("?", Local7) + + if (LEqual(arg1, 0)) { + ToDecimalString(arg0, Local0) + Concatenate("*", Local0, Local1) + Concatenate(Local1, ".asl", Local7) + } elseif (LEqual(arg1, 1)) { + ToDecimalString(arg0, Local0) + Concatenate("Demo of bug ", Local0, Local7) + } + + return (Local7) +} + +// Print out the whole contents, not only 32 bytes as debugger does +Method(prn0, 1) { + + Name(lpN0, 0) + Name(lpC0, 0) + + Store(SizeOf(arg0), lpN0) + Store(0, lpC0) + + While (lpN0) { + Store(DeRefOf(Index(arg0, lpC0)), Local0) + Store(Local0, Debug) + Decrement(lpN0) + Increment(lpC0) + } +} + +/* + * Check result of operation on equal to Zero + * arg0 - message of error + * arg1 - arg5 of err, "received value" + * arg2 - arg6 of err, "expected value" + * arg3 - value + */ +Method(CH00, 4) +{ + if (LNotEqual(arg3, Zero)) { + err(arg0, z062, 1, 0, 0, arg1, arg2) + } +} + +/* + * Check result of operation on equal to Non-Zero (Ones) + * arg0 - message of error + * arg1 - arg5 of err, "received value" + * arg2 - arg6 of err, "expected value" + * arg3 - value + */ +Method(CH01, 4) +{ + if (LNotEqual(arg3, Ones)) { + err(arg0, z062, 2, 0, 0, arg1, arg2) + } +} + +/* + * True, when the value is in range + * + * arg0 - Value + * arg1 - RangeMin + * arg2 - RangeMax + */ +Method(RNG0, 3) +{ + if (LGreater(arg1, arg2)) { + Store("RNG0: RangeMin greater than RangeMax", Debug) + Fatal(0, 0, 0) // Type, Code, Arg + } + if (LGreater(arg1, arg0)) { + return (Zero) + } else { + if (LGreater(arg0, arg2)) { + return (Zero) + } + } + return (Ones) +} + +// 200 symbols (without '\0') +Name(BIG0, "qwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdf") + +// All symbols +Name(ALL0, "`1234567890-=qwertyuiop[]\\asdfghjkl;'zxcvbnm,./~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:\"ZXCVBNM<>?") + +// Check all the constants are not corrupted +Method(CST0) +{ + if (LNotEqual(c000, 10)) { + err("c000 corrupted", z062, 3, 0, 0, 0, 0) + } + if (LNotEqual(c001, 5)) { + err("c001 corrupted", z062, 4, 0, 0, 0, 0) + } + + if (LNotEqual(c002, 13)) { + err("c002 corrupted", z062, 5, 0, 0, 0, 0) + } + if (LNotEqual(c003, 12)) { + err("c003 corrupted", z062, 6, 0, 0, 0, 0) + } + if (LNotEqual(c004, 6)) { + err("c004 corrupted", z062, 7, 0, 0, 0, 0) + } + if (LNotEqual(c005, 4)) { + err("c005 corrupted", z062, 8, 0, 0, 0, 0) + } + if (LNotEqual(c006, 31)) { + err("c006 corrupted", z062, 9, 0, 0, 0, 0) + } + if (LNotEqual(c007, 51)) { + err("c007 corrupted", z062, 10, 0, 0, 0, 0) + } + + if (LNotEqual(c008, 0)) { + err("c008 corrupted", z062, 11, 0, 0, 0, 0) + } + if (LNotEqual(c009, 1)) { + err("c009 corrupted", z062, 12, 0, 0, 0, 0) + } + if (LNotEqual(c00a, 2)) { + err("c00a corrupted", z062, 13, 0, 0, 0, 0) + } + if (LNotEqual(c00b, 3)) { + err("c00b corrupted", z062, 14, 0, 0, 0, 0) + } + if (LNotEqual(c00c, 4)) { + err("c00c corrupted", z062, 15, 0, 0, 0, 0) + } + if (LNotEqual(c00d, 5)) { + err("c00d corrupted", z062, 16, 0, 0, 0, 0) + } + if (LNotEqual(c00e, 6)) { + err("c00e corrupted", z062, 17, 0, 0, 0, 0) + } + if (LNotEqual(c00f, 7)) { + err("c00f corrupted", z062, 18, 0, 0, 0, 0) + } + if (LNotEqual(c010, 8)) { + err("c010 corrupted", z062, 19, 0, 0, 0, 0) + } + if (LNotEqual(c011, 9)) { + err("c011 corrupted", z062, 20, 0, 0, 0, 0) + } + if (LNotEqual(c012, 10)) { + err("c012 corrupted", z062, 21, 0, 0, 0, 0) + } + if (LNotEqual(c013, 11)) { + err("c013 corrupted", z062, 22, 0, 0, 0, 0) + } + if (LNotEqual(c014, 12)) { + err("c014 corrupted", z062, 23, 0, 0, 0, 0) + } + if (LNotEqual(c015, 13)) { + err("c015 corrupted", z062, 24, 0, 0, 0, 0) + } + if (LNotEqual(c016, 14)) { + err("c016 corrupted", z062, 25, 0, 0, 0, 0) + } + if (LNotEqual(c017, 15)) { + err("c017 corrupted", z062, 26, 0, 0, 0, 0) + } + if (LNotEqual(c018, 16)) { + err("c018 corrupted", z062, 27, 0, 0, 0, 0) + } + if (LNotEqual(c019, 17)) { + err("c019 corrupted", z062, 28, 0, 0, 0, 0) + } +} + +/* + * Shift elements of buffer + * , + * , + * + * + */ +Method(sft0, 4) +{ + Name(n000, 0) + Name(ncur, 0) + + Store(arg1, n000) + Store(0, ncur) + + Store(0, Local6) + + if (arg2) { + Store(arg3, Local3) + Subtract(8, Local3, Local5) + } else { + Store(arg3, Local5) + Subtract(8, Local5, Local3) + } + + Store(arg1, Local0) + Increment(Local0) + Name(b000, Buffer(Local0) {}) + + While (n000) { + Store(DeRefOf(Index(arg0, ncur)), Local0) + ShiftRight(Local0, Local3, Local1) + And(Local1, 0xff, Local2) + Or(Local2, Local6, Local1) + ShiftLeft(Local0, Local5, Local4) + And(Local4, 0xff, Local6) + Store(Local1, Index(b000, ncur)) + Decrement(n000) + Increment(ncur) + } + + Store(Local6, Index(b000, ncur)) + + // Store(arg0, Debug) + // Store(b000, Debug) + + return (b000) +} + +/* + * The entire byte size of buffer (starting with the + * first byte of buffer, not field) affected by field. + * + * , + * , + */ +Method(MBS0, 2) +{ + Add(arg0, arg1, Local0) + Add(Local0, 7, Local1) + Divide(Local1, 8, Local2, Local0) + + return (Local0) +} + +/* + * Bit-shift (0-7) elements of buffer + * + * , + * + * , + * , + * , + */ +Method(sft1, 5) +{ + Name(prev, 0) + Name(ms00, 0) + Name(ms01, 0) + Name(ms02, 0) + Name(ms03, 0) + Name(tail, 0) + Name(lbt0, 0) + + // Loop 0 + Name(lpN0, 0) + Name(lpC0, 0) + + // Byte size of result buffer + Name(nb01, 0) + + // Reqular processed bytes number + Name(nreg, 0) + + // Bit-size of low part of byte + Name(nb08, 0) + // Bit-size of high part of byte + Name(nb09, 0) + // Bit-size of last byte + Name(rest, 0) + + if (LLess(arg2, 1)) { + err("sft", z062, 29, 0, 0, arg2, 1) + return (Ones) + } + + if (LGreater(arg1, 7)) { + err("sft", z062, 30, 0, 0, arg1, 7) + return (Ones) + } + + Store(MBS0(arg1, arg2), nb01) + + Name(b000, Buffer(nb01) {}) + + // Layout of regulsr bytes + Store(arg1, nb08) + Subtract(8, nb08, nb09) + + // Produce masks of regulsr byte + ShiftRight(0xff, nb08, Local0) + ShiftLeft(Local0, nb08, ms01) + Not(ms01, ms00) + + // Last byte size + Add(arg1, arg2, Local7) + Mod(Local7, 8, rest) + if (LEqual(rest, 0)) { + Store(8, rest) + } + + // Substitute field usually determined on previous step + And(arg3, ms00, prev) + + // Reqular processing repetition number + if (LGreaterEqual(arg2, nb09)) { + Store(1, nreg) + Subtract(arg2, nb09, Local7) + Divide(Local7, 8, Local1, Local0) + Add(nreg, Local0, nreg) + } + + // Regular processing + + Store(nreg, lpN0) + Store(0, lpC0) + While (lpN0) { + + Store(DeRefOf(Index(arg0, lpC0)), Local7) + ShiftLeft(Local7, nb08, Local0) + Or(Local0, prev, Local1) + Store(Local1, Index(b000, lpC0)) + ShiftRight(Local7, nb09, prev) + + Decrement(lpN0) + Increment(lpC0) + } + + if (LEqual(rest, 8)) { + Store(0, tail) + } elseif (LLessEqual(rest, nb08)) { + Store(1, tail) + } else { + Store(2, tail) + Store(DeRefOf(Index(arg0, lpC0)), lbt0) + } + + // =================== + // Processing the tail + // =================== + + if (LEqual(tail, 1)) { + + // Produce masks + ShiftRight(0xff, rest, Local0) + ShiftLeft(Local0, rest, ms03) + Not(ms03, ms02) + + And(prev, ms02, Local0) + And(arg4, ms03, Local1) + Or(Local0, Local1, Local2) + + Store(Local2, Index(b000, lpC0)) + + } elseif (LEqual(tail, 2)) { + + And(prev, ms00, Local0) + ShiftLeft(lbt0, nb08, Local1) + Or(Local0, Local1, Local7) + + /* + * Byte layout: + * 000011112222 + * rem sz nb08 + * 33333333 + * nb09 + * 44444444 + * rest + */ + + // Produce masks of rem field + ShiftRight(0xff, rest, Local2) + ShiftLeft(Local2, rest, Local0) + Not(Local0, Local1) + + // Determine contents of field + And(Local7, Local1, Local2) + + // Remained of original last (first) byte + And(arg4, Local0, Local3) + + // Result + Or(Local2, Local3, Local0) + + Store(Local0, Index(b000, lpC0)) + } + + return (b000) +} + +/* + * Verify result + * + * arg0 - name of test + * arg1 - result + * arg2 - expected value (64-bit mode) + * arg3 - expected value (32-bit mode) + * DISADVANTAGE: information about the actual place + * in errors reports is lost, should be + * resolved in the future. + */ +Method(m4c0, 4) +{ + Name(tmp0, 0) + Name(tmp1, 0) + + Store(0, Local7) + + Store(ObjectType(arg1), tmp0) + + if (F64) { + Store(ObjectType(arg2), tmp1) + if (LNotEqual(tmp0, tmp1)) { + err(arg0, z062, 31, 0, 0, tmp0, tmp1) + Store(1, Local7) + } elseif (LNotEqual(arg1, arg2)) { + err(arg0, z062, 32, 0, 0, arg1, arg2) + Store(1, Local7) + } + } else { + Store(ObjectType(arg3), tmp1) + if (LNotEqual(tmp0, tmp1)) { + err(arg0, z062, 33, 0, 0, tmp0, tmp1) + Store(1, Local7) + } elseif (LNotEqual(arg1, arg3)) { + err(arg0, z062, 34, 0, 0, arg1, arg3) + Store(1, Local7) + } + } + + return (Local7) +} + +/* + * Return one-symbol string + * + * arg0 - source string contains desirable symbols + * srg1 - index inside the source string + */ +Method(m4a1, 2) +{ + Name(s000, " ") + Store(DeRefOf(Index(arg0, arg1)), Local0) + Store(Local0, Index(s000, 0)) + return (s000) +} + +// Initialization +Method(STRT, 1) +{ + Method(m555) + { + } + + /* Data to determine 32/64 mode, global because of mt-tests */ + DataTableRegion (HDR, "DSDT", "", "") + Field(HDR, AnyAcc, NoLock, Preserve) { + SIG, 32, + LENG, 32, + REV, 8, + SUM, 8, + OID, 48, + OTID, 64, + OREV, 32, + CID, 32, + CREV, 32, + } + + /* + * The first fictitious Method execution which statistics + * is then used for to estimate all other Methods executions. + */ + m555() + + Store(Timer, tmt0) + + If (LLess (REV, 2)) { + Store(0, F64) + Store(4, ISZ0) + Store(8, ISZC) + Store ("32-bit mode", Debug) + } else { + Store(1, F64) + Store(8, ISZ0) + Store(16, ISZC) + Store ("64-bit mode", Debug) + } + + /* + * Check that the total number of exceptions is zero here. + * The internal data about the exceptions initiated by some + * bdemo tests on a global level should be reset by them to + * this point as they didn't take place. Otherwise, an error + * will be below registrated. + */ + if (CH02()) { + Increment(ERR7) + + /* Reset internal information about exceptions */ + + CH03("", 0, 0x888, 0, 0) + Store(0, EXC0) + Store(0, EXC1) + } + + SRTP(arg0) + + RTPI() + + RST0() + RST2() + + /* Adjust some skippings of tests for different ACPICA releases */ + SET2(SETN) +} + +Name(TCNP, Package() { + "compilation", + "functional", + "complex", + "exceptions", + "bdemo", + "service", + "mt", + "Identity2MS", + "IMPL", +}) + +/* + * Test collection name + * arg0 - index of test collection + */ +Method(TCN0, 1) { + Store("?", Local7) + if (LLessEqual(arg0, MAXC)) { + Store(DerefOf(Index(TCNP, arg0)), Local7) + } + Return(Local7) +} + +/* + * Name of test inside collection + * arg0 - index of test collection + * arg1 - index of test inside the collection + */ +Method(TNIC, 2, Serialized) { + Store("?", Local7) + switch (ToInteger (arg0)) { + case (1) { + Store(DeRefOf(Index(TNF0, arg1)), Local7) + } + case (2) { + Store(DeRefOf(Index(TNC0, arg1)), Local7) + } + case (3) { + Store(DeRefOf(Index(TNE0, arg1)), Local7) + } + case (4) { + Store(SB00(arg1, 1), Local7) + } + case (5) { + Store(DeRefOf(Index(TNS0, arg1)), Local7) + } + case (6) { + Store(DeRefOf(Index(TNM0, arg1)), Local7) + } + case (7) { + Store(DeRefOf(Index(TNT0, arg1)), Local7) + } + case (8) { + Store(DeRefOf(Index(TNI0, arg1)), Local7) + } + } + + Return(Local7) +} + +// Names of functional tests +Name(TNF0, Package() { + "arithmetic", + "bfield", + "constant", + "control", + "descriptor", + "extern", + "local", + "logic", + "manipulation", + "name", + "reference", + "region", + "synchronization", + "table" +}) + +// Names of complex tests +Name(TNC0, Package() { + "misc", + "provoke", + "oarg", + "oconst", + "olocal", + "oreturn", + "onamedloc", + "onamedglob", + "opackageel", + "oreftonamed", + "oconversion", + "oreftopackageel", + "rstore", + "roptional", + "rconversion", + "rcopyobject", + "rindecrement", + "rexplicitconv", + "badasl", + "namespace" +}) + +// Names of exceptions tests +Name(TNE0, Package() { + "exc", + "exc_operand1", + "exc_operand2", + "exc_result1", + "exc_result2", + "exc_ref", + "exc_tbl" +}) + +// Names of service tests +Name(TNS0, Package() { + "condbranches" +}) + +// Names of mt tests +Name(TNM0, Package() { + "mt-mutex" +}) + +// Names of Identity2MS tests +Name(TNT0, Package() { + "abbu" +}) + +// Names of IMPL tests +Name(TNI0, Package() { + "dynobj" +}) + +// Names of test files +Name(TFN0, Package() { + "UNDEF", // 0 + "crbuffield.asl", + "constants.asl", + "ctl0.asl", + "ctl1.asl", + "ctl2.asl", + "timing.asl", + "concatenaterestemplate.asl", + "dependentfn.asl", + "dma.asl", + "dwordio.asl", + "dwordmemory.asl", + "dwordspace.asl", + "extendedio.asl", + "extendedmemory.asl", + "extendedspace.asl", + "fixedio.asl", + "interrupt.asl", + "io.asl", + "irq.asl", + "irqnoflags.asl", + "memory24.asl", + "memory32.asl", + "memory32fixed.asl", + "qwordio.asl", + "qwordmemory.asl", // 25 + "qwordspace.asl", + "register.asl", + "resourcetemplate.asl", + "rtemplate.asl", + "vendorlong.asl", + "vendorshort.asl", + "wordbusnumber.asl", + "wordio.asl", + "wordspace.asl", + "logical.asl", + "concatenate.asl", + "eisaid.asl", + "match1.asl", + "mid.asl", + "objecttype.asl", + "sizeof.asl", + "store.asl", + "tobuffer.asl", + "todecimalstring.asl", + "tofrombcd.asl", + "tohexstring.asl", + "tointeger.asl", + "tostring.asl", + "touuid.asl", + "unicode.asl", // 50 + "package.asl", + "event.asl", + "mutex.asl", + "misc.asl", + "provoke.asl", + "oconversion.asl", + "rconversion.asl", + "exc.asl", + "exc_operand1.asl", + "exc_result.asl", + "XXXXXX.asl", // 61 - RESERVED, not in use + "common.asl", + "ehandle.asl", + "oproc.asl", + "otest.asl", + "rproc.asl", + "rtest.asl", + "switch1.asl", + "switch2.asl", + "switch3.asl", + "switch4.asl", + "switch5.asl", + "switch6.asl", + "while.asl", + "match2.asl", + "ref00.asl", + "ref01.asl", + "ref02.asl", + "ref03.asl", + "ref04.asl", + "ref70.asl", + "operations.asl", + "arithmetic.asl", + "ocommon.asl", + "oconst.asl", + "onamedglob1.asl", + "onamedglob2.asl", + "onamedloc1.asl", + "onamedloc2.asl", + "opackageel.asl", + "oreftonamed1.asl", + "exc_00_undef.asl", + "exc_01_int.asl", + "exc_02_str.asl", + "exc_03_buf.asl", + "exc_04_pckg.asl", + "exc_05_funit.asl", + "exc_06_dev.asl", + "exc_07_event.asl", + "exc_08_method.asl", // 100 + "exc_09_mux.asl", + "exc_10_oreg.asl", + "exc_11_pwr.asl", + "exc_12_proc.asl", + "exc_13_tzone.asl", + "exc_14_bfield.asl", + "exc_operand2.asl", + "ref05.asl", + "ref71.asl", + "ref06.asl", + "ref50.asl", + "name.asl", + "data.asl", + "dataproc.asl", + "datastproc.asl", + "ref07.asl", // 116 + "olocal.asl", + "oreturn.asl", + "oreftopackageel.asl", + "oreftonamed2.asl", // 120 + "oarg.asl", + "rcommon.asl", + "rstore.asl", + "rcopyobject.asl", + "rindecrement.asl", + "rexplicitconv.asl", + "roptional.asl", + "tcicmd.asl", + "dobexec.asl", + "dobdecl.asl", // 130 + "dobctl.asl", + "dobexceptions.asl", + "method.asl", + "function.asl", + "condbranches.asl", + "add.asl", + "standaloneRet.asl", + "store.asl", + "return.asl", + "dobmisc.asl", // 140 + "opregions.asl", + "dtregions.asl", + "regionfield.asl", + "indexfield.asl", + "bankfield.asl", + "badasl.asl", + "mt-common.asl", + "mt-mutex.asl", + "mt-mxs.asl", + "mutex2.asl", // 150 + "mutex_proc.asl", + "mt-tests.asl", + "mt-service.asl", + "ns0.asl", + "ns1.asl", + "ns2.asl", + "ns3.asl", + "ns4.asl", + "ns5.asl", + "ns6.asl", // 160 + "I2MS_msfail0.asl", + "I2MS_st0.asl", + "I2MS_ns_in00.asl", + "I2MS_ns_in10.asl", + "I2MS_ns_in20.asl", + "I2MS_ns_in30.asl", + "I2MS_ns_in40.asl", + "I2MS_ns_in50.asl", + "I2MS_mt0_abbu.asl", + "I2MS_mt0_aslts.asl", // 170 + "I2MS_recursion_abbu.asl", + "I2MS_recursion_aslts.asl", + "serialized.asl", + "load.asl", // 174 + "unload.asl", + "loadtable.asl", + "recursion.asl", + "ns-scope.asl", // 178 + "ns-fullpath.asl", + + +// below are incorrect yet: + + "I2MS_ns_dv00.asl", + "I2MS_ns_dv10.asl", + "I2MS_ns_dv20.asl", + "I2MS_ns_dv30.asl", // 170 + + "I2MS_ns_device.asl", + "I2MS_ns_device_abbu.asl", + "I2MS_ns_device_aslts.asl", + +// see these files can be not used at all: + "I2MS_ns4.asl", + "I2MS_ns5.asl", + "I2MS_ns6.asl", + +// ACPI 5.0 + "fixeddma.asl", // 177 + "gpioint.asl", + "gpioio.asl", + "i2cserialbus.asl", + "spiserialbus.asl", + "uartserialbus.asl", +}) + +/* + * Unpack error + * + * arg0 - information of error (Word 0) + * arg1 - information of checking (Word 1) + * arg2 - name of Method initiating the checking (Word 2) + */ +Method(UNP0, 3, Serialized) +{ + // c - index of tests collection + ShiftRight(arg0, 28, Local7) + And(Local7, 0x0f, Local0) + + // t - index of test inside the collection + ShiftRight(arg0, 23, Local7) + And(Local7, 0x1f, Local1) + + // f - absolute index of file reporting the error + ShiftRight(arg0, 12, Local7) + And(Local7, 0x07ff, Local2) + + // e - index of error (inside the file) + And(arg0, 0x0fff, Local3) + + Store("", Local6) + Store("", Local7) + + Switch (ToInteger (Local0)) { + case (1) { + Store(DeRefOf(Index(TNF0, Local1)), Local6) + if (ERR4) { + Store(", functional, ", Local7) + } + } + case (2) { + Store(DeRefOf(Index(TNC0, Local1)), Local6) + if (ERR4) { + Store(", complex, ", Local7) + } + } + case (3) { + Store(DeRefOf(Index(TNE0, Local1)), Local6) + if (ERR4) { + Store(", exceptions, ", Local7) + } + } + case (4) { + + // m - in case of TCLD tests there is an index of bug + + ShiftRight(arg1, 23, Local0) + And(Local0, 0x1ff, Local1) + Store(SB00(Local1, 1), Local6) + if (ERR4) { + Store(", bug-demo, ", Local7) + } + } + case (5) { + Store(DeRefOf(Index(TNS0, Local1)), Local6) + if (ERR4) { + Store(", service, ", Local7) + } + } + case (6) { + Store(DeRefOf(Index(TNM0, Local1)), Local6) + if (ERR4) { + Store(", mt, ", Local7) + } + } + case (7) { + Store(DeRefOf(Index(TNT0, Local1)), Local6) + if (ERR4) { + Store(", Identity2MS, ", Local7) + } + } + case (8) { + Store(DeRefOf(Index(TNI0, Local1)), Local6) + if (ERR4) { + Store(", IMPL, ", Local7) + } + } + } + + Concatenate(Local7, Local6, Local5) + Concatenate(Local5, ", ", Local1) + + // Error + + if (LEqual(Local2, zFFF)) { + + // ATTENTION: dont use zFFF in tests other than TCLD + // m - in case of TCLD tests there is an index of bug + + ShiftRight(arg1, 23, Local0) + And(Local0, 0x1ff, Local2) + Store(SB00(Local2, 0), Local6) + + } else { + Store(DeRefOf(Index(TFN0, Local2)), Local6) + } + + Concatenate(Local1, Local6, Local7) + Concatenate(Local7, ", ", Local1) + Concatenate(Local1, Local3, Local7) + + // (z+u) - entire field of checking + + And(arg1, 0x07fffff, Local5) + + if (Local5) { + // z - absolute index of file initiating the checking + ShiftRight(arg1, 12, Local5) + And(Local5, 0x07ff, Local2) + + // u - index of checking + And(arg1, 0x0fff, Local3) + + if (LEqual(Local2, zFFF)) { + // ATTENTION: dont use zFFF in tests other than TCLD + // m - in case of TCLD tests there is an index of bug + ShiftRight(arg1, 23, Local0) + And(Local0, 0x1ff, Local2) + Store(SB00(Local2, 0), Local6) + } else { + Store(DeRefOf(Index(TFN0, Local2)), Local6) + } + + Concatenate(Local7, ", ", Local1) + Concatenate(Local1, Local6, Local5) + Concatenate(Local5, ", ", Local1) + Concatenate(Local1, Local3, Local7) + + if (LEqual(ObjectType(arg2), c00a)) { + Concatenate(Local7, ", ", Local1) + Concatenate(Local1, arg2, Local7) + } + } + + return (Local7) +} + +// Report errors +Method(RERR) +{ + Name(lpN0, 0) + Name(lpC0, 0) + + Store(ETR1, lpN0) + + if (LLess(ERRS, lpN0)) { + Store(ERRS, lpN0) + } + + Store(0, Local0) + + Store("========= ERRORS SUMMARY (max 400):", Debug) + + While (lpN0) { + + Store(DeRefOf(Index(ERRP, Local0)), Local7) + Increment(Local0) + Store(DeRefOf(Index(ERRP, Local0)), Local6) + Increment(Local0) + Store(DeRefOf(Index(ERRP, Local0)), Local4) + Increment(Local0) + + Store(UNP0(Local7, Local6, Local4), Local1) + + if (ERR4) { + Concatenate("", Local7, Local2) + Concatenate(Local2, ", ", Local5) + Concatenate(Local5, Local6, Local2) + Concatenate(Local2, Local1, Local7) + } else { + Concatenate("", Local1, Local7) + } + + Store(Local7, Debug) + + Decrement(lpN0) + Increment(lpC0) + } + + if (LGreater(ERRS, ETR1)) { + Store("********* Not all errors were traced, maximum exceeded!", Debug) + } + Store("========= END.", Debug) +} + +// Report root Methods run results +Method(RRM0) +{ + Name(lpN0, 0) + Name(lpC0, 0) + + Store(ETR0, lpN0) + + if (LLess(RMRC, lpN0)) { + Store(RMRC, lpN0) + } + + Store("========= ROOT METHODS SUMMARY (max 600):", Debug) + While (lpN0) { + Store(DeRefOf(Index(RP0P, lpC0)), Local7) + Store(Local7, Debug) + Decrement(lpN0) + Increment(lpC0) + } + if (LGreater(RMRC, ETR0)) { + Store("********* Not all root Methods were traced, maximum exceeded!", Debug) + } + Store("========= END.", Debug) +} + +// Final actions +Method(FNSH) +{ + // Check, the current number of exceptions is zero + + CH03("FNSH", 0, 0, 0, 0) + + // Check all the constants are not corrupted + + CST0() + + // Run time + + Store(Timer, Local7) + Subtract(Local7, tmt0, Local6) + Divide(Local6, 10, Local1, Local2) + Divide(Local2, 1000000, Local1, Local0) + Store(Concatenate("Run time (in seconds): 0x", Local0), Debug) + + // Exceptions total + + Store(Concatenate("The total number of exceptions handled: 0x", EXC1), Debug) + + // Status of test run + + if (ERRS) { + RERR() + } + + // Report root Methods run results + RRM0() + + if (F64) { + Concatenate("TEST ACPICA: ", "64-bit :", Local0) + } else { + Concatenate("TEST ACPICA: ", "32-bit :", Local0) + } + + if (ERR7) { + Concatenate("!!!! ERRORS were detected during the loading stage, # 0x", ERR7, Debug) + } + + Store(0, EXC1) + + if (LOr(ERRS, ERR7)) { + Concatenate(Local0, " FAIL : Errors # 0x", Local1) + Concatenate(Local1, ERRS, Local2) + Concatenate(Local2, ", Failed tests # 0x", Local1) + Store (Concatenate(Local1, ERR6), Debug) + + return (1) + } + + Store(Concatenate(Local0, " PASS"), Debug) + + return (0) +} + +// Trace execution + +/* + * Report write operation + * arg0 - object where writing + * arg1 - index where writing + * arg2 - value + */ +Method(TRC0, 3) +{ + if (TRCF) { + Concatenate(TRCH, ", WRITE: where ", Local0) + Concatenate(Local0, arg1, Local1) + Concatenate(Local1, ", ", Local0) + Concatenate(Local0, arg2, Local1) + Store(Local1, Debug) + } +} + +/* + * Report read operation + * arg0 - object from where reading + * arg1 - index from where reading + * arg2 - obtained value + */ +Method(TRC1, 3) +{ + if (TRCF) { + Concatenate(TRCH, ", READ: where ", Local0) + Concatenate(Local0, arg1, Local1) + Concatenate(Local1, ", ", Local0) + Concatenate(Local0, arg2, Local1) + Store(Local1, Debug) + } +} + +/* + * Report string + * arg0 - string + */ +Method(TRC2, 1) +{ + if (TRCF) { + Concatenate(TRCH, ", ", Local0) + Concatenate(Local0, arg0, Local1) + Store(Local1, Debug) + } +} + +// Switch on trace +Method(TRC8) +{ + Store(1, TRCF) +} + +// Switch off trace +Method(TRC9) +{ + Store(0, TRCF) +} + +// Start of test +Method(ts00, 1) +{ + if (pr01) { + Concatenate("Test ", arg0, Local0) + Concatenate(Local0, " started", Local1) + Store(Local1, Debug) + } +} + +/* + * Convert the Timer units (one unit - 100 nsecs) to Seconds + * arg0 - interval in Timer units + */ +Method(TMR0, 1) +{ + // Convert to microseconds + Divide(arg0, 10, Local0, Local1) + // Convert to seconds + Divide(Local1, 1000000, Local0, Local2) + Return (Local2) +} diff --git a/tests/aslts/src/runtime/cntl/ehandle.asl b/tests/aslts/src/runtime/cntl/ehandle.asl new file mode 100644 index 0000000..d658231 --- /dev/null +++ b/tests/aslts/src/runtime/cntl/ehandle.asl @@ -0,0 +1,576 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +External (_ERR, MethodObj) + +/* + * Exceptional conditions support + */ + +Name(z063, 63) + +// The current number of exceptions handled +Name(EXC0, 0x0) + +// The total number of exceptions handled +Name(EXC1, 0x0) + +// Opcode of the last exception +Name(EX00, 0x0) + +// Name of the last exception +Name(EX01, "") + +// Opcode of the first exception +Name(EX04, 0x0) + +// Name of the first exception +Name(EX05, "") + + +/* + * Undefined opcodes of exception + */ +Name(EX0D, 0xfd) +Name(EX0E, 0xfe) + +// Undefined opcode of exception means 'any exceptions' +Name(EX0F, 0xff) + +// Description of all exceptional conditions +Name(pf00, Package() { + // ix opcodes names + Package() { 0, 0x00000000, "AE_OK"}, + Package() { 1, 0x00000001, "AE_ERROR"}, + Package() { 2, 0x00000002, "AE_NO_ACPI_TABLES"}, + Package() { 3, 0x00000003, "AE_NO_NAMESPACE"}, + Package() { 4, 0x00000004, "AE_NO_MEMORY"}, + Package() { 5, 0x00000005, "AE_NOT_FOUND"}, + Package() { 6, 0x00000006, "AE_NOT_EXIST"}, + Package() { 7, 0x00000007, "AE_ALREADY_EXISTS"}, + Package() { 8, 0x00000008, "AE_TYPE"}, + Package() { 9, 0x00000009, "AE_NULL_OBJECT"}, + Package() {10, 0x0000000a, "AE_NULL_ENTRY"}, + Package() {11, 0x0000000b, "AE_BUFFER_OVERFLOW"}, + Package() {12, 0x0000000c, "AE_STACK_OVERFLOW"}, + Package() {13, 0x0000000d, "AE_STACK_UNDERFLOW"}, + Package() {14, 0x0000000e, "AE_NOT_IMPLEMENTED"}, + Package() {15, 0x0000000f, "AE_VERSION_MISMATCH"}, /* obsolete */ + Package() {16, 0x0000000f, "AE_SUPPORT"}, + Package() {17, 0x00000011, "AE_SHARE"}, /* obsolete */ + Package() {18, 0x00000010, "AE_LIMIT"}, + Package() {19, 0x00000011, "AE_TIME"}, + Package() {20, 0x00000014, "AE_UNKNOWN_STATUS"}, /* obsolete */ + Package() {21, 0x00000012, "AE_ACQUIRE_DEADLOCK"}, + Package() {22, 0x00000013, "AE_RELEASE_DEADLOCK"}, + Package() {23, 0x00000014, "AE_NOT_ACQUIRED"}, + Package() {24, 0x00000015, "AE_ALREADY_ACQUIRED"}, + Package() {25, 0x00000016, "AE_NO_HARDWARE_RESPONSE"}, + Package() {26, 0x00000017, "AE_NO_GLOBAL_LOCK"}, + Package() {27, 0x00000018, "AE_ABORT_METHOD"}, + Package() {28, 0x00001001, "AE_BAD_PARAMETER"}, + Package() {29, 0x00001002, "AE_BAD_CHARACTER"}, + Package() {30, 0x00001003, "AE_BAD_PATHNAME"}, + Package() {31, 0x00001004, "AE_BAD_DATA"}, + Package() {32, 0x00001005, "AE_BAD_ADDRESS"}, /* obsolete */ + Package() {33, 0x00001006, "AE_ALIGNMENT"}, /* obsolete */ + Package() {34, 0x00001005, "AE_BAD_HEX_CONSTANT"}, + Package() {35, 0x00001006, "AE_BAD_OCTAL_CONSTANT"}, + Package() {36, 0x00001007, "AE_BAD_DECIMAL_CONSTANT"}, + Package() {37, 0x00002001, "AE_BAD_SIGNATURE"}, + Package() {38, 0x00002002, "AE_BAD_HEADER"}, + Package() {39, 0x00002003, "AE_BAD_CHECKSUM"}, + Package() {40, 0x00002004, "AE_BAD_VALUE"}, + Package() {41, 0x00002005, "AE_TABLE_NOT_SUPPORTED"}, /* obsolete */ + Package() {42, 0x00002005, "AE_INVALID_TABLE_LENGTH"}, + Package() {43, 0x00003001, "AE_AML_ERROR"}, /* obsolete */ + Package() {44, 0x00003002, "AE_AML_PARSE"}, /* obsolete */ + Package() {45, 0x00003001, "AE_AML_BAD_OPCODE"}, + Package() {46, 0x00003002, "AE_AML_NO_OPERAND"}, + Package() {47, 0x00003003, "AE_AML_OPERAND_TYPE"}, + Package() {48, 0x00003004, "AE_AML_OPERAND_VALUE"}, + Package() {49, 0x00003005, "AE_AML_UNINITIALIZED_LOCAL"}, + Package() {50, 0x00003006, "AE_AML_UNINITIALIZED_ARG"}, + Package() {51, 0x00003007, "AE_AML_UNINITIALIZED_ELEMENT"}, + Package() {52, 0x00003008, "AE_AML_NUMERIC_OVERFLOW"}, + Package() {53, 0x00003009, "AE_AML_REGION_LIMIT"}, + Package() {54, 0x0000300a, "AE_AML_BUFFER_LIMIT"}, + Package() {55, 0x0000300b, "AE_AML_PACKAGE_LIMIT"}, + Package() {56, 0x0000300c, "AE_AML_DIVIDE_BY_ZERO"}, + Package() {57, 0x0000300d, "AE_AML_BAD_NAME"}, + Package() {58, 0x0000300e, "AE_AML_NAME_NOT_FOUND"}, + Package() {59, 0x0000300f, "AE_AML_INTERNAL"}, + Package() {60, 0x00003010, "AE_AML_INVALID_SPACE_ID"}, + Package() {61, 0x00003011, "AE_AML_STRING_LIMIT"}, + Package() {62, 0x00003012, "AE_AML_NO_RETURN_VALUE"}, + Package() {63, 0x00003014, "AE_AML_NOT_OWNER"}, + Package() {64, 0x00003015, "AE_AML_MUTEX_ORDER"}, + Package() {65, 0x00003016, "AE_AML_MUTEX_NOT_ACQUIRED"}, + Package() {66, 0x00003017, "AE_AML_INVALID_RESOURCE_TYPE"}, + Package() {67, 0x00003018, "AE_AML_INVALID_INDEX"}, + Package() {68, 0x00003019, "AE_AML_REGISTER_LIMIT"}, + Package() {69, 0x0000301a, "AE_AML_NO_WHILE"}, + Package() {70, 0x0000301b, "AE_AML_ALIGNMENT"}, + Package() {71, 0x0000301c, "AE_AML_NO_RESOURCE_END_TAG"}, + Package() {72, 0x0000301d, "AE_AML_BAD_RESOURCE_VALUE"}, + Package() {73, 0x0000301e, "AE_AML_CIRCULAR_REFERENCE"}, + Package() {74, 0x00004001, "AE_CTRL_RETURN_VALUE"}, + Package() {75, 0x00004002, "AE_CTRL_PENDING"}, + Package() {76, 0x00004003, "AE_CTRL_TERMINATE"}, + Package() {77, 0x00004004, "AE_CTRL_TRUE"}, + Package() {78, 0x00004005, "AE_CTRL_FALSE"}, + Package() {79, 0x00004006, "AE_CTRL_DEPTH"}, + Package() {80, 0x00004007, "AE_CTRL_END"}, + Package() {81, 0x00004008, "AE_CTRL_TRANSFER"}, + Package() {82, 0x00004009, "AE_CTRL_BREAK"}, + Package() {83, 0x0000400a, "AE_CTRL_CONTINUE"}, + + /* New additional are here not to touch previous indexes */ + + Package() {84, 0x00003013, "AE_AML_METHOD_LIMIT"}, + Package() {85, 0x0000100B, "AE_INDEX_TO_NOT_ATTACHED"}, + Package() {86, 0x0000001B, "AE_OWNER_ID_LIMIT"}} +) + +/* + * (multi-threading) + * + * Packages to store per-thread information about exceptions + * (used in mt-mode) + * + * EXC2 - maximal number of exception can be registered + * EX02 - package to store ID of thread where exception occurs + * EX03 - package to store opcode of exception + */ +Name(EXC2, 200) +Name(EX02, Package(EXC2) {}) +Name(EX03, Package(EXC2) {}) + +/* + * Exceptional conditions handler + * + * arg0 - AcpiStatus + * arg1 - AsciiExceptionString + * arg2 - ID of current thread + */ +Method(_ERR, 3) +{ + Store(arg0, EX00) + Store(arg1, EX01) + + if (LEqual(EX04, 0)) { + Store(arg0, EX04) + Store(arg1, EX05) + } + + /* multi-threading */ + if (MTHR) { + /* If the current number of exceptions handled doesn't exceed EXC2 */ + if (LLess(EXC0, EXC2)) { + Store(arg2, Index(EX02, EXC0)) + Store(arg0, Index(EX03, EXC0)) + } else { + Store("Maximal number of exceptions exceeded", Debug) + err("_ERR", z063, 0, 0, 0, EXC0, EXC2) + } + } + + Increment(EXC0) + Increment(EXC1) + +// Store("Run-time exception:", Debug) +// Store(arg0, Debug) +// Store(arg1, Debug) +// Store(arg2, Debug) + + Return (0) // Map error to AE_OK +} + +// Check that exceptions has not arisen at all +Method(CH02) +{ + if (EXC1) { + Concatenate("Some unexpected exceptions were handled, 0x", EXC1, Local0) + err("CH02", z063, 1, 0, 0, Local0, 0) + } + Return(EXC1) +} + +/* + * Check that the counter of current exceptions is zero. Set it to zero. + * arg0 - diagnostic message + * arg1 - absolute index of file initiating the checking + * arg2 - index of checking + * arg3 - arg5 of err, "received value" + * arg4 - arg6 of err, "expected value" + */ +Method(CH03, 5) +{ + Store(0, Local7) + + if (EXC0) { + Concatenate("Unexpected exceptions (count ", EXC0, Local0) + Concatenate(Local0, "), the last is ", Local1) + Concatenate(Local1, EX01, Local0) + Concatenate(Local0, ", ", Local1) + Concatenate(Local1, EX00, Debug) + err(arg0, z063, 2, arg1, arg2, arg3, arg4) + Store(EXC0, Local7) + } + Store(0, EXC0) + Store(0, EX04) + + return (Local7) +} + +// +// Convert 32/64 bit integer to 16-bit Hex value +// +Method(ST16, 1) +{ + Name (EBUF, Buffer(ISZC){}) /* 8 or 16 bytes, depending on 32/64 mode */ + Name (RBUF, Buffer(4){}) + + Store (ToHexString (Arg0), EBUF) + Mid (EBUF, Subtract(ISZC, 4), 4, RBUF) + Return (Concatenate ("0x", ToString (RBUF))) +} + +/* + * Check that exceptions are handled as expected, report errors + * (if any) and set the current number of exceptions to zero. + * + * Verified: + * - exception has arisen + * - check the number of exceptions + * - the last arisen exception matches one described by arguments + * + * arg0 - diagnostic message + * arg1 - + * zero means: + * - check that only one exception has arisen (curent number is equal to 1) + * - check that opcode is equal to that specified by arg2 + * non-zero means: + * - check that the number of exception arisen is not less than 1 + * (curent number is equal to 1 or greater) + * 1: check that the first opcode is equal to that specified by arg2 + * 2: check that the last opcode is equal to that specified by arg2 + * + * arg2 - index of exception info in pf00 Package + * arg3 - absolute index of file initiating the checking + * arg4 - index of checking + * arg5 - arg5 of err, "received value" + * arg6 - arg6 of err, "expected value" + */ +Method(CH04, 7) +{ + Store(0, Local5) + + if (LEqual(arg2, 0xff)) { + + if (LEqual(EXC0, 0)) { + Store(1, Local5) + Store("ERROR: No ANY exception has arisen.", Debug) + } + + } else { + + // Determine opcode and name of the expected exception + + Store(DeRefOf(Index (pf00, arg2)), Local2) // exception info + Store(DeRefOf(Index (Local2, 1)), Local3) // opcode + Store(DeRefOf(Index (Local2, 2)), Local4) // name + + if (LEqual(EXC0, 0)) { + Store (1, Local5) + Concatenate("No exception - expected: ", Local4, Local0) + Concatenate(Local0, "-", Local0) + Concatenate(Local0, ST16(Local3), Local0) + Store(Local0, Debug) + } else { + if (LAnd(LNot(arg1), LGreater(EXC0, 1))) { + Store(1, Local5) + Concatenate("More than one exception: 0x", EXC0, Local0) + Store(Local0, Debug) + } else { + if (LEqual(arg1, 1)) { + /* Opcode of the first exception */ + Store(EX04, Local6) + Store(EX05, Local7) + } else { + /* Opcode of the last exception */ + Store(EX00, Local6) + Store(EX01, Local7) + } + + if (LNotEqual(Local3, Local6)) { + Store(1, Local5) + Concatenate("Exception: ", Local7, Local0) + + Concatenate(Local0, "-", Local0) + Concatenate(Local0, ST16(Local6), Local0) + + Concatenate(" differs from expected: ", Local4, Local1) + Concatenate(Local0, Local1, Local0) + + Concatenate(Local0, "-", Local0) + Concatenate(Local0, ST16(Local3), Local0) + Store(Local0, Debug) + } + if (LNotEqual(Local4, Local7)) { + Store(1, Local5) + Store("Unexpected exception:", Debug) + Store(Concatenate("Expected: ", Local4), Debug) + Store(Concatenate("Received: ", Local7), Debug) + } + } + } + + } /* if(LNotEqual(arg2,0xff)) */ + + Store(0, EXC0) + Store(0, EX04) + + if (Local5) { + err(arg0, z063, 3, arg3, arg4, arg5, arg6) + } + + return (Local5) +} + +Method(CH05) +{ + return (CH03("CH05", 0, 0, 0, 0)) +} + +Method(CH06, 3) +{ + if (EXCV) { + return (CH04(arg0, 0, arg2, 0, arg1, 0, 0)) + } else { + // Just only presence of ANY exception(s) + return (CH04(arg0, 0, 0xff, 0, arg1, 0, 0)) + } +} + +/* + * Check for any exception when the slack mode is initiated + */ +Method(CH07, 7) +{ + if (SLCK) { + CH03(arg0, arg3, arg4, arg5, arg6) + } else { + CH04(arg0, arg1, arg2, arg3, arg4, arg5, arg6) + } +} + + +/* MULTI-THREADING */ + +/* + * Report message of thread + * (adds ID of thread and reports the message) + * + * arg0 - ID of current thread + * arg1 - string + */ +Method(MSG0, 2) +{ + Concatenate("THREAD ID ", arg0, Local0) + Concatenate(Local0, ": ", Local1) + Concatenate(Local1, arg1, Local0) + Store(Local0, Debug) +} + +/* + * Used in multi-threading mode + * + * Return the first encountered exception corresponding to this Thread ID + * and the total number of exceptions corresponding to this Thread ID. + * Reset all the entries corresponding to the thread identified by arg0. + * + * Note: this method is used in mt-mode (by several threads simultaneously) + * but each of threads changes only its elements of EX02. + * + * arg0 - ID of current thread + */ +Method(MTEX, 1) +{ + Store(Package(2) {0,0}, Local2) // Package to be returned + Store(0, Local3) // found + + Store(EXC0, Local4) // lpN0 + Store(0, Local5) // lpC0 + While (Local4) { + + Store(DeRefOf(Index(EX02, Local5)), Local0) + + /* Matching ID of current thread */ + if (LEqual(Local0, arg0)) { + Store(DeRefOf(Index(EX03, Local5)), Local1) + if (LEqual(Local3, 0)) { + /* Opcode of the first exception */ + Store(Local1, Index(Local2, 0)) + } + Increment(Local3) + + /* Reset information about this exception */ + Store(0, Index(EX02, Local5)) + } + + Decrement(Local4) + Increment(Local5) + } + Store(Local3, Index(Local2, 1)) + + return (Local2) +} + +/* + * The same as CH03, but to be used in multi-threading mode + * + * arg0 - diagnostic message + * arg1 - ID of current thread + * arg2 - absolute index of file initiating the checking + * arg3 - index of checking + * arg4 - arg5 of err, "received value" + * arg5 - arg6 of err, "expected value" + * + * Return: current number of exceptions occur on this thread + */ +Method(CH08, 6) +{ + Store(MTEX(arg1), Local2) + Store(DeRefOf(Index(Local2, 0)), Local3) // opcode of the first exception + Store(DeRefOf(Index(Local2, 1)), Local4) // number of exceptions + + Store(0, Local7) + + if (Local4) { + Concatenate("Unexpected exception 0x", Local3, Local0) + Concatenate(Local0, ", number of exceptions 0x", Local1) + Concatenate(Local1, Local4, Local0) + MSG0(arg1, Local0) + err(arg0, z063, 4, arg2, arg3, arg4, arg5) + Store(1, Local7) + } + + /* + * Reset of EXC0 should be done by Control thread + * Store(0, EXC0) + */ + + return (Local4) +} + +/* + * The same as CH04, but to be used in multi-threading mode + * + * arg0 - non-zero means to treat "More than one exceptions" as error + * arg1 - ID of current thread + * arg2 - index of exception info in pf00 Package + * arg3 - absolute index of file initiating the checking + * arg4 - index of checking + * arg5 - RefOf to Integer to return 'current number of exceptions occur on this thread' + * + * Return: non-zero when errors detected + */ +Method(CH09, 6) +{ + Store(MTEX(arg1), Local7) + Store(DeRefOf(Index(Local7, 0)), Local6) // opcode of the first exception + Store(DeRefOf(Index(Local7, 1)), Local7) // number of exceptions + + Store(0, Local5) + + if (LEqual(arg2, 0xff)) { + if (LEqual(Local7, 0)) { + /* No exceptions */ + Store(1, Local5) + MSG0(arg1, "ERROR: No ANY exception has arisen.") + } + } else { + + // Determine opcode and name of the expected exception + + Store(DeRefOf(Index (pf00, arg2)), Local2) // exception info + Store(DeRefOf(Index (Local2, 1)), Local3) // opcode + Store(DeRefOf(Index (Local2, 2)), Local4) // name + + if (LEqual(Local7, 0)) { + /* No exceptions */ + Store (1, Local5) + Concatenate("No exception has arisen, expected: ", Local4, Local0) + Concatenate(", opcode 0x", Local3, Local1) + Concatenate(Local0, Local1, Local0) + MSG0(arg1, Local0) + } else { + if (LAnd(arg0, LGreater(Local7, 1))) { + Store(1, Local5) + Concatenate("More than one exception has arisen: 0x", Local7, Local0) + MSG0(arg1, Local0) + } else { + + /* Opcode of the first exception */ + + if (LNotEqual(Local3, Local6)) { + Store(1, Local5) + Concatenate("The exception 0x", Local6, Local0) + Concatenate(Local0, " differs from expected ", Local1) + Concatenate(Local1, ST16 (Local3), Local0) + MSG0(arg1, Local0) + } + } + } + + } /* if(LNotEqual(arg2,0xff)) */ + + /* + * Reset of EXC0 should be done by Control thread + * Store(0, EXC0) + */ + + if (Local5) { + err("", z063, 5, arg3, arg4, 0, 0) + } + + Store(Local7, arg5) + + return (Local5) +} + +/* + * Reset EXC0 (the current number of exceptions handled) + * + * It should be invoked by the Control thread. + */ +Method(CH0A) +{ + Store(0, EXC0) +} diff --git a/tests/aslts/src/runtime/cntl/mt_runpoint.asl b/tests/aslts/src/runtime/cntl/mt_runpoint.asl new file mode 100644 index 0000000..69e5735 --- /dev/null +++ b/tests/aslts/src/runtime/cntl/mt_runpoint.asl @@ -0,0 +1,70 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Start points of execution for multi-threading mode + */ + +// Flag of slack mode (non-zero - means slack mode) +Name(SLCK, 0) + +/* + * Flag shows that the test has been run by means either + * of MN00 or MN01 but not immediately by MAIN. + * It is necessary to know in tests where the number of + * preceding method calls is important. + */ +Name(MLVL, 0) + +/* + * ATTENTION: in future determine the actual SLCK mode + * by accessing the table info or generating some exception + * (see F64) and remove MN00 and MN01. + * + * Method applied to initiate normal (non-slack) mode. + * Make sure that AcpiExec is actually in non-slack mode. + */ +Method(MN00, 3) +{ + Store(0, SLCK) + Store(1, MLVL) + Store(MAIN(arg0, arg1, arg2), Local7) + return (Local7) +} + +/* + * Method applied to initiate slack mode. + * Make sure that AcpiExec is actually in slack mode. + */ +Method(MN01, 3) +{ + Store(1, SLCK) + Store(1, MLVL) + Store(MAIN(arg0, arg1, arg2), Local7) + return (Local7) +} diff --git a/tests/aslts/src/runtime/cntl/runmode.asl b/tests/aslts/src/runtime/cntl/runmode.asl new file mode 100644 index 0000000..826dad3 --- /dev/null +++ b/tests/aslts/src/runtime/cntl/runmode.asl @@ -0,0 +1,592 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 Tests Parameters Technique (RTPT) + * + * Tese parameters have effect only when + * running a group of tests (collections) + * such as all Functional tests, all Complex + * tests, all Exceptions tests, Full test + * (all enumerated above tests). + * + * Main flag: + * 0 - run unconditionally all tests + * 1 - run all the tests whit non-zero params + * 2 - run all the tests whit zero params + * 3 - run all the tests whit params equal to RUN1 + * 4 - run one the particular test specified so: + * RUN2 - index of collection + * RUN3 - index of the test inside the collection + */ +Name(RUN0, 0) // main flag +Name(RUN1, 0) // level +Name(RUN2, 0) // collection +Name(RUN3, 0) // test +Name(RTPT, 0) // validity of RTPT mode + +// FUNCTIONAL + +Name(W000, 0) // arithmetic +Name(W001, 0) // bfield +Name(W002, 0) // constant +Name(W003, 0) // control +Name(W004, 0) // descriptor +Name(W005, 0) // extern +Name(W006, 0) // local +Name(W007, 0) // logic +Name(W008, 0) // manipulation +Name(W009, 0) // name +Name(W00a, 0) // reference +Name(W00b, 0) // region +Name(W00c, 0) // synchronization +Name(W00d, 0) // table + +// COMPLEX + +Name(W00e, 0) // misc +Name(W00f, 0) // provoke +Name(W010, 0) // operand +Name(W011, 0) // result +Name(W012, 0) // namespace +Name(W022, 0) // badasl + +// EXCEPTIONS + +Name(W013, 0) // exc +Name(W014, 0) // exc_operand +Name(W015, 0) // exc_result +Name(W016, 0) // exc_ref + +// DEMO + +Name(W017, 0) // Bugs (0-N) + +// IMPL + +Name(W021, 0) // dynobj + +// SERVICE + +Name(W018, 0) // condbranches + +// Identity2MS + +Name(W019, 0) // abbu + +// Reserved names + +Name(W020, 0) + +/* + * Set RTPT technique. + * Should be invoked in MAIN files of + * ALL functional, complex, exceptions,... + */ +Method(SRTP, 1) { + Store(arg0, RTPT) +} + + +/* + * Set up the particular desirable set of tests to be run + * + * Tese parameters have effect only when + * running a group of test cases or even + * collections) such as all Functional tests, + * all Complex tests, all Exceptions tests, + * Full test (all enumerated above tests) + * compiled all as one DefinitionBlock. + * + * Parameters: + * + * RUN0 - main flag + * 0 - run unconditionally all tests + * 1 - run all the tests whit non-zero params + * 2 - run all the tests whit zero params + * 3 - run all the tests whit params equal to RUN1 + * 4 - run one the particular test specified in this way: + * RUN2 - index of collection + * 1 - functional + * 2 - complex + * 3 - exceptions + * RUN3 - index of the test inside the collection + * RUN1 - level + * RUN2 - collection + * RUN3 - test + */ +Method(RTPI) { + +// PARAMETRES OF MODE + +Store(0, RUN0) // main flag +Store(0, RUN1) // level +Store(1, RUN2) // collection +Store(3, RUN3) // test + +// FUNCTIONAL, collection # 1 + +Store(1, W000) // arithmetic 0 +Store(1, W001) // bfield 1 +Store(1, W002) // constant 2 +Store(1, W003) // control 3 +Store(1, W004) // descriptor 4 +Store(1, W005) // extern 5 +Store(1, W006) // local 6 +Store(1, W007) // logic 7 +Store(1, W008) // manipulation 8 +Store(1, W009) // name 9 +Store(1, W00a) // reference 10 +Store(1, W00b) // region 11 +Store(1, W00c) // synchronization 12 +Store(1, W00d) // table 13 + +// COMPLEX, collection # 2 + +Store(1, W00e) // misc 0 +Store(1, W00f) // provoke 1 +Store(1, W010) // operand 2 +Store(1, W011) // result 3 +Store(1, W021) // dynobj 4 +Store(1, W012) // RESERVED, not in use + +// EXCEPTIONS, collection # 3 + +Store(1, W013) // exc 0 +Store(1, W014) // exc_operand 1,2 +Store(1, W015) // exc_result 3,4 +Store(1, W016) // exc_ref 5 +Store(1, W019) // exc_tbl 6 + +// DEMO + +Store(1, W017) // Bugs (0-N) 0 + +// SERVICE + +Store(1, W018) // condbranches 0 +} + +/* + * Variables below allow to exclude code which causes crashes + * or hangs or prevents execution of other tests. + * + * ATTENTION: all these variables should be set to 1 eventually + * (after all bugs fixing). + * + * Lyout of variable name: y - xxx is the number of bug + * 0 - dont run + * non-zero - run + * + * ATTENTION: see all the qXXX & rnXX conditions of the particular + * tests (which also provide the temporary exclusion). + * + * ATTENTION: all disablings must go through this technique of + * y disable/enable variables. + * + * y - prevents undesirable consequences of the surrounded + * code (crashes, hangs etc. of tests). Should be finally + * set to non-zero (after the product-bug fixing) so + * enabling execution of the surrounded code. + * X - surrounds particular Bugs. Used mostly to point out + * the reasons of test failures (xxx - number of bug) + * not to review the results of tests each time anew. + * So, as a rule these variables are set to non-zero. + */ + +/* + * Bugs + */ +Name(y078, 0) +Name(y083, 0) +Name(y084, 1) +Name(y098, 1) +Name(y100, 0) +Name(y103, 1) +Name(y104, 1) +Name(y105, 1) +Name(y106, 0) +Name(y111, 1) +Name(y113, 0) +Name(y114, 0) +Name(y118, 0) // elements of Package are NamedX, failed access to Field Unit and Buffer Field +Name(y119, 0) +Name(y120, 0) +Name(y121, 0) +Name(y126, 0) +Name(y127, 0) // Automatic dereference of Index in CopyObject +Name(y128, 1) +Name(y132, 0) +Name(y133, 0) // Write access automatic dereference for Index reference +Name(y134, 0) +Name(y135, 0) +Name(y136, 1) // CopyObject(A, B) for Buffers causes implicit +Name(y157, 1) // problems when ParameterTypes declaration data omitted +Name(y164, 1) // tests m22d and m26b of reference test +Name(y176, 0) +Name(y178, 1) // Non-constant Bank values works since ACPICA release 20071211 +Name(y182, 1) +Name(y192, 1) // AcpiExec is able to emulate access to BankField Objects since ACPICA release 20071211 +Name(y200, 0) // The code path taken after exception in AcpiPsParseLoop is incorrect +Name(y203, 0) // ObjectType operation falls into infinite loop for ring of RefOf references +Name(y204, 0) // SizeOf operation falls into infinite loop for ring of RefOf references +Name(y205, 0) // Store-to-Debug operation falls into infinite loop for ring of RefOf references +Name(y206, 0) // ObjectType operation falls into infinite loop for ring of Index references +Name(y207, 0) // SizeOf operation falls into infinite loop for ring of Index references +Name(y208, 0) // Store-to-Debug operation falls into infinite loop for ring of Index references +Name(y213, 0) // Crash +Name(y214, 0) // Crash on repeated duplication of an OpRegion by CopyObject +Name(y215, 0) // Exception AE_BUFFER_OVERFLOW when IndexName Field exceeds 32 bits +Name(y216, 0) // exception AE_NOT_FOUND on CreateField under specific conditions +Name(y217, 0) // Dynamic OpRegion _REG method execution problem +Name(y220, 0) // Inconsistent "Access is available/unavailable" _REG method calls +Name(y221, 0) // Alternating access to OpRegions covering different ranges +Name(y222, 0) // Alternating access to OpRegions of different Address Spaces +Name(y223, 1) // DataTableRegion with the non-constant *Strings works since ACPICA release 20071211 +Name(y224, 0) // AcpiExec is unable to emulate access to IndexField Objects +Name(y238, 0) // the jumping over levels in releasing mutexes is not prohibited +Name(y242, 0) // Releasing the mutex the first Acquired on the non-zero level makes Releasing the residuary mutexes of that level impossible +Name(y243, 0) // the normal work with mutexes is broken after the mutex Release order violation +Name(y248, 0) // Incorrect ReferenceCount on Switch operation +Name(y251, 0) // AE_ALREADY_EXISTS on multi-threading on Switch operator +Name(y260, 0) // For a DDBHandle Object ObjectType unexpectedly results in AE_AML_INTERNAL +Name(y261, 0) // Crash when DDBHandle parameter of Load is an Indexed Reference +Name(y262, 0) // Unexpected AE_STACK_OVERFLOW for a method call expression with nested calls +Name(y263, 0) // The sequence of evaluating operands of expression with the named objects is violated +Name(y264, 0) // Crash on re-writing named element of Package +Name(y275, 0) // Pop result from bottom principle doesn't work +Name(y276, 0) // 'Large Reference Count' on AML code with LoadTable/UnLoad in a slack mode +Name(y281, 0) // Normal strings as the LoadTable parameters can cause the matching table to be not found +Name(y282, 0) // Crash when the Buffer Object parameter of Load is used after an exception in it +Name(y283, 1) // When the Object parameter of Load is a Field the checksum of the supplied SSDT should be verified +Name(y284, 1) // An exception should be emitted on Load if the Length field of SSDT exceeds length of its source +Name(y286, 1) // After an exception the elements of the Package passed to Unload are unexpectedly deleted +Name(y287, 0) // If any string to match a proper field on LoadTable exceeds field's length an exception should be emitted +Name(y288, 0) // iASL unexpectedly forbids ParameterData of Loadtable to be LocalX or UserTerm +Name(y289, 0) // Search of the table matched Loadtable parameters should be restricted to XSDT +Name(y290, 0) // AcpiExec is unable to emulate Load from OpRegion +Name(y292, 0) // Different second and third UnLoad execution with the same argument behavior +Name(y293, 0) // Incorrect zero-length Buffer to String conversion +Name(y294, 0) // _ERR method can not be evaluated when AE_OWNER_ID_LIMIT is emitted +Name(y296, 0) // AE_AML_INTERNAL unexpectedly occurs when the Loadtable ParameterData and its Target differ in the types +Name(y297, 0) // After AE_LIMIT the further work of ACPICA mutex framework looks unstable +Name(y300, 0) // Recursive calls to methods with the internal names (and Switches) should be provided +Name(y301, 0) // Recursive call on the same thread to the Serialized method with the internal objects (Swithces) causes AE_AML_INTERNAL +Name(y302, 0) // Scope operation doesn't work for the root node Location + + +/* + * Issues (replace them with the Bug indexes) + */ + +Name(y349, 0) // to clarify what is the proper behaviour when Serialized Method is invoked recursively (now hangs) +Name(y350, 0) // TermalZone AE_AML_NO_RETURN_VALUE exception +Name(y361, 0) // OperationRegion in Result tests +Name(y362, 0) // Investigate and uncomment m4ba + +Name(y364, 0) // if (Derefof(Refof(bf76))) exception in m61b-m06e +Name(y365, 0) // Increment(Derefof(Refof(bf76))) exception in m61b-m64l +Name(y366, 0) // exception on Store(Package, Derefof(Arg(Int/Str/Buf))) +Name(y367, 0) // Increment(Refof(Named))) exception in m692-m00b + + +Name(y500, 0) // Deletion of Named Object due to DeRefOf(m000()) +Name(y501, 0) // Increment/Decrement for String/Buffer Named Object +Name(y502, 0) // Exceptions on DeRefOf(Index(p000, 0)) +Name(y503, 0) // AE_AML_OPERAND_TYPE => AE_AML_NO_RETURN_VALUE +Name(y504, 0) // Exception on CopyObject(ThermalZone, ...) +Name(y505, 0) // Buffer Field and Field Unit types should allow SizeOf() +Name(y506, 0) // exc_ref: crash for DerefOf +Name(y507, 0) // ref: read of ArgX-RefOf_References without DerefOf +Name(y508, 0) // all about ThermalZone +Name(y509, 0) // all about Method +Name(y510, 0) // all about OperationRegion +Name(y511, 0) // all about Device +Name(y512, 0) // the checking causes unexpected exception +Name(y513, 0) // m005(Index(s021, 1, Local0), RefOf(i020)) + // m005(RefOf(i000), RefOf(i061)) +Name(y514, 0) // repeated attempts to overwrite RefOf_Reference-ArgX cause exceptions +// Name(y515, 0) // Uninitialized element of Package (the same as y127) +Name(y516, 0) // write from {Integer/String/Buffer} to Package +Name(y517, 0) // Buffer Field (and Field Unit) as elements of Package +Name(y518, 0) // utdelete-0487 [07] UtUpdateRefCount : **** Warning + // **** Large Reference Count (EAEA) in object 00466BC8 +Name(y519, 0) // ArgX term effectively becomes a LocalX term + // Store(x,ArgX-Object) should be identical to Store(x,LocalX) +Name(y520, 0) // ArgX term effectively becomes a LocalX term + // CopyObject(x,ArgX-Object) should be identical to CopyObject(x,LocalX) + // Now, DerefOf(arg0) causes exception +Name(y521, 0) // Store reference to NamedX +Name(y522, 0) // CopyObject reference to NamedX +Name(y523, 0) // Store(RefOf(NamedX), NamedX) +Name(y524, 0) // Store(RefOf(NamedX), DerefOf(Expr_resulting_in_ORef)) +Name(y525, 0) // Store(RefOf(NamedX), RefOf(Named_X)) +Name(y526, 0) // CopyObject(RefOf(NamedX), ArgX-ORef-to-Named_X) +Name(y527, 0) // The code path taken after AE_OWNER_ID_LIMIT is incorrect + + +Name(y600, 0) // Some oprators (not all) doesn't provide passing invocation + // of Method as a parameter to them (though iASL succeeds). + // Looks that Method is simply not invoked. But, since it doesn't + // now look as an important feature for those particular operators + // we don't file bug in this respect but exclude tesing. +Name(y601, 0) // The Reference issues to be thought over in the future +Name(y602, 1) // generalized - new specs of String to Integer conversion +Name(y603, 0) // bunch of anomalies with references to be splited to separate bugs, + // mostly - cyclical references (rings of references). + +Name(y900, 0) // Allow immediate Index(Buffer(){}), Index("qwerty"), Index(Package(){}) +Name(y901, 1) // Predicate generates Implicit Return +Name(y902, 1) // Expected is that Serialized method being invoked recursively on the same thread: + // 1) 0 - doesn't cause + // 2) otherwise - causes + // exception in case it has either internal objects (including Methods) or Switches + + +/* + * functional/reference + * + * Exclude temporary the relevant checking. + * + * All them should be set to non-zero after + * clarifying the relevant issue, or provided + * with the comment clarifying what is wrong in + * the sub-test - dont remove them even in the + * latter case. + */ +Name(q001, 1) // Dereference of Store(Index(x,x,Index(x,x)), Index(x,x)) +Name(q002, 0) // The chain of Index_References +Name(q003, 0) // CURRENTLY: compiler failed CopyObject(xx, Index(xx,xx)) + +Name(q004, 0) // Implicit Operand conversion on MS contradicts ACPI Spec +Name(q005, 0) // Method object as a Source of Index operation is treated as a call to that Method +Name(q006, 0) // on MS Name of an Object as an element of Package is treated as String +Name(q007, 0) // Disregard of the length Buffer Fields on MS are read as Buffers +Name(q008, 0) // On MS Store to LocalX containing a reference causes indirect access +Name(q009, 0) // It looks like on MS writing to a narrow Field Unit is splited on pieces +Name(q00a, 0) // On MS writing to unmodified bits of Field OpRegion implemented differently +Name(q00b, 0) // On MS Break in Switch is not implemented + +/* + * The non-zero value flags allow to run the relevant part of sub-tests. + * + * Each sub-test is conditioned by some rn0*. + * + * ATTENTION: many sub-tests conditioned by rn01-rn04 are not run now + * in general mode, they should be investigated. + */ +Name(rn00, 1) // Correct, no any remarks +Name(rn01, 0) // Investigation needed +Name(rn02, 0) // Classified as a bug +Name(rn03, 0) // Causes exception +Name(rn04, 0) // Regression + + +Name(rn05, 0) // Long-time tests of bug-demo collection +Name(rn06, 0) // 1 - CopyObject and Store of Method doesn't evaluate that Method + +/* + * Indicators of bugs. + */ +Name(X104, 1) + +Name(X114, 1) +Name(X127, 1) +Name(X128, 1) +Name(X131, 1) +Name(X132, 1) +Name(X133, 1) +Name(X153, 1) // Store() to Named Target allows to update the Source +Name(X170, 1) +Name(X191, 1) +Name(X192, 1) +Name(X193, 1) // 32-bit mode optional storing of Not, NAnd, or NOr + // ASL operators result to Buffer Field produces 64-bit +Name(X194, 1) // Unexpected implicit result object conversion when the + // Target operand of ToBuffer operator is a Named Buffer +Name(X195, 0) // Increment and Decrement of an either String or Buffer + // Object will not change the type of the Object to Integer (~ y501) + + +/* + * Flag, allows (when non-zero) access to the internal objects of method. + * + * No entry of type Method should occur in the declared path specified for search. + */ +Name(FLG9, 0) + +/* + * Set up run4 to non-zero when compile aslts (affects actually only Identity2MS) + * for to run on MS, and reset it to zero when compile to run on ACPICA + * + * for ACPICA - 0 + * for MS - non-zero + */ +Name(run4, 0) + +/* + * Current release of ASLTS test suite + * + * Layout: + * now simply incremental number + * + * Releases: + * + * 31.12.2004 - 1 + * 31.07.2005 - 2 + * 16.11.2005 - 3 + * 21.07.2006 - 4, (1115 files), with ACPICA version 20060721 released + * 25.12.2006 - 5, (1277 files, 382 folder, 15.3 MB, 2006 tests, 38(44) test cases, 278 bugs of ACPICA) + * 01.03.2007 - 6, (1403 files, 415 folder, 17.0 MB, 2227 tests, 40(46) test cases, 305 bugs of ACPICA) + * 21.03.2007 - 7, (1409 files, 417 folder, 17.1 MB, 2236 tests, 40(46) test cases, 307 bugs of ACPICA) + * December 2011: - 0x15 (ACPI 5.0) + * April 2011: - 0x16, iASL fix for StartDependentFunction* descriptors to account for descriptor length. + */ +Name(REL0, 0x16) + +/* + * Settings number, used to adjust the aslts tests for different releases of ACPICA + * + * SETN - settings number of aslts: + * 0 - release from Bob + * 1 - release from Bob + my updates + * 2 - new architecture of Method calculation + * 3 - fixed bug 263,266 + * 4 - fixed bugs 275,276 + * 5 - fixed bugs 262 (corresponds to the 20070320 release of ACPICA) + * 6 - 20074403 + * all the greater - not used yet + * + * Used for to adjust some skippings of tests for different ACPICA releases + * (set up this value manually). See Method SET2 below. + * + * Note: the value 5 of SETN corresponds to the 20070320 release of ACPICA. + */ +Name(SETN, 5) + +/* + * Adjust some skippings of tests for different ACPICA releases + * + * arg0 - settings number of aslts (see SETN for comment) + */ +Method(SET2, 1, Serialized) { + + Store(arg0, Local0) + +/* + if (ABUU) { + Store(0, Local0) + } else { + Store(arg0, Local0) + } +*/ + + Switch (ToInteger (Local0)) { + Case (0) { + Store(0, y135) + Store(1, y900) + Store(0, y901) + Store(1, FLG9) + Store(0, y263) + Store(0, y275) + Store(0, y276) + } + Case (1) { + Store(1, y135) + Store(0, y900) + Store(0, y901) + Store(1, FLG9) + Store(0, y263) + Store(0, y275) + Store(0, y276) + } + Case (2) { + Store(0, y135) + Store(0, y900) + Store(1, y901) + Store(0, FLG9) + Store(0, y263) + Store(0, y275) + Store(0, y276) + } + Case (3) { + Store(0, y135) + Store(1, y900) + Store(0, y901) + Store(1, FLG9) + Store(1, y263) + Store(0, y275) + Store(0, y276) + Store(0, y262) + } + Case (4) { + Store(0, y135) // Store of Index reference to another element of the same Package causes hang + Store(1, y900) // Allow immediate Index(Buffer(){}), Index("qwerty"), Index(Package(){}) + Store(0, y901) // Predicate generates Implicit Return + Store(1, FLG9) // Non-zero allows accessing internal objects of method + Store(1, y263) // The sequence of evaluating operands of expression with the named objects is violated + Store(1, y275) // Pop result from bottom principle doesn't work + Store(1, y276) // 'Large Reference Count' on AML code with LoadTable/UnLoad in a slack mode + Store(0, y262) // Unexpected AE_STACK_OVERFLOW for a method call expression with nested calls + Store(0, y251) // AE_ALREADY_EXISTS on multi-threading on Switch operator + Store(0, y300) // Recursive calls to methods with the internal names (and Switches) should be provided + } + Case (5) { + Store(0, y135) + Store(1, y900) + Store(1, y901) // Predicate generates Implicit Return since ACPICA release 20080926 + Store(1, FLG9) + Store(1, y263) + Store(1, y275) + Store(1, y276) + Store(1, y262) + Store(0, y251) + Store(0, y300) + } + Case (6) { + Store(0, y135) + Store(1, y900) + Store(0, y901) + Store(1, FLG9) + Store(1, y263) + Store(1, y275) + Store(1, y276) + Store(1, y262) + Store(1, y251) + Store(1, y300) + Store(0, y902) + } + + } + + if (LNot(run4)){ + Concatenate("Release of parent ACPICA code 0x", Revision, Debug) + Concatenate("Release of ASLTS test suite 0x", REL0, Debug) + Concatenate("Settings of ASLTS test suite 0x", arg0, Debug) + } +} diff --git a/tests/aslts/src/runtime/cntl/runpoint.asl b/tests/aslts/src/runtime/cntl/runpoint.asl new file mode 100644 index 0000000..59fb2ec --- /dev/null +++ b/tests/aslts/src/runtime/cntl/runpoint.asl @@ -0,0 +1,70 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Start points of execution + */ + +// Flag of slack mode (non-zero - means slack mode) +Name(SLCK, 0) + +/* + * Flag shows that the test has been run by means either + * of MN00 or MN01 but not immediately by MAIN. + * It is necessary to know in tests where the number of + * preceding method calls is important. + */ +Name(MLVL, 0) + +/* + * ATTENTION: in future determine the actual SLCK mode + * by accessing the table info or generating some exception + * (see F64) and remove MN00 and MN01. + * + * Method applied to initiate normal (non-slack) mode. + * Make sure that AcpiExec is actually in non-slack mode. + */ +Method(MN00) +{ + Store(0, SLCK) + Store(1, MLVL) + Store(MAIN(), Local7) + return (Local7) +} + +/* + * Method applied to initiate slack mode. + * Make sure that AcpiExec is actually in slack mode. + */ +Method(MN01) +{ + Store(1, SLCK) + Store(1, MLVL) + Store(MAIN(), Local7) + return (Local7) +} 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 0000000..5bcbe47 --- /dev/null +++ b/tests/aslts/src/runtime/collections/FULL/FULL/MAIN.asl @@ -0,0 +1,81 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..4c17890 --- /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 0000000..e9ee248 --- /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 0000000..983ac69 --- /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 0000000..e242082 --- /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 0000000..2d1ad5a --- /dev/null +++ b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/MAIN.asl @@ -0,0 +1,61 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..d091229 --- /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 0000000..141cd3d --- /dev/null +++ b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/RUN.asl @@ -0,0 +1,149 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..4a466c6 --- /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 0000000..de5a72d --- /dev/null +++ b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/dobctl.asl @@ -0,0 +1,1371 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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, 0, Serialized) +{ + // 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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 0000000..5b8b1e3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/dobdecl.asl @@ -0,0 +1,442 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..61a7dc8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/dobexceptions.asl @@ -0,0 +1,72 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..e90be0e --- /dev/null +++ b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/dobexec.asl @@ -0,0 +1,3261 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..ddae361 --- /dev/null +++ b/tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/dobmisc.asl @@ -0,0 +1,89 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..fcdec00 --- /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 0000000..fbeb678 --- /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 0000000..3260473 --- /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 0000000..9efadc5 --- /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 0000000..ec15bd3 --- /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 0000000..5740895 --- /dev/null +++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/DECL.asl @@ -0,0 +1,190 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..7f17f0f --- /dev/null +++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/DECL_ABBU.asl @@ -0,0 +1,37 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..bbbba37 --- /dev/null +++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/DECL_ASLTS.asl @@ -0,0 +1,35 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..4c987df --- /dev/null +++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/MAIN.asl @@ -0,0 +1,171 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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, "ACPIABB0") + 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 0000000..4e6853d --- /dev/null +++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/MAIN_ASLTS.asl @@ -0,0 +1,89 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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, "ACPIABB0") + 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 0000000..eb3b087 --- /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 0000000..aab10c9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/MsFail/msfail.asl @@ -0,0 +1,1895 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..a9e16f4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/RUN.asl @@ -0,0 +1,69 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..0b4a7ae --- /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 0000000..d835bed --- /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 0000000..660898b --- /dev/null +++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/0_WARNING.HTM @@ -0,0 +1 @@ +

BLOCKED FILE ALERT!

The attachment 'ABBU.EXE' has been blocked because it is a disallowed file type. The attachment has been replaced by this message.

If you feel you have received this message in error and are an Intel employee, then please contact the Global Service Desk.

More Information:

If you are an Intel employee and internal to the Intel network, visit Secure Intel to learn more about E-mail attachment options.

If you are not an Intel employee, please contact your Intel sponsor for additional information.
 

Copyright © Intel Corporation, 2002-2006. All rights reserved.
*Other names and brands may be claimed as the property of others.
**Intel is not responsible for content of sites outside our intranet.
\ 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 0000000..255b7ed --- /dev/null +++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/1_WARNING.HTM @@ -0,0 +1 @@ +

BLOCKED FILE ALERT!

The attachment 'ABBU.INF' has been blocked because it is a disallowed file type. The attachment has been replaced by this message.

If you feel you have received this message in error and are an Intel employee, then please contact the Global Service Desk.

More Information:

If you are an Intel employee and internal to the Intel network, visit Secure Intel to learn more about E-mail attachment options.

If you are not an Intel employee, please contact your Intel sponsor for additional information.
 

Copyright © Intel Corporation, 2002-2006. All rights reserved.
*Other names and brands may be claimed as the property of others.
**Intel is not responsible for content of sites outside our intranet.
\ 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 0000000..3d983fa --- /dev/null +++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/2_WARNING.HTM @@ -0,0 +1 @@ +

BLOCKED FILE ALERT!

The attachment 'ABBU.SYS' has been blocked because it is a disallowed file type. The attachment has been replaced by this message.

If you feel you have received this message in error and are an Intel employee, then please contact the Global Service Desk.

More Information:

If you are an Intel employee and internal to the Intel network, visit Secure Intel to learn more about E-mail attachment options.

If you are not an Intel employee, please contact your Intel sponsor for additional information.
 

Copyright © Intel Corporation, 2002-2006. All rights reserved.
*Other names and brands may be claimed as the property of others.
**Intel is not responsible for content of sites outside our intranet.
\ 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 0000000..50be110 --- /dev/null +++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/3_WARNING.HTM @@ -0,0 +1 @@ +

BLOCKED FILE ALERT!

The attachment 'ACPIDUMP.EXE' has been blocked because it is a disallowed file type. The attachment has been replaced by this message.

If you feel you have received this message in error and are an Intel employee, then please contact the Global Service Desk.

More Information:

If you are an Intel employee and internal to the Intel network, visit Secure Intel to learn more about E-mail attachment options.

If you are not an Intel employee, please contact your Intel sponsor for additional information.
 

Copyright © Intel Corporation, 2002-2006. All rights reserved.
*Other names and brands may be claimed as the property of others.
**Intel is not responsible for content of sites outside our intranet.
\ 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 0000000..d674be5 Binary files /dev/null and b/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/AslCompiler.pdf 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 0000000..6b16dc8 Binary files /dev/null and b/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/DSDT.AML 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 0000000..3d33af1 Binary files /dev/null and b/tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/DSDT.TAB 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 0000000..501dfba --- /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 0000000..9f838f2 --- /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, "ACPIABB0") + 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 0000000..f6a52a8 --- /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 0000000..57a9689 --- /dev/null +++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/device/device.asl @@ -0,0 +1,86 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..7aea3eb --- /dev/null +++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/device/device_abbu.asl @@ -0,0 +1,168 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..0417e04 --- /dev/null +++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/device/device_aslts.asl @@ -0,0 +1,152 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..c10c81f --- /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 0000000..cb78b5a --- /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 0000000..1b0c106 --- /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 0000000..0b2dd5b --- /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 0000000..aa9f607 --- /dev/null +++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in00.asl @@ -0,0 +1,596 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..02f346d --- /dev/null +++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in10.asl @@ -0,0 +1,1019 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..c6f96d3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in20.asl @@ -0,0 +1,278 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..5b0dc2d --- /dev/null +++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in30.asl @@ -0,0 +1,912 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..9e5b777 --- /dev/null +++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in40.asl @@ -0,0 +1,4505 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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, Serialized) +{ + Name(ts, "act0") + + Switch (ToInteger (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, Serialized) +{ + 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 (ToInteger (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 0000000..e6ebdde --- /dev/null +++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/initial/ns_in50.asl @@ -0,0 +1,650 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..ee27352 --- /dev/null +++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/method/mt0_abbu.asl @@ -0,0 +1,3231 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..41ac645 --- /dev/null +++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/method/mt0_aslts.asl @@ -0,0 +1,3155 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..226754b --- /dev/null +++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/misc/ms0.asl @@ -0,0 +1,239 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..c86ab8a --- /dev/null +++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/misc/ms1.asl @@ -0,0 +1,6978 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + 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, 0, Serialized) + { + Switch (ToInteger (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} + + //y901: Predicate generates Implicit Return since ACPICA release 20080926 + if (y901) { + Store(0, Local0) + } else { + Store(0xabcd000f, Local0) + } + if (LNotEqual(i000, Local0)) { + err(ts, z179, 0x097, 0, 0, i000, Local0) + } + } 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} + + //y901: Predicate generates Implicit Return since ACPICA release 20080926 + if (y901) { + Store(0, Local0) + } else { + Store(0xabcd000d, Local0) + } + if (LNotEqual(i000, Local0)) { + err(ts, z179, 0x09a, 0, 0, i000, Local0) + } + } 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} + + //y901: Predicate generates Implicit Return since ACPICA release 20080926 + if (y901) { + Store(0, Local0) + } else { + Store(0xabcd000e, Local0) + } + if (LNotEqual(i000, Local0)) { + err(ts, z179, 0x09d, 0, 0, i000, Local0) + } + } 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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + 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, Serialized) + { + Store(Zero, tot0) + switch (ToInteger (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, Serialized) + { + Store(Zero, tot0) + switch (ToInteger (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, Serialized) + { + Store(Zero, tot0) + switch (ToInteger (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, Serialized) + { + Store(Zero, tot0) + switch (ToInteger (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 (ToInteger (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, Serialized) +{ + 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, Serialized) + { + Store(Zero, tot0) + switch (ToInteger (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, Serialized) + { + Store(Zero, tot0) + switch (ToInteger (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, Serialized) + { + Store(Zero, tot0) + Store(Zero, tot1) + switch (ToInteger (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, Serialized) + { + Store(Zero, tot0) + switch (ToInteger (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 (ToInteger (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, Serialized) +{ + 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, Serialized) + { + Store(Zero, tot0) + Store(Zero, tot1) + switch (ToInteger (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, Serialized) + { + Store(Zero, tot0) + switch (ToInteger (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, Serialized) + { + Store(Zero, tot0) + switch (ToInteger (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, Serialized) + { + Store(Zero, tot0) + switch (ToInteger (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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + 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, Serialized) + { + Store(arg0, tot0) + switch (ToInteger (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, Serialized) + { + Store(arg0, tot0) + switch (ToInteger (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 (ToInteger (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, Serialized) +{ + 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, Serialized) + { + Store(0xffffffff, tot0) + Store(arg0, tot1) + switch (ToInteger (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, Serialized) + { + Store(Zero, tot0) + switch (ToInteger (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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + Name(ts, "ms2c") + + Method(sw00, 0, Serialized) + { + Method(m000, 1, Serialized) + { + Store(0, Local1) + + switch (ToInteger (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 (ToInteger (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, 0, Serialized) + { + OUTP("Check Switch implementation 2: inside While (1 step)") + + Store(1, Local0) + Store(0, Local1) + Store(0, Local2) + + while (Local0) { + switch (ToInteger (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, 0, Serialized) + { + OUTP("Check Switch implementation 3: inside While (2 steps)") + + Store(2, Local0) + Store(0, Local1) + Store(0, Local2) + + while (Local0) { + switch (ToInteger (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, 0, Serialized) + { + OUTP("Check Switch implementation 4: inside While 2, 2 Breaks") + + Store(2, Local0) + Store(0, Local1) + Store(0, Local2) + + while (Local0) { + switch (ToInteger (Local0)) { + case (1) { + Increment(Local1) + Break + } + case (2) { + Increment(Local2) + Break + } + } + Decrement(Local0) + } + if (LNotEqual(Local0, 0)) { + err(ts, z179, 0x2b4, 0, 0, Local0, 0) + } + if (LNotEqual(Local1, 1)) { + err(ts, z179, 0x2b5, 0, 0, Local1, 1) + } + if (LNotEqual(Local2, 1)) { + err(ts, z179, 0x2b6, 0, 0, Local2, 1) + } + } + + Method(sw05, 0, Serialized) + { + OUTP("Check Switch implementation 5: inside While 1, 2 Breaks") + + Store(1, Local0) + Store(0, Local1) + Store(0, Local2) + + while (Local0) { + switch (ToInteger (Local0)) { + case (1) { + Increment(Local1) + Break + } + case (2) { + Increment(Local2) + Break + } + } + Decrement(Local0) + } + if (LNotEqual(Local0, 0)) { + err(ts, z179, 0x2b7, 0, 0, Local0, 0) + } + 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, 0, Serialized) + { + OUTP("Check Switch implementation 6: inside While 2, 1 Break") + + Store(2, Local0) + Store(0, Local1) + Store(0, Local2) + + while (Local0) { + switch (ToInteger (Local0)) { + case (1) { + Increment(Local1) + } + case (2) { + Increment(Local2) + Break + } + } + Decrement(Local0) + } + if (LNotEqual(Local0, 0)) { + err(ts, z179, 0x2ba, 0, 0, Local0, 0) + } + if (LNotEqual(Local1, 1)) { + err(ts, z179, 0x2bb, 0, 0, Local1, 1) + } + 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) + + Name(WHIN, Ones) + + while (Local0) { + 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) + + Name(WHIN, Ones) + + while (Local0) { + 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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + Name(ts, "ms2f") + + Method(B246, 0, Serialized) + { + Name(LN00, 2) + + OUTP("Switch implementation can cause AE_ALREADY_EXISTS 1") + + Store(0, Local1) + + while (LN00) { + switch (ToInteger (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, 0, Serialized) + { + Name(LN00, 1) + + OUTP("Switch implementation can cause AE_ALREADY_EXISTS 2") + + Store(0, Local1) + + while (LN00) { + switch (ToInteger (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 (ToInteger (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, Serialized) + { + 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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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 0000000..a671a0c --- /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 0000000..844a210 --- /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 0000000..7e90442 --- /dev/null +++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/recursion/rec_abbu.asl @@ -0,0 +1,100 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..6c5f20a --- /dev/null +++ b/tests/aslts/src/runtime/collections/Identity2MS/abbu/recursion/rec_aslts.asl @@ -0,0 +1,355 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..15319b5 --- /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 0000000..c5e7236 --- /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 0000000..0f1cbf0 --- /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 0000000..9b0656a --- /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 0000000..3b69f00 --- /dev/null +++ b/tests/aslts/src/runtime/collections/TMP/level/MAIN.asl @@ -0,0 +1,69 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..e67f0eb --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0000/DECL.asl @@ -0,0 +1,91 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..65d0120 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0000/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..bd8ce95 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0000/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..98df6f4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0001_ASL/DECL.asl @@ -0,0 +1,89 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..1f6eea9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0001_ASL/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..1457e19 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0001_ASL/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..616d3c1 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0002/DECL.asl @@ -0,0 +1,54 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..d85ec05 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0002/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..554196a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0002/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..3cdf907 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0003_ASL/DECL.asl @@ -0,0 +1,59 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2f47e35 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0003_ASL/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..f632f0c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0003_ASL/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..1849552 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0004/DECL.asl @@ -0,0 +1,57 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..a597f2c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0004/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..6383595 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0004/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..c5381a2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0005/DECL.asl @@ -0,0 +1,65 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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, Serialized) +{ + Store(0, Local7) + + Switch (ToInteger (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 0000000..677025f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0005/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..3862400 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0005/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..e9f02f0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0006/DECL.asl @@ -0,0 +1,46 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..81075b8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0006/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..90ef467 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0006/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..95056c7 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0007/DECL.asl @@ -0,0 +1,46 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..c64f442 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0007/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..17bb759 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0007/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..bf35941 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0008/DECL.asl @@ -0,0 +1,45 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4fb4333 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0008/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4a94e2b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0008/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..a9c6af7 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0009/DECL.asl @@ -0,0 +1,59 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..bffb07f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0009/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..6e6ff74 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0009/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..50dcdda --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0010/DECL.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..acd285c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0010/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..310db3d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0010/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..6501c5d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0011_ASL/DECL.asl @@ -0,0 +1,83 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..aa5e7c7 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0011_ASL/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..6472476 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/DECL.asl @@ -0,0 +1,43 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..c1fa590 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/DataLevel10.asl @@ -0,0 +1,598 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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: \\ + * + * Data for DerefOf() are 0 levels up. + * (data being referred are in the same Method which + * initiates DerefOf()). + * + * DataLevel.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() + */ +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() + */ +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() - 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() - 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() + */ +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() - 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() - 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() + */ +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 0000000..75c6e51 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/DataLevel20.asl @@ -0,0 +1,606 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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. + * + * Data for DerefOf() are 0 levels up. + * + * DataLevel.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() + */ +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() + */ +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() - 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() - 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() + */ +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() - 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() - 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() + */ +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 0000000..7be88f1 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/DataLevel21_DeclDown.asl @@ -0,0 +1,613 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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. + * + * Data for DerefOf() are 1 levels up. + * + * DataLevel.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() + */ +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() + */ +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() - 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() - 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() + */ +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() - 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() - 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() + */ +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 0000000..6fff120 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/DataLevel21_DeclUp.asl @@ -0,0 +1,612 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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. + * + * Data for DerefOf() are 1 levels up. + * + * DataLevel.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() + */ +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() + */ +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() - 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() - 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() + */ +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() - 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() - 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() + */ +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 0000000..4697850 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..7952e18 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/Method.asl @@ -0,0 +1,137 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..3f59556 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0012/RUN.asl @@ -0,0 +1,37 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..bdf8314 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0013/DECL.asl @@ -0,0 +1,87 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..6188ed9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0013/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..274ba09 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0013/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..36ead4f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0014/DECL.asl @@ -0,0 +1,51 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..66bce63 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0014/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..b809af8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0014/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..3733dcf --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0015/DECL.asl @@ -0,0 +1,49 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..0e43a7a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0015/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..504ce12 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0015/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..922585a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0016/DECL.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..38de772 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0016/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..cfc2f41 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0016/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..96d8758 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0017/DECL.asl @@ -0,0 +1,53 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..8cba003 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0017/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..c62e29a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0017/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..068ef34 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0018/DECL.asl @@ -0,0 +1,51 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..173b26e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0018/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..f015c33 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0018/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..776fb5a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0019/DECL.asl @@ -0,0 +1,45 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..c65d67b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0019/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..8829123 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0019/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..5146dd0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0020/DECL.asl @@ -0,0 +1,51 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..e1edef4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0020/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..c959ef5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0020/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..955da9f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0021/DECL.asl @@ -0,0 +1,45 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2deb13d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0021/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..6b9951c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0021/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..608104f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0022/DECL.asl @@ -0,0 +1,51 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..81c150b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0022/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..e07108a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0022/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..ce0d4b6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0023/DECL.asl @@ -0,0 +1,72 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..6ad7228 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0023/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..9fd481e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0023/RUN.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..5b189d3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0024_ASL/DECL.asl @@ -0,0 +1,53 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..8e2d446 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0024_ASL/MAIN.asl @@ -0,0 +1,54 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..5fdc408 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0025_SPEC/DECL.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..031f13e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0026_ASL_NOT_BUG_NOW/DECL.asl @@ -0,0 +1,47 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..83d066d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0026_ASL_NOT_BUG_NOW/MAIN.asl @@ -0,0 +1,54 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..21fc949 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0027/DECL.asl @@ -0,0 +1,94 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..cc0f412 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0027/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..074af71 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0027/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..069813d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0028/DECL.asl @@ -0,0 +1,93 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..d6a7637 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0028/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4f391af --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0028/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..fb75f16 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0029/DECL.asl @@ -0,0 +1,94 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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, Serialized) +{ + Switch (ToInteger (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 0000000..af994f1 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0029/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..30d7c5f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0029/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..e8d9c67 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0030/DECL.asl @@ -0,0 +1,93 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..16c6139 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0030/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..0bf879d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0030/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..351ff5f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0031_ASL_RUNTIME/DECL.asl @@ -0,0 +1,199 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..feb2eb4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0031_ASL_RUNTIME/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..e153483 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0031_ASL_RUNTIME/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..745b8ee --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0032_ASL/DECL.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..3667fee --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0032_ASL/MAIN.asl @@ -0,0 +1,54 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..5a34084 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0033_ASL/DECL.asl @@ -0,0 +1,101 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..59cb733 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0033_ASL/MAIN.asl @@ -0,0 +1,54 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..1d0247f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0034/DECL.asl @@ -0,0 +1,60 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..f9a6433 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0034/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..10f5de9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0034/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..051bf47 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0035_ASL/DECL.asl @@ -0,0 +1,51 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..fe6c855 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0035_ASL/MAIN.asl @@ -0,0 +1,54 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..9e1b4a8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0036_ASL/DECL.asl @@ -0,0 +1,44 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..a9065df --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0036_ASL/MAIN.asl @@ -0,0 +1,54 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..8c05c10 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0037/DECL.asl @@ -0,0 +1,52 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..e4ec6ef --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0037/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..38eeab5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0037/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..b151df6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0038/DECL.asl @@ -0,0 +1,80 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4a1eb47 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0038/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..6b66362 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0038/RUN.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..e9bb9f6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0039_ASL_RUNTIME/DECL.asl @@ -0,0 +1,54 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..c982518 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0039_ASL_RUNTIME/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..19ab6cd --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0039_ASL_RUNTIME/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..1340f01 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0040/DECL.asl @@ -0,0 +1,47 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..e56f0d4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0040/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..3c82f6f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0040/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..19582b4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0041/DECL.asl @@ -0,0 +1,45 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..538ef64 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0041/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..e00e3db --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0041/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..3838127 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0042/DECL.asl @@ -0,0 +1,45 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4b0565e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0042/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..026cf69 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0042/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..0cc351f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0043/DECL.asl @@ -0,0 +1,46 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..f47b07a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0043/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..b5ea582 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0043/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..875db45 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0044/DECL.asl @@ -0,0 +1,45 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..f1b8086 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0044/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..3e69f17 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0044/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..7653dfe --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0045/DECL.asl @@ -0,0 +1,72 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..d90ddc7 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0045/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..6de8b40 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0045/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..42d86a7 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0046/DECL.asl @@ -0,0 +1,75 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..f278d33 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0046/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..6819b46 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0046/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..e2d8533 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0047/DECL.asl @@ -0,0 +1,108 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2f68138 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0047/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..0e9b3ea --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0047/RUN.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..a0123a3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0048/DECL.asl @@ -0,0 +1,59 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..03c3aa4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0048/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..b787548 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0048/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..e1c8870 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0049/DECL.asl @@ -0,0 +1,65 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..9db511b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0049/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..12556b3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0049/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..6cabbe2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0050/DECL.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..7a27f17 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0050/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4d2dcb3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0050/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..4261a35 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0051_ASL_RUNTIME/DECL.asl @@ -0,0 +1,78 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..cd9e9c2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0051_ASL_RUNTIME/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..59b7284 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0051_ASL_RUNTIME/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..095a3ec --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0052/DECL.asl @@ -0,0 +1,57 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..d533290 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0052/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..c1a68a5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0052/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..0a028fd --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0053_ASL/DECL.asl @@ -0,0 +1,82 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..c12edb5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0053_ASL/MAIN.asl @@ -0,0 +1,54 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..6a71694 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0054/DECL.asl @@ -0,0 +1,203 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..9377e08 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0054/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..0b61582 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0054/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..21bbdd7 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0055_ASL/DECL.asl @@ -0,0 +1,46 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..bd1b5f8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0055_ASL/MAIN.asl @@ -0,0 +1,54 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..57ec9a4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0056_ASL/DECL.asl @@ -0,0 +1,76 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..b119ddf --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0056_ASL/MAIN.asl @@ -0,0 +1,54 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..f2eeb6b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0057/DECL.asl @@ -0,0 +1,98 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..1a42374 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0057/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..38ac23f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0057/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..c06ade6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0058/DECL.asl @@ -0,0 +1,105 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..1238694 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0058/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..e9c2e5d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0058/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..05437f6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0059/DECL.asl @@ -0,0 +1,78 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..42ebf39 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0059/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..cd40737 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0059/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..b1aea5e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0060/DECL.asl @@ -0,0 +1,112 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..9ed1400 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0060/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..ae61a78 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0060/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..1c81384 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0061/DECL.asl @@ -0,0 +1,114 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..1260fe3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0061/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..8fb85ed --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0061/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..d8990b3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/DECL.asl @@ -0,0 +1,146 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..3420404 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..037f8e7 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..365c0f2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/old_test/DECL.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4ab55cf --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/old_test/MAIN.asl @@ -0,0 +1,188 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..da5d86a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/DECL.asl @@ -0,0 +1,39 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..0a8230e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/File0.asl @@ -0,0 +1,572 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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() + */ +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 0000000..1c45cc6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/File1.asl @@ -0,0 +1,1389 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 () + */ +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 () + */ +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 () + * + * 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 () + * + * 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 () + * + * 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 () + * + * 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 0000000..d40d717 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..23f2230 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/Misc.asl @@ -0,0 +1,400 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..5ba0eba --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0063/RUN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..599656b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0064/DECL.asl @@ -0,0 +1,81 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4264611 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0064/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..a5d4702 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0064/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..38039ee --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0065/DECL.asl @@ -0,0 +1,78 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..c198fe6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0065/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..ade9553 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0065/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..fe83813 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0066/DECL.asl @@ -0,0 +1,78 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..ca6355b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0066/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..a98c984 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0066/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..3b5d22a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0067/DECL.asl @@ -0,0 +1,69 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..196127a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0067/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..ed5c39c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0067/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..d99547a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0068/DECL.asl @@ -0,0 +1,69 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..cee58c2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0068/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..85cac94 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0068/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..7cddc0a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0069/DECL.asl @@ -0,0 +1,48 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..594fdb8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0069/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..288b7b5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0069/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..5f2ea44 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0070_ASL/DECL.asl @@ -0,0 +1,75 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4c808d0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0070_ASL/MAIN.asl @@ -0,0 +1,54 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..95daf22 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0071_ASL/DECL.asl @@ -0,0 +1,75 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..1288032 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0071_ASL/MAIN.asl @@ -0,0 +1,54 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..16350c4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0072_ASL/DECL.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..ae4cfc2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0072_ASL/MAIN.asl @@ -0,0 +1,54 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..05fdad1 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0073_ASL/DECL.asl @@ -0,0 +1,42 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2a73290 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0073_ASL/MAIN.asl @@ -0,0 +1,88 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..8c22dd9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0073_ASL/misc.asl @@ -0,0 +1,617 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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) + } + + /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */ +// +// 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 0000000..29488f6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0073_ASL/misc.old.asl @@ -0,0 +1,617 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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) + } + + /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */ +// +// 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 0000000..7d33adb --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0074/DECL.asl @@ -0,0 +1,51 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..32a4264 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0074/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..684bbe5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0074/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..d4278ec --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0075/DECL.asl @@ -0,0 +1,547 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (arg0)) { + Case (1) { + Store(1, Local0) + } + } + Switch (ToInteger (arg0)) { + Case (2) { + Store(2, Local0) + } + } + Switch (ToInteger (arg0)) { + Case (3) { + Store(3, Local0) + } + } + Switch (ToInteger (arg0)) { + Case (4) { + Store(4, Local0) + } + } + Switch (ToInteger (arg0)) { + Case (5) { + Store(5, Local0) + } + } + Switch (ToInteger (arg0)) { + Case (6) { + Store(6, Local0) + } + } + Switch (ToInteger (arg0)) { + Case (7) { + Store(7, Local0) + } + } + Switch (ToInteger (arg0)) { + Case (8) { + Store(8, Local0) + } + } + Switch (ToInteger (arg0)) { + Case (9) { + Store(9, Local0) + } + } + Switch (ToInteger (arg0)) { + Case (10) { + Store(10, Local0) + } + } + Switch (ToInteger (arg0)) { + Case (11) { + Store(11, Local0) + } + } + Switch (ToInteger (arg0)) { + Case (12) { + Store(12, Local0) + } + } + Switch (ToInteger (arg0)) { + Case (13) { + Store(13, Local0) + } + } + Switch (ToInteger (arg0)) { + Case (14) { + Store(14, Local0) + } + } + Switch (ToInteger (arg0)) { + Case (15) { + Store(15, Local0) + } + } + Switch (ToInteger (arg0)) { + Case (16) { + Store(16, Local0) + } + } + Switch (ToInteger (arg0)) { + Case (17) { + Store(17, Local0) + } + } + Switch (ToInteger (arg0)) { + Case (18) { + Store(18, Local0) + } + } + Switch (ToInteger (arg0)) { + Case (19) { + Store(19, Local0) + } + } + Switch (ToInteger (arg0)) { + Case (20) { + Store(20, Local0) + } + } + Switch (ToInteger (arg0)) { + Case (21) { + Store(21, Local0) + } + } + Switch (ToInteger (arg0)) { + Case (22) { + Store(22, Local0) + } + } + Switch (ToInteger (arg0)) { + Case (23) { + Store(23, Local0) + } + } + Switch (ToInteger (arg0)) { + Case (24) { + Store(24, Local0) + } + } + Switch (ToInteger (arg0)) { + Case (25) { + Store(25, Local0) + } + } + Switch (ToInteger (arg0)) { + Case (26) { + Store(26, Local0) + } + } + Switch (ToInteger (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, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (arg0)) { + Case (1) { + Store(1, Local0) + } + } + + return (Local0) + } + + Method(me0f, 1, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (arg0)) { + Case (2) { + Store(2, Local0) + } + } + + return (Local0) + } + + Method(me10, 1, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (arg0)) { + Case (3) { + Store(3, Local0) + } + } + + return (Local0) + } + + Method(me11, 1, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (arg0)) { + Case (4) { + Store(4, Local0) + } + } + + return (Local0) + } + + Method(me12, 1, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (arg0)) { + Case (5) { + Store(5, Local0) + } + } + + return (Local0) + } + + Method(me13, 1, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (arg0)) { + Case (6) { + Store(6, Local0) + } + } + + return (Local0) + } + + Method(me14, 1, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (arg0)) { + Case (7) { + Store(7, Local0) + } + } + + return (Local0) + } + + Method(me15, 1, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (arg0)) { + Case (8) { + Store(8, Local0) + } + } + + return (Local0) + } + + Method(me16, 1, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (arg0)) { + Case (9) { + Store(9, Local0) + } + } + + return (Local0) + } + + Method(me17, 1, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (arg0)) { + Case (10) { + Store(10, Local0) + } + } + + return (Local0) + } + + Method(me18, 1, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (arg0)) { + Case (11) { + Store(11, Local0) + } + } + + return (Local0) + } + + Method(me19, 1, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (arg0)) { + Case (12) { + Store(12, Local0) + } + } + + return (Local0) + } + + Method(me1a, 1, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (arg0)) { + Case (13) { + Store(13, Local0) + } + } + + return (Local0) + } + + Method(me1b, 1, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (arg0)) { + Case (14) { + Store(14, Local0) + } + } + + return (Local0) + } + + Method(me1c, 1, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (arg0)) { + Case (15) { + Store(15, Local0) + } + } + + return (Local0) + } + + Method(me1d, 1, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (arg0)) { + Case (16) { + Store(16, Local0) + } + } + + return (Local0) + } + + Method(me1e, 1, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (arg0)) { + Case (17) { + Store(17, Local0) + } + } + + return (Local0) + } + + Method(me1f, 1, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (arg0)) { + Case (18) { + Store(18, Local0) + } + } + + return (Local0) + } + + Method(me20, 1, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (arg0)) { + Case (19) { + Store(19, Local0) + } + } + + return (Local0) + } + + Method(me21, 1, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (arg0)) { + Case (20) { + Store(20, Local0) + } + } + + return (Local0) + } + + Method(me22, 1, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (arg0)) { + Case (21) { + Store(21, Local0) + } + } + + return (Local0) + } + + Method(me23, 1, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (arg0)) { + Case (22) { + Store(22, Local0) + } + } + + return (Local0) + } + + Method(me24, 1, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (arg0)) { + Case (23) { + Store(23, Local0) + } + } + + return (Local0) + } + + Method(me25, 1, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (arg0)) { + Case (24) { + Store(24, Local0) + } + } + + return (Local0) + } + + Method(me26, 1, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (arg0)) { + Case (25) { + Store(25, Local0) + } + } + + return (Local0) + } + + Method(me27, 1, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (arg0)) { + Case (26) { + Store(26, Local0) + } + } + + return (Local0) + } + + Method(me28, 1, Serialized) + { + Store(0x100, Local0) + + Switch (ToInteger (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 0000000..4e4830e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0075/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..9857331 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0075/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..1217da5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0076/DECL.asl @@ -0,0 +1,49 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..bc1cfcb --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0076/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..23e714d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0076/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..b363f54 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0077/DECL.asl @@ -0,0 +1,50 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..5760245 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0077/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..8e81ea1 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0077/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..4005440 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0078/DECL.asl @@ -0,0 +1,40 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..203c7d8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0078/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..e5873b9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0078/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..dcf60f0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0079/DECL.asl @@ -0,0 +1,41 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..dea21a6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0079/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..1c727e3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0079/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..f826f92 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0080_ASL/DECL.asl @@ -0,0 +1,60 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..566084d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0080_ASL/MAIN.asl @@ -0,0 +1,54 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..3e8cca7 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0081/DECL.asl @@ -0,0 +1,69 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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) + } + + /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */ +// +// 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 0000000..40050bd --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0081/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..b90cdae --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0081/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..fd1ae07 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0082_SPEC/DECL.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..82a5c6d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0083/DECL.asl @@ -0,0 +1,141 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2af45e0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0083/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..ab214cc --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0083/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..075857e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0084/DECL.asl @@ -0,0 +1,283 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..1e904c5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0084/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..b362a39 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0084/RUN.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..fcd8500 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0085/DECL.asl @@ -0,0 +1,83 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2853eac --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0085/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..9f319d0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0085/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..992623c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0086/DECL.asl @@ -0,0 +1,74 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..fa1c683 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0086/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..7cbe345 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0086/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..dad9758 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0087/DECL.asl @@ -0,0 +1,101 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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, 0, Serialized) + { + 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 0000000..1c7ace1 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0087/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..a8aa4c4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0087/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..c16c4c2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0088/DECL.asl @@ -0,0 +1,75 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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, Serialized) + { + 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, Serialized) + { + 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 0000000..9396182 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0088/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..da2f2ce --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0088/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..0057935 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0089_SPEC/DECL.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..ea706c6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0090_SPEC/DECL.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4c73488 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0091_SPEC/DECL.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..cc2d077 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0092/DECL.asl @@ -0,0 +1,85 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..68519c3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0092/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..5c8983b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0092/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..42459e9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0093/DECL.asl @@ -0,0 +1,91 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..39d2959 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0093/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..87f9949 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0093/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..b7471ad --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0094/DECL.asl @@ -0,0 +1,91 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..6164fb4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0094/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..ed258a9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0094/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..16310c4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0095/DECL.asl @@ -0,0 +1,59 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..3ba1be3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0095/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..d0ad5cd --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0095/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..d1fee70 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0096_ASL/DECL.asl @@ -0,0 +1,86 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..e3b62c3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0096_ASL/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..3e8be7c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0096_ASL/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..9a658e7 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0097/DECL.asl @@ -0,0 +1,77 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..9bebc4c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0097/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..8626423 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0097/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..bbc7d76 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0098/DECL.asl @@ -0,0 +1,379 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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, Serialized) + { + Name(pd02, Package(32) { + 0, + id0c, sd02, bd05, pd02, fd02, dd09, ed01, me53, + mxd1, rd03, pwd0, prd0, tzd0, bfd0, + }) + + Store("============= Test started:", Debug) + + Switch (ToInteger (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 0000000..374473d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0098/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..ec70560 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0098/RUN.asl @@ -0,0 +1,43 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..30fa954 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0099/DECL.asl @@ -0,0 +1,48 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..02f0d8a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0099/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..af86ab2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0099/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..c672c5c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0100/DECL.asl @@ -0,0 +1,51 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..9cc8ea2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0100/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..02c19e6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0100/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..1fd5a9c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0101/DECL.asl @@ -0,0 +1,82 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..0dfa011 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0101/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4d078e3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0101/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..c5a1232 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0102/DECL.asl @@ -0,0 +1,39 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..d51655f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0102/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..0076216 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0102/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..1436904 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0103/DECL.asl @@ -0,0 +1,71 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..01febd1 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0103/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..82813ce --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0103/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..5ff139a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0104/DECL.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..f300fc8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0104/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..df565c9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0104/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..b5aa070 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0105/DECL.asl @@ -0,0 +1,53 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..d26a5ef --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0105/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..98fcb5f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0105/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..f27d895 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0106/DECL.asl @@ -0,0 +1,50 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..3e99656 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0106/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..6a38e1b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0106/RUN.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..0184e3c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0107/DECL.asl @@ -0,0 +1,69 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2ccc428 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0107/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..458cf96 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0107/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..6a1db7f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0108_ASL/DECL.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..154f697 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0108_ASL/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..7428585 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0108_ASL/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..6114150 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0109_ASL/DECL.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..deae081 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0109_ASL/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2f7cc6a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0110_ML/DECL.asl @@ -0,0 +1,54 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2f92fd7 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0110_ML/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4ef8604 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0110_ML/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..5f2ca40 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0111/DECL.asl @@ -0,0 +1,151 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4cb7c6d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0111/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..df96b04 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0111/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..da61f34 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0112/DECL.asl @@ -0,0 +1,58 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4a26ac3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0112/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..e56cd50 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0112/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..c0d7d2d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0113/DECL.asl @@ -0,0 +1,94 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..a762b3d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0113/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..63ea94e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0113/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..86293b6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0114_ASL/DECL.asl @@ -0,0 +1,73 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..d28968f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0114_ASL/MAIN.asl @@ -0,0 +1,54 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..137b748 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0115/DECL.asl @@ -0,0 +1,145 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..318bea6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0115/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..ed93451 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0115/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..f9bf117 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0116_ASL/DECL.asl @@ -0,0 +1,53 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..c6054af --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0116_ASL/MAIN.asl @@ -0,0 +1,54 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..512e3c8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0117/DECL.asl @@ -0,0 +1,53 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..dbc3fd3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0117/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..0d00f9d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0117/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..3e1eee3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0118/DECL.0000.asl @@ -0,0 +1,111 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4e3240a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0118/DECL.asl @@ -0,0 +1,285 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..79681da --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0118/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..294aabf --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0118/RUN.asl @@ -0,0 +1,49 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..686f633 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0119/DECL.asl @@ -0,0 +1,50 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..36005c7 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0119/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..a4756a7 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0119/RUN.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..eed625f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0120/DECL.asl @@ -0,0 +1,135 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..7f851a2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0120/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..ae08d8a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0120/RUN.asl @@ -0,0 +1,46 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..65fae5a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0121/DECL.asl @@ -0,0 +1,85 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..79b0ee5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0121/DECL.for_iASL.asl @@ -0,0 +1,84 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..00b0233 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0121/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..b1ecfc1 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0121/RUN.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..aa7f313 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0122_ASL/DECL.asl @@ -0,0 +1,42 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..14a3d40 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0122_ASL/MAIN.asl @@ -0,0 +1,54 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..0e4cdcc --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0123/DECL.asl @@ -0,0 +1,45 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..1f2b2c3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0123/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..faf9168 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0123/RUN.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..3ce0cb3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0124/DECL.asl @@ -0,0 +1,57 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4506e8a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0124/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..fafb05a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0124/RUN.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..7f74ab9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0125/DECL.asl @@ -0,0 +1,84 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..5cb1ef8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0125/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..af0313b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0125/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..e9d831b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0126/DECL.asl @@ -0,0 +1,81 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..94366b0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0126/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..a27cac3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0126/RUN.asl @@ -0,0 +1,40 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..0123390 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0127/DECL.asl @@ -0,0 +1,102 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4440b5b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0127/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2667231 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0127/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..9b0306d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0128/DECL.asl @@ -0,0 +1,148 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..e7867d3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0128/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..26f4d78 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0128/RUN.asl @@ -0,0 +1,44 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..38b8eb9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/DECL.asl @@ -0,0 +1,36 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..3464b29 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/Dynamic.asl @@ -0,0 +1,113 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..1aaedf1 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..c9d5b11 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/RUN.asl @@ -0,0 +1,46 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..cac245d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/StaticGlobal.asl @@ -0,0 +1,206 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..6e85fd0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0129/StaticLocal.asl @@ -0,0 +1,207 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..5e17242 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0130/DECL.asl @@ -0,0 +1,74 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..856b0ae --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0130/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..86fadcc --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0130/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..7f87c14 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0131/DECL.asl @@ -0,0 +1,88 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..bafb959 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0131/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..056e88a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0131/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..3a3372b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0132/DECL.asl @@ -0,0 +1,52 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..c664815 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0132/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..78cccec --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0132/RUN.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..58b0bc9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0133/DECL.asl @@ -0,0 +1,77 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..51de635 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0133/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..1531698 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0133/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..aff439a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0134/DECL.asl @@ -0,0 +1,124 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..d8a0698 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0134/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..78c825d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0134/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..51f12d9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/Common.asl @@ -0,0 +1,4162 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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, Serialized) +{ + Name(i000, 0) + Name(i001, 0) + + While (arg4) { + + Switch (ToInteger (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, Serialized) +{ + 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 (ToInteger (AR23)) { + + + Case (0) { + + /* AR23: 0 ( , ) */ + + Switch (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 0000000..cf38902 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/DECL.asl @@ -0,0 +1,52 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..ecece04 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/GrInvest.asl @@ -0,0 +1,1149 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..65520a0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..a06d41c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/Methods.asl @@ -0,0 +1,588 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..78dc765 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/Misc1.asl @@ -0,0 +1,2602 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..88b3d47 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/Misc2.asl @@ -0,0 +1,760 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..c9b0e4e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/Mix.asl @@ -0,0 +1,759 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..c66a659 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/PkgsHierarchy.asl @@ -0,0 +1,1842 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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, Serialized) +{ + 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 (ToInteger (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 0000000..e5515fe --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/RUN.asl @@ -0,0 +1,51 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..62c3415 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0135/SimplePkgs.asl @@ -0,0 +1,113 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..19355a5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0136/DECL.asl @@ -0,0 +1,47 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..82779f4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0136/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4c05126 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0136/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..dbf6717 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0137/DECL.asl @@ -0,0 +1,53 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..8af9dfc --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0137/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..6cc0286 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0137/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..4eb2832 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0138/DECL.asl @@ -0,0 +1,47 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..9fe98a0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0138/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..1c1c61f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0138/RUN.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..d8bfba8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0139/DECL.asl @@ -0,0 +1,72 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..b7aef11 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0139/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..dd64da7 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0139/RUN.asl @@ -0,0 +1,36 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..9b6064f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0140_ASL/DECL.asl @@ -0,0 +1,44 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..f232bd6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0140_ASL/MAIN.asl @@ -0,0 +1,54 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..cf43ea0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0141_SPEC/DECL.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..884b407 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0142_ASL/DECL.asl @@ -0,0 +1,52 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..8d8411f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0142_ASL/MAIN.asl @@ -0,0 +1,54 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..95c3d5d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0143/DECL.asl @@ -0,0 +1,66 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..c500130 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0143/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..86e1ce1 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0143/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..ef4c96f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0144/DECL.asl @@ -0,0 +1,75 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..0697cf8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0144/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..9a6eeb1 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0144/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..baf68f5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0145_ASL/DECL.asl @@ -0,0 +1,42 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..86fdb9d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0145_ASL/MAIN.asl @@ -0,0 +1,54 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..b71e163 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0146/DECL.asl @@ -0,0 +1,53 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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, Serialized) + { + Store(0, Local7) + Switch (ToInteger (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 0000000..a2bca05 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0146/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2f27a67 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0146/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..a230750 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0147/DECL.asl @@ -0,0 +1,52 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4a0599d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0147/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..c81589e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0147/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..5ff9678 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0148_ASL/DECL.asl @@ -0,0 +1,80 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4b7e980 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0148_ASL/MAIN.asl @@ -0,0 +1,54 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..028c00c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0149_SPEC/DECL.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..1ce7190 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0150/DECL.asl @@ -0,0 +1,176 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..48e6f95 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0150/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..55a09a9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0150/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..f33c6b7 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0151/DECL.asl @@ -0,0 +1,115 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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(, ...)", 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(, ...)", Debug) + Concatenate(Local0, b001) + Store("Ok: Concatenate(, ...)", 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(, ...)", 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(, ...)", Debug) + Concatenate(Local0, s001) + Store("Ok: Concatenate(, ...)", 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 0000000..00e6df0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0151/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..da0ab68 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0151/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..98d9310 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0152_ASL/DECL.asl @@ -0,0 +1,68 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..56c2ab8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0152_ASL/MAIN.asl @@ -0,0 +1,54 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..092ce3a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/DECL.asl @@ -0,0 +1,71 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..efa0b53 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/Exc.asl @@ -0,0 +1,78 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..9d31668 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..74ce605 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/Mix.asl @@ -0,0 +1,319 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..5037593 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/RUN.asl @@ -0,0 +1,59 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..8f415a4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToBuffer.asl @@ -0,0 +1,142 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..6e157ea --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToDevice.asl @@ -0,0 +1,242 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..d86567b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToDeviceGlob.asl @@ -0,0 +1,381 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..8f6b638 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToEvent.asl @@ -0,0 +1,242 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..6d4fa22 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToInteger.asl @@ -0,0 +1,95 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..3f13a21 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToMutex.asl @@ -0,0 +1,242 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..5e6068e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToPackage.asl @@ -0,0 +1,153 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..20458f4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToPowerRes.asl @@ -0,0 +1,242 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..e785b3d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToProcessor.asl @@ -0,0 +1,242 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..700bd14 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToRegion.asl @@ -0,0 +1,242 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..dd7c0d5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToString.asl @@ -0,0 +1,95 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..d543229 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0153/ToThermalZone.asl @@ -0,0 +1,242 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..9aee8f5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0154/DECL.asl @@ -0,0 +1,67 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..f4c6517 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0154/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..8dd4830 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0154/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..3919169 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0155/DECL.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..05ab739 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0155/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..5810ee1 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0155/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..6c8de98 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0156_ML/DECL.asl @@ -0,0 +1,62 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..d6cdab0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0156_ML/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..5b045b4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0156_ML/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..0b9d4e2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0157/DECL.asl @@ -0,0 +1,90 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..0f382af --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0157/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..506d92b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0157/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..632877a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0158_ML/DECL.asl @@ -0,0 +1,67 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..3c976c8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0158_ML/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4d344dc --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0158_ML/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..5387bf1 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0159_ML/DECL.asl @@ -0,0 +1,65 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..9708c64 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0159_ML/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..27051a6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0159_ML/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..604fb35 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0160/DECL.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..05e0190 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0160/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..96263e8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0160/RUN.asl @@ -0,0 +1,36 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..2a465a8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0161/DECL.asl @@ -0,0 +1,280 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..5e7136c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0161/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..26c0de5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0161/RUN.asl @@ -0,0 +1,41 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..2d7d082 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0162/DECL.asl @@ -0,0 +1,73 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..861f991 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0162/MAIN.asl @@ -0,0 +1,62 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..aca9f44 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0162/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..63a7cfe --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0163_ML/DECL.asl @@ -0,0 +1,77 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..8239dce --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0163_ML/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..b9d2191 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0163_ML/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..6f477eb --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0164_ACTION_REQUIRED/DECL.asl @@ -0,0 +1,44 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..456bb6b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0165_ML/DECL.asl @@ -0,0 +1,71 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..232983b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0165_ML/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..e6eb8b6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0165_ML/RUN.asl @@ -0,0 +1,36 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..b5332a4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0166_ML/DECL.asl @@ -0,0 +1,117 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..3f2f75b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0166_ML/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..37d8f87 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0166_ML/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..53694c3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0167/DECL.asl @@ -0,0 +1,143 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..c03e498 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0167/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2c7b339 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0167/RUN.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..76b26c1 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0168_ACT_REQ_NOPT/DECL.asl @@ -0,0 +1,72 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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) + * + * 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 0000000..6c4aff0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0168_ACT_REQ_NOPT/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..6addc85 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0168_ACT_REQ_NOPT/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..08cd7e7 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0169/DECL.asl @@ -0,0 +1,53 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..5624c62 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0169/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..0d3a990 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0169/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..ab474c5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0170/DECL.asl @@ -0,0 +1,58 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..25005a3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0170/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..297fc93 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0170/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..bafa5d9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0171_ACTION_REQUIRED/DECL.asl @@ -0,0 +1,57 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..c3801d1 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0171_ACTION_REQUIRED/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..f760175 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0171_ACTION_REQUIRED/RUN.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..476f4f5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0172_OUTSTAND_ALLOC/DECL.asl @@ -0,0 +1,49 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..0c08d3a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0172_OUTSTAND_ALLOC/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2c512ff --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0172_OUTSTAND_ALLOC/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..0818c2f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0173_DEMO_IMPOSSIBLE/DECL.asl @@ -0,0 +1,52 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..6f0245e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0174/DECL.asl @@ -0,0 +1,40 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..c65d476 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0174/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..bc32b64 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0174/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..a421627 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0175/DECL.asl @@ -0,0 +1,53 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2dee04f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0175/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..f4aff6b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0175/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..bfef3eb --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0176/DECL.asl @@ -0,0 +1,52 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..cfd67c8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0176/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..f8930bb --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0176/RUN.asl @@ -0,0 +1,44 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..4d2bde1 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0177/DECL.asl @@ -0,0 +1,122 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..aa24c8c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0177/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2ae8e8d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0177/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..bb6136e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0178/DECL.asl @@ -0,0 +1,110 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..cb0dc5e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0178/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..81464bc --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0178/RUN.asl @@ -0,0 +1,48 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..8a780a5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0179/DECL.asl @@ -0,0 +1,42 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..04ef924 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0179/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..83a5c70 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0179/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..4803e34 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0180_ASL_RUNTIME/DECL.asl @@ -0,0 +1,73 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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, Serialized) +{ + Store(0xff, Local0) + + Switch (ToInteger (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 0000000..854d41b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0180_ASL_RUNTIME/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2978ec4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0180_ASL_RUNTIME/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..77bf5b5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0181_ASL_RUNTIME/DECL.asl @@ -0,0 +1,44 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..bbfe8b6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0181_ASL_RUNTIME/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..bba5f5f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0181_ASL_RUNTIME/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..d0aaa26 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0182/DECL.asl @@ -0,0 +1,72 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..739ed3f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0182/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..da88433 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0182/RUN.asl @@ -0,0 +1,36 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..4fe4873 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0183/DECL.asl @@ -0,0 +1,62 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..e834af4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0183/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..eebae06 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0183/RUN.asl @@ -0,0 +1,40 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..616e941 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0184/DECL.asl @@ -0,0 +1,48 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..86fde37 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0184/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..80b4e6d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0184/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..b5833cb --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0185/DECL.asl @@ -0,0 +1,96 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..5521519 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0185/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..7e3a129 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0185/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..10bdb5a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0186/DECL.asl @@ -0,0 +1,144 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 implicitly returned in slack mode + */ + + +Method(mf6d, 0, Serialized) +{ + Name(fl00, 0) + Name(i000, 0xabcd0000) + Name(i001, 0xabcd0001) + + Method(m000) + { + Switch (ToInteger (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) + + //y901: Predicate generates Implicit Return since ACPICA release 20080926 + if (y901) { + Store(0, Local0) + } else { + Store(0xabcd0000, Local0) + } + if (LNotEqual(i000, Local0)) { + err("", zFFF, 0x002, 0, 0, i000, Local0) + } + } 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) + + //y901: Predicate generates Implicit Return since ACPICA release 20080926 + if (y901) { + Store(0, Local0) + } else { + Store(0xabcd0001, Local0) + } + if (LNotEqual(i000, Local0)) { + err("", zFFF, 0x006, 0, 0, i000, Local0) + } + } 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) + + //y901: Predicate generates Implicit Return since ACPICA release 20080926 + if (y901) { + Store(0, Local0) + } else { + Store(0xabcd0002, Local0) + } + if (LNotEqual(i000, Local0)) { + err("", zFFF, 0x00a, 0, 0, i000, Local0) + } + } 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 0000000..0904ae9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0186/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..f29c154 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0186/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..9952ab6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0187/DECL.asl @@ -0,0 +1,60 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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(0) + } + + // 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 0000000..f59964a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0187/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..e360f94 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0187/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..9265fd0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0188/DECL.asl @@ -0,0 +1,58 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..19501d0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0188/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4749169 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0188/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..b340d93 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0189/DECL.asl @@ -0,0 +1,53 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..b3b6989 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0189/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..ea3a2d4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0189/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..458623e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0190/DECL.asl @@ -0,0 +1,48 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4fbaab4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0190/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..d009138 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0190/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..5280d5f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0191/DECL.asl @@ -0,0 +1,59 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..cab66f4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0191/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2f240d2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0191/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..cc89609 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0192/DECL.asl @@ -0,0 +1,1167 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..e01e312 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0192/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..964806b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0192/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..a67028c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0193/DECL.asl @@ -0,0 +1,91 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..606410d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0193/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..01b71d1 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0193/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..c65eb31 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0194/DECL.asl @@ -0,0 +1,62 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..ed6f5ba --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0194/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..7179291 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0194/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..4720183 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0195/DECL.asl @@ -0,0 +1,100 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..6f51136 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0195/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..1027337 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0195/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..e089343 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0196/DECL.asl @@ -0,0 +1,40 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2ef029d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0196/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..af50427 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0196/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..a3a9507 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0197/DECL.asl @@ -0,0 +1,40 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..e993891 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0197/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..7755dce --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0197/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..a20926d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0198/DECL.0000.asl @@ -0,0 +1,168 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..da043d2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0198/DECL.asl @@ -0,0 +1,225 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..5867cf8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0198/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..caba8e1 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0198/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..87f32f5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0199/DECL.asl @@ -0,0 +1,91 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..9010b5c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0199/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..6f9a316 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0199/RUN.asl @@ -0,0 +1,36 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..63822cf --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0200/DECL.asl @@ -0,0 +1,222 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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, 0, Serialized) +{ + Store(0, Local7) + Divide(1, Local7, Local2) + switch (LNotEqual(Local2, 0)) { + case (0) + { + mfb4() + } + } +} + +Method(mfbb, 0, Serialized) +{ + 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, 0, Serialized) +{ + switch (ToInteger (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 0000000..9f814fc --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0200/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..0dd1049 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0200/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..383b467 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0201_OUTSTAND_ALLOC/DECL.asl @@ -0,0 +1,175 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..d97fe11 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0201_OUTSTAND_ALLOC/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2c7caf7 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0201_OUTSTAND_ALLOC/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..049d5de --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0202_SEE_129/DECL.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..1a7220a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0203/DECL.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..cbfbb0f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0203/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..5218ecf --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0203/RUN.asl @@ -0,0 +1,39 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..c0e99e5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0204/DECL.asl @@ -0,0 +1,53 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2fe07a9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0204/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..09212f6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0204/RUN.asl @@ -0,0 +1,39 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..a053adf --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0205/DECL.asl @@ -0,0 +1,50 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..f1706f0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0205/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..fb8a146 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0205/RUN.asl @@ -0,0 +1,39 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..7327cf2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0206/DECL.asl @@ -0,0 +1,58 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..a524e4d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0206/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..6de1653 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0206/RUN.asl @@ -0,0 +1,39 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..6a3f67c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0207/DECL.asl @@ -0,0 +1,58 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2d7f2ac --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0207/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2d65495 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0207/RUN.asl @@ -0,0 +1,39 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..b15ba4f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0208/DECL.asl @@ -0,0 +1,84 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..29d1cd8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0208/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..e9d9e94 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0208/RUN.asl @@ -0,0 +1,39 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..0b8d82d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0209_ML_SEE_135/DECL.asl @@ -0,0 +1,39 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..af57ee5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0210/DECL.asl @@ -0,0 +1,66 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..8acd1c9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0210/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..9fcf84a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0210/RUN.asl @@ -0,0 +1,35 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..05775f6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0211/DECL.asl @@ -0,0 +1,61 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2dbffb6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0211/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..80b7d59 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0211/RUN.asl @@ -0,0 +1,35 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..1a1fc48 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0212/Common.asl @@ -0,0 +1,31 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..983aec8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0212/DECL.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..7fd7d49 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0212/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..b25133b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0212/Misc.asl @@ -0,0 +1,424 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..169a82c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0212/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..4e0ed70 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0213/DECL.asl @@ -0,0 +1,57 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..5768ce2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0213/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..554e407 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0213/RUN.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..c62ccf6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0214/DECL.asl @@ -0,0 +1,84 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..308ff73 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0214/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..6b69a6b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0214/RUN.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..4a2f8df --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0215/DECL.asl @@ -0,0 +1,92 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4109e13 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0215/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..8688359 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0215/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..580ad09 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0216/DECL.asl @@ -0,0 +1,779 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..597f51d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0216/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..ac8eb68 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0216/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..3165ef8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0217/DECL.asl @@ -0,0 +1,58 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..6102aee --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0217/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..3f2cb89 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0217/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..e0fd24c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0218/DECL.asl @@ -0,0 +1,94 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..b0a98af --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0218/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..b8cef93 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0218/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..f884984 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0219/DECL.asl @@ -0,0 +1,48 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..651fcb6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0219/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..244fd6e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0219/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..ba38c93 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0220/DECL.asl @@ -0,0 +1,71 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..b83dbe6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0220/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..18f4085 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0220/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..79f536a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0221/DECL.asl @@ -0,0 +1,71 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..50a7a2c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0221/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..f1ac325 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0221/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..0b1e5d8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0222/DECL.asl @@ -0,0 +1,63 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..911b68b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0222/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..7f9233b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0222/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..910b242 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0223/DECL.asl @@ -0,0 +1,104 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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, 0x1F0} /* 0x1F0 == length of SSDT */ +} + +Method(m10b) +{ + /* This SSDT must be identical to SSDT1 in the AcpiExec utility */ + + Name(SSDT, Buffer(0x3E){ + 0x53,0x53,0x44,0x54,0x3E,0x00,0x00,0x00, /* 00000000 "SSDT>..." */ + 0x02,0x08,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */ + 0x73,0x73,0x64,0x74,0x31,0x00,0x00,0x00, /* 00000010 "ssdt1..." */ + 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ + 0x20,0x06,0x12,0x20,0x14,0x19,0x5F,0x54, /* 00000020 " .. .._T" */ + 0x39,0x38,0x01,0x70,0x0D,0x53,0x53,0x44, /* 00000028 "98.p.SSD" */ + 0x54,0x31,0x20,0x2D,0x20,0x5F,0x54,0x39, /* 00000030 "T1 - _T9" */ + 0x38,0x00,0x5B,0x31,0xA4,0x00 /* 00000038 "8.[1.." */ + }) + + 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, 0x1F0} /* 0x1F0 == length of SSDT */ + + CHCK(FU00, SSDT, arg0) + } + + Method(m001, 4) { + DataTableRegion (DR00, arg0, arg1, arg2) + + Field(DR00, AnyAcc, NoLock, Preserve) { + FU00, 0x1F0} /* 0x1F0 == length of SSDT */ + + 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, 0x1F0} /* 0x1F0 == length of SSDT */ + + 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 0000000..253c6fc --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0223/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..d60df28 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0223/RUN.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..22370d7 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0224/DECL.asl @@ -0,0 +1,78 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..157ce71 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0224/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..e5b2ef4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0224/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..35cf8cf --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0225_ASL/DECL.asl @@ -0,0 +1,58 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..c5edf72 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0225_ASL/MAIN.asl @@ -0,0 +1,54 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..15e2c4e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0226/DECL.asl @@ -0,0 +1,80 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..38fa1dd --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0226/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..452fdd8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0226/RUN.asl @@ -0,0 +1,36 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..4911389 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0227_ASL/DECL.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..41f1207 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0227_ASL/MAIN.asl @@ -0,0 +1,69 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..17b40f3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0228/DECL.asl @@ -0,0 +1,65 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..c561526 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0228/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..ca84f86 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0228/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..a75d71b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0229/DECL.asl @@ -0,0 +1,46 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..603b2e4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0229/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..0a34bf8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0229/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..e99c775 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0230/DECL.asl @@ -0,0 +1,118 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..e939d17 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0230/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..d5a6b9c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0230/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..4214a08 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0231/DECL.asl @@ -0,0 +1,101 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..69e2e6b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0231/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..64ea4c1 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0231/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..81b924b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0232_F_OPTION/DECL.asl @@ -0,0 +1,80 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..3993fdd --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0232_F_OPTION/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..d3dd8a6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0232_F_OPTION/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..c54f814 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0233_ASL/DECL.asl @@ -0,0 +1,48 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..846f9d5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0233_ASL/MAIN.asl @@ -0,0 +1,54 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..a7c5198 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0234_ASL_RUNTIME/DECL.asl @@ -0,0 +1,35 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..38f8a8d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0235_ASL_RUNTIME/DECL.asl @@ -0,0 +1,35 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..f85b7f9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0236_ASL/DECL.asl @@ -0,0 +1,70 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..24d5db6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0236_ASL/MAIN.asl @@ -0,0 +1,39 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..3ff6e5e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0237_ASL/DECL.asl @@ -0,0 +1,78 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..073ec4c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0237_ASL/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..523c8c2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0238/DECL.asl @@ -0,0 +1,74 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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) + Release(MX08) + Release(MX07) + 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 0000000..087d89e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0238/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..e6972b1 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0238/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..8338b4c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0239_ACTION_REQUIRED/DECL.asl @@ -0,0 +1,97 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 ) + * by the Threads debug operation on more than one thread + * (use 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 0000000..7cec399 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0239_ACTION_REQUIRED/MAIN.asl @@ -0,0 +1,82 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..d4ed907 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0239_ACTION_REQUIRED/RUN.asl @@ -0,0 +1,45 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..bdc5fb5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0240_ACTION_REQUIRED/DECL.asl @@ -0,0 +1,152 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 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 0000000..d71d8d2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0240_ACTION_REQUIRED/MAIN.asl @@ -0,0 +1,82 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..6fc00c9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0240_ACTION_REQUIRED/RUN.asl @@ -0,0 +1,53 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..c798e89 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0241/DECL.asl @@ -0,0 +1,60 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..c93a01e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0241/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2788acc --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0241/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..eda9804 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0242/DECL.asl @@ -0,0 +1,261 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..73efc7f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0242/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..9bb5586 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0242/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..cf4a44c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0243/DECL.asl @@ -0,0 +1,115 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..37f5b9c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0243/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..b018a6c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0243/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..bebf19e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0244/DECL.asl @@ -0,0 +1,372 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 is not valid, + * removed from test suite. + */ + + //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 0000000..c943aad --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0244/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..a59fbf0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0244/RUN.asl @@ -0,0 +1,36 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..d61fce2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0245_SPEC/DECL.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..1ff7f7a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0246/DECL.asl @@ -0,0 +1,67 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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, 0, Serialized) +{ + Store(2, Local0) + Store(0, Local1) + Store(0x000, Local2) + + while (Local0) { + if (CH03("", 0, Local2, 0, 0)) { + return + } + Increment(Local2) + switch (ToInteger (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 0000000..c1e7015 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0246/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..7c55074 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0246/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..4db3bb9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0247/DECL.asl @@ -0,0 +1,99 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..369cf89 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0247/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..b27fedf --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0247/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..8f48005 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0248/DECL.asl @@ -0,0 +1,225 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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, Serialized) + { + NoOp + + Switch (ToInteger (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 0000000..1196bda --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0248/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..32ead00 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0248/RUN.asl @@ -0,0 +1,45 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..2d80bea --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0249_DEMO_IMPOSSIBLE/DECL.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..0b672b4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0250_DEMO_IMPOSSIBLE/DECL.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..0ecd0c7 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0251_ACTION_REQUIRED/DECL.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..d9258e6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0251_ACTION_REQUIRED/MAIN.asl @@ -0,0 +1,127 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..7a4d68f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0252_ASL/DECL.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..84a53ea --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0252_ASL/MAIN.asl @@ -0,0 +1,59 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..159780f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0253_DEMO_IMPOSSIBLE/DECL.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..5d40e71 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0254_DEMO_IMPOSSIBLE/DECL.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..a7944e9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0255_DEMO_IMPOSSIBLE/DECL.asl @@ -0,0 +1,35 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..32c1735 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0256_DEMO_IMPOSSIBLE/DECL.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..5530610 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0257/DECL.asl @@ -0,0 +1,101 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4122aa8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0257/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..65a0cb3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0257/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..d43dfe9 --- /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 0000000..2e23df7 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0258/DECL.asl @@ -0,0 +1,100 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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) +{ + 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 0000000..89ab1aa --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0258/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2843ace --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0258/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..d43dfe9 --- /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 0000000..18cb64f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0259/DECL.asl @@ -0,0 +1,119 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..f210bb5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0259/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..fac55e4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0259/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..2adc546 --- /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 0000000..6a74911 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0260/DECL.asl @@ -0,0 +1,100 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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, + } + + + 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 0000000..4b92408 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0260/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..57e59ad --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0260/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..c57b477 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0261/DECL.asl @@ -0,0 +1,104 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..084018e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0261/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..5c2c0b4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0261/RUN.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..4301586 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0262/DECL.asl @@ -0,0 +1,70 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4eba3eb --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0262/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..19b2e76 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0262/RUN.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..1e27834 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0263/DECL.asl @@ -0,0 +1,124 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..77a3def --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0263/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..8e0c9d2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0263/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..46a854b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0264/DECL.asl @@ -0,0 +1,135 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2474078 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0264/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..68f678f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0264/RUN.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..f8b5610 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0265/DECL.asl @@ -0,0 +1,111 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..7c3d9c2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0265/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..b74ec37 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0265/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..5edb239 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0266_DEMO_IMPOSSIBLE/DECL.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..e898747 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0267_DEMO_IMPOSSIBLE/DECL.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..df3250d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0268/DECL.asl @@ -0,0 +1,69 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..ac24e62 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0268/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..9897d17 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0268/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..98ff93b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0269/DECL.asl @@ -0,0 +1,112 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2a91fdb --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0269/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..9942556 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0269/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..500d012 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0270_SPEC/DECL.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..aeecc02 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0271/DECL.asl @@ -0,0 +1,90 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..6498e4c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0271/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..0fb76eb --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0271/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..2722f89 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0272/DECL.asl @@ -0,0 +1,90 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..b833563 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0272/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..61eed7d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0272/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..b78a0d7 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0273/DECL.asl @@ -0,0 +1,109 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..055a803 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0273/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..767a25b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0273/RUN.asl @@ -0,0 +1,44 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..bd4fb73 --- /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 0000000..ecf1f17 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0274/DECL.asl @@ -0,0 +1,94 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..c5c1501 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0274/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..6d6e969 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0274/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..3f6a196 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0275/DECL.asl @@ -0,0 +1,82 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..7d0c512 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0275/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..1427d4b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0275/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..796d2a3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0276_LARGE_REF_COUNT/DECL.asl @@ -0,0 +1,126 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..f02d8a7 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0276_LARGE_REF_COUNT/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..72a0761 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0276_LARGE_REF_COUNT/RUN.asl @@ -0,0 +1,42 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..4ca8aa9 --- /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:[]��� 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: +�[] acpi_ut_update_object_reference+0xbc/0x123 +�[] acpi_ut_create_internal_object_dbg+0x15/0x67 +�[] acpi_ex_opcode_2A_1T_1R+0x374/0x3a0 +�[] acpi_ds_exec_end_op+0xc2/0x3d1 +�[] acpi_ps_get_next_simple_arg+0xe3/0xed +�[] acpi_ps_append_arg+0x16/0x75 +�[] acpi_ps_parse_loop+0x5bd/0x8d8 +�[] acpi_ps_parse_aml+0x60/0x205 +�[] acpi_ds_init_aml_walk+0xb4/0xfe +�[] acpi_ps_execute_pass+0x7d/0x90 +�[] acpi_ps_execute_method+0xc8/0x157 +�[] acpi_ns_evaluate+0x9d/0xfc +�[] acpi_evaluate_object+0x120/0x1ca +�[] seq_open+0x4d/0x63 +�[] acpi_battery_get_info+0x6e/0x180 +�[] cp_new_stat64+0xfc/0x10e +�[] acpi_battery_read_info+0x3b/0x253 +�[] seq_read+0xe7/0x274 +�[] sys_fstat64+0x1e/0x23 +�[] seq_read+0x0/0x274 +�[] vfs_read+0xa6/0x157 +�[] sys_read+0x41/0x67 +�[] 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 0000000..e8494bb --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0278/DECL.asl @@ -0,0 +1,121 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..09a8aeb --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0278/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..cc07eed --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0278/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..465a712 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0278/ssdt.asl @@ -0,0 +1,43 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..45dfcbd --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0279_ASL_RUNTIME/DECL.asl @@ -0,0 +1,46 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..ee74c5b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0279_ASL_RUNTIME/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..f8109ee --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0279_ASL_RUNTIME/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..5901488 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0280_ASL_RUNTIME/DECL.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..e70fa1b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0280_ASL_RUNTIME/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..370d39e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0280_ASL_RUNTIME/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..1d59481 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0281/DECL.asl @@ -0,0 +1,128 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4503442 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0281/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..10c2e2b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0281/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..3818bb7 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0282/DECL.asl @@ -0,0 +1,54 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..733c09b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0282/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..6be5e64 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0282/RUN.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..da8af54 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0283/DECL.asl @@ -0,0 +1,84 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..117c448 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0283/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..83f42f6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0283/RUN.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..ba5c587 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0284/DECL.asl @@ -0,0 +1,83 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..359df7e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0284/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..cacfe08 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0284/RUN.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..bf0fca3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0285/DECL.asl @@ -0,0 +1,76 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..f2e6a7d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0285/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..249239b --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0285/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..034e7c5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0286/DECL.asl @@ -0,0 +1,87 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..85f18f4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0286/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..bc75dfd --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0286/RUN.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..24e5e1f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0287/DECL.asl @@ -0,0 +1,76 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..889fc07 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0287/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..a651ce1 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0287/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..8c2edb0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0288_ASL_RUNTIME/DECL.asl @@ -0,0 +1,65 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..aefd1cd --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0288_ASL_RUNTIME/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..688d68d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0288_ASL_RUNTIME/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..0704a55 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0289/DECL.asl @@ -0,0 +1,80 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..72abdaf --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0289/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..69b3704 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0289/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..ac106fd --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0290/DECL.asl @@ -0,0 +1,93 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..b3861a2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0290/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..c0b1d81 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0290/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..9a2ef6d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0291_ASL_RUNTIME/DECL.asl @@ -0,0 +1,60 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..a4f9bca --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0291_ASL_RUNTIME/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..964f05c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0291_ASL_RUNTIME/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..c9636af --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0292/DECL.asl @@ -0,0 +1,78 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..ae996cf --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0292/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..277b3bd --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0292/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..5a26473 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0293/DECL.asl @@ -0,0 +1,80 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..f370a36 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0293/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..980fac3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0293/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..98fa23f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0294/DECL.asl @@ -0,0 +1,275 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..88f942e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0294/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..3af2e61 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0294/RUN.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..088a002 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0295_ASL/DECL.asl @@ -0,0 +1,42 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..cf5e752 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0295_ASL/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..c0c8b18 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0296/DECL.asl @@ -0,0 +1,64 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..bc420e6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0296/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..fb5fefb --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0296/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..ee4d98d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0297_ACTIONS_REQUIRED/DECL.asl @@ -0,0 +1,454 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..5a18a3e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0297_ACTIONS_REQUIRED/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..289e177 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0297_ACTIONS_REQUIRED/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..e72a8bc --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0298_ACTIONS_REQUIRED/DECL.asl @@ -0,0 +1,82 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..81e4536 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0298_ACTIONS_REQUIRED/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..5f4a4a3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0298_ACTIONS_REQUIRED/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..0570d8c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0299_ACTIONS_REQUIRED/DECL.asl @@ -0,0 +1,128 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..e935e17 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0299_ACTIONS_REQUIRED/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..17444a8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0299_ACTIONS_REQUIRED/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..83a20c9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0300/DECL.asl @@ -0,0 +1,90 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..d5ec743 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0300/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..8faee08 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0300/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..91f8252 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0301/DECL.asl @@ -0,0 +1,141 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..717f33d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0301/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..765b3cd --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0301/RUN.asl @@ -0,0 +1,38 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..7b5b35d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0302/DECL.asl @@ -0,0 +1,95 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 ",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 ",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 0000000..7ed4ac2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0302/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..334296c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0302/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..c0fe92d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0303/DECL.asl @@ -0,0 +1,110 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..bbcb99a --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0303/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2d0ebca --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0303/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..ad4f633 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0304/DECL.asl @@ -0,0 +1,294 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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, Serialized) + { + if (rpt0) { + Store(arg1, Debug) + } + Increment(cnt0) + + if (LGreater(cnt0, max0)) { + Store(cnt0, max0) + } + + Switch (ToInteger (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, Serialized) { + 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 (ToInteger (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 0000000..cb00448 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0304/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..fc3e13d --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0304/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..c1ecd61 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0305/DECL.asl @@ -0,0 +1,61 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..188e2d7 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0305/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..80f822e --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0305/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..589dfe3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0306/DECL.asl @@ -0,0 +1,70 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..1588f69 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0306/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..7c10404 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/0306/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..edff176 --- /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 0000000..50f13aa --- /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 0000000..e0f3367 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemo/DECL.asl @@ -0,0 +1,441 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..349354c --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemo/MAIN.asl @@ -0,0 +1,72 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..7ff45a8 --- /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 0000000..270705f --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemo/RUN.asl @@ -0,0 +1,433 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..b50b8eb --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemof/DECL.asl @@ -0,0 +1,41 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..a09cd90 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemof/MAIN.asl @@ -0,0 +1,73 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..82fb1f6 --- /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 0000000..1cf0958 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemof/RUN.asl @@ -0,0 +1,31 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..f7cbbc0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/common/DECL.asl @@ -0,0 +1,31 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..fe606a4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/common/data.asl @@ -0,0 +1,284 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..6e8a049 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/common/data.src.asl @@ -0,0 +1,278 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..22cfd91 --- /dev/null +++ b/tests/aslts/src/runtime/collections/bdemo/ACPICA/common/proc.asl @@ -0,0 +1,377 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..2804c8a --- /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 0000000..29b5628 --- /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 0000000..3817bce --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/FULL/DECL.asl @@ -0,0 +1,48 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..751c279 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/FULL/MAIN.asl @@ -0,0 +1,60 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..3589d24 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/FULL/RUN.asl @@ -0,0 +1,41 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..7b00beb --- /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 0000000..4b3af8e --- /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 0000000..e7abf26 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/badasl/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..58ebe22 --- /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 0000000..8f2093c --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/badasl/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..b833198 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/badasl/badasl.asl @@ -0,0 +1,246 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..8cea080 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/misc/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 + 0x01, // 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 0000000..cc9b931 --- /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 0000000..ee766ae --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/misc/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..a21ef7b --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/misc/misc.asl @@ -0,0 +1,1332 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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, Serialized) +{ + 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 (ToInteger (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. + /* + * Removed, invalid test. + * Compiler disallow method invocation as an operand to ObjectType. + */ + /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */ + + //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, , Serialized) +{ + Store(0, Local0) + switch (ToInteger (Local0)) { + case (101) { + Device(d000) {} + Method(m002) {} + } + } +} + +Method(mf75, 1) +{ + Method(mm00, ,Serialized) + { + Store(0, Local0) + switch (ToInteger (Local0)) { + case (101) { + Method(m000) {} + Method(m001) {} + } + } + } + + Method(mm01, ,Serialized) + { + Store(0, Local0) + switch (ToInteger (Local0)) { + case (101) { + Method(m002) {} + Device(dv00) {} + } + } + } + + Method(mm02, ,Serialized) + { + Store(0, Local0) + switch (ToInteger (Local0)) { + case (101) { + Device(dv01) {} + Method(m003) {} + } + } + } + + Method(mm03, ,Serialized) + { + Store(0, Local0) + switch (ToInteger (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) +} + + +/* + * Bug 153, Bugzilla 5314. + * The corresponding bug has been fixed. + * This is an invalid test, should be removed from test suite. + * Method mf77 will fail on ABBU unexpectedly even without Method mf76. + * + * Method(mf76, 1) + * { + * if (LNotEqual(arg0, "Strang")) { + * err(arg0, z054, 72, 0, 0, arg0, "Strang") + * } + * } + * + * 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 0000000..2b6450e --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/namespace/DECL.asl @@ -0,0 +1,46 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..c2b7896 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/namespace/MAIN.asl @@ -0,0 +1,61 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..0eee156 --- /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 0000000..db63923 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/namespace/RUN.asl @@ -0,0 +1,60 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..89b48c8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/namespace/fullpath.asl @@ -0,0 +1,114 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..5fd3b0f --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/namespace/ns0.asl @@ -0,0 +1,378 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..1b84e8e --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/namespace/ns0_root.asl @@ -0,0 +1,373 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..2556fc2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/namespace/ns1.asl @@ -0,0 +1,736 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..f68bb5b --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/namespace/ns2.asl @@ -0,0 +1,162 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..18e7b6e --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/namespace/ns2_root.asl @@ -0,0 +1,220 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..9c8b7f2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/namespace/ns3.asl @@ -0,0 +1,977 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..0b2f5c3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/namespace/ns4.asl @@ -0,0 +1,128 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..6704e14 --- /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 0000000..849dffa --- /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 0000000..4ca78de --- /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 0000000..c719012 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/namespace/scope.asl @@ -0,0 +1,59 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..92e95dc --- /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 0000000..549c774 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/common/ocommon.asl @@ -0,0 +1,1995 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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(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(, +// ) +Method(m601, 2, Serialized) +{ + Switch(ToInteger (arg0)) { + Case(1) { // Integer + Switch(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(, +// , +// ) +Method(m602, 3, Serialized) +{ + if (LLess(arg2, 3)) { + Switch(ToInteger (arg0)) { + Case(1) { // Integer + Switch(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(, +// , +// ) +Method(m603, 3, Serialized) +{ + Switch(ToInteger (arg0)) { + Case(1) { // Integer + if (LLess(arg1, 23)) { + Switch(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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( +// , +// , +// ) +Method(m604, 4, Serialized) +{ + Switch(ToInteger (arg0)) { + Case(0) { // Constant + if (arg3) { + err(terr, z084, 0, 0, 0, arg1, arg2) + } + Switch(ToInteger (arg1)) { + Case(1) { // Integer + Switch(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (arg1)) { + Case(1) { // Integer + Switch(ToInteger (arg2)) { + Case(3) { + Switch(ToInteger (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(ToInteger (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(ToInteger (arg1)) { + Case(1) { // Integer + if (LLess(arg2, 16)) { + Switch(ToInteger (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(ToInteger (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(ToInteger (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(, +// , +// ) +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 0000000..27f3681 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/FULL/DECL.asl @@ -0,0 +1,42 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..9be9ec0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/FULL/MAIN.asl @@ -0,0 +1,59 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..92d2fea --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/FULL/RUN.asl @@ -0,0 +1,40 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..db4b0a3 --- /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 0000000..da42794 --- /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 0000000..fb93b53 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oarg/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..43c2931 --- /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 0000000..3e8e89e --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oarg/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..acb7bbc --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oarg/oarg.asl @@ -0,0 +1,25240 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..678ec64 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oconst/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2534509 --- /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 0000000..f61af4a --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oconst/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..2d0edd4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oconst/oconst.asl @@ -0,0 +1,27005 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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, Serialized) + { + 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, Serialized) + { + 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, Serialized) + { + 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, Serialized) + { + 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, Serialized) + { + 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, Serialized) + { + 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, Serialized) + { + 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) + { + Name(buf0, Buffer(1){0x00}) + while (buf0) { + 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, Serialized) + { + 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 0000000..0ac3d63 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oconversion/MAIN.asl @@ -0,0 +1,58 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..de5ccd3 --- /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 0000000..a0cf8a0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oconversion/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..e351a72 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oconversion/oconversion.asl @@ -0,0 +1,42 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..77d1a26 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/olocal/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..5bc9903 --- /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 0000000..be1e8af --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/olocal/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..3f6b0a1 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/olocal/olocal.asl @@ -0,0 +1,25620 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..bab756b --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedglob/MAIN.asl @@ -0,0 +1,57 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..b99513d --- /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 0000000..dee91a0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedglob/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..9bdbabf --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedglob/onamedglob1.asl @@ -0,0 +1,25188 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..141cef6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedglob/onamedglob2.asl @@ -0,0 +1,12430 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..5d12924 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedloc/MAIN.asl @@ -0,0 +1,57 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..f7c32cb --- /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 0000000..f0b7bca --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedloc/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..37ae036 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedloc/onamedloc1.asl @@ -0,0 +1,25628 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..f09dd7f --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/onamedloc/onamedloc2.asl @@ -0,0 +1,12708 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..b686fb2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/opackageel/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..7cc2a77 --- /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 0000000..50a203e --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/opackageel/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..9912faa --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/opackageel/opackageel.asl @@ -0,0 +1,25197 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..81f6ba0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oreftonamed/MAIN.asl @@ -0,0 +1,57 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..48e4849 --- /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 0000000..29ab22b --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oreftonamed/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..a8a1e2e --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oreftonamed/oreftonamed1.asl @@ -0,0 +1,25198 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..6a5eed2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oreftonamed/oreftonamed2.asl @@ -0,0 +1,12416 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..b441319 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oreftopackageel/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..9c1129a --- /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 0000000..3ebfe11 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oreftopackageel/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..f613bea --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oreftopackageel/oreftopackageel.asl @@ -0,0 +1,25200 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..b17cde1 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oreturn/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4a35e03 --- /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 0000000..1f6ae06 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oreturn/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..1dfb5d5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/operand/tests/oreturn/oreturn.asl @@ -0,0 +1,25198 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..d3d6854 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/provoke/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..a86e64c --- /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 0000000..b79378f --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/provoke/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..60b3ef5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/provoke/provoke.asl @@ -0,0 +1,134 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..5a859a9 --- /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 0000000..2004d63 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/result/common/rcommon.asl @@ -0,0 +1,4493 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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(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(, ) +Method(m681, 2) +{ + Return (Index(arg0, arg1)) +} + +// Return the value of an Auxiliary Source Named Object +// m682(, ) +Method(m682, 2, Serialized) +{ + Switch(ToInteger(arg0)) { + Case(1) { + Switch(ToInteger(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(ToInteger(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(ToInteger(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(, , , ) +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(, , , +// , ) +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(, , ) +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(, ) +Method(m687, 2) +{ + Store(arg0, arg1) +} + +// Gathers simple statistics of Store/CopyObject operators +// m688() +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(, , , ) + 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(, , ) +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(, , , ) + 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, Serialized) + { + 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) { + 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, Serialized) + { + Switch(ToInteger(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, Serialized) + { + 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(ToInteger(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(ToInteger(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(, , , , + // , , ) + 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) { + //this sentence is for m00d and invalid, removed. + //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(, ) + 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(, , , , + // , , ) + 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(, , , , + // , , ) + 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(, , , , + // , , ) + 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(, , , , + // , , ) + 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(, , , , + // , , ) + 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(, , , , + // , , ) + 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(, , , , + // , , ) + 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, Serialized) + { + Switch(ToInteger(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, Serialized) + { + 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(ToInteger(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(ToInteger(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, Serialized) + { + Switch(ToInteger(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(ToInteger(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(, ) + 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(, , , + // , , ) + 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 0000000..c980973 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/result/tests/FULL/DECL.asl @@ -0,0 +1,35 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..4afc677 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/result/tests/FULL/MAIN.asl @@ -0,0 +1,59 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..f8291d4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/result/tests/FULL/RUN.asl @@ -0,0 +1,36 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..82bcf45 --- /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 0000000..781815e --- /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 0000000..0d6fe15 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/result/tests/rconversion/MAIN.asl @@ -0,0 +1,58 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..76aad44 --- /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 0000000..f25c9fb --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/result/tests/rconversion/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..5e1ceb0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/result/tests/rconversion/rconversion.asl @@ -0,0 +1,42 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..f3430a9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/result/tests/rcopyobject/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..e86d224 --- /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 0000000..9d0919b --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/result/tests/rcopyobject/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..2335b88 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/result/tests/rcopyobject/rcopyobject.asl @@ -0,0 +1,43 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..3d5f95d --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/result/tests/rexplicitconv/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..8649e57 --- /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 0000000..ba24ee0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/result/tests/rexplicitconv/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..e11b539 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/result/tests/rexplicitconv/rexplicitconv.asl @@ -0,0 +1,1400 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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(, , +// , , ) +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(, , , ) + 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, Serialized) + { + 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, Serialized) + { + 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, Serialized) + { + 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(, , , , + // , , ) + 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(, , , , + // , , ) + Method(m008, 7, Serialized) + { + // 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(ToInteger(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(ToInteger(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(ToInteger(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(ToInteger(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(ToInteger(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(ToInteger(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(ToInteger(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(ToInteger(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(ToInteger(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(, , , , + // , , ) + Method(m009, 7, Serialized) + { + // 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(ToInteger(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(ToInteger(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(ToInteger(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 0000000..8505576 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/result/tests/rindecrement/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..38aba9a --- /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 0000000..ad2f657 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/result/tests/rindecrement/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..7237bb8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/result/tests/rindecrement/rindecrement.asl @@ -0,0 +1,820 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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(, ) +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(, , , ) + 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, Serialized) + { + 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(, , , , + // , ) + Method(m006, 6, Serialized) + { + 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 + // Target (Result) type should keep the original type + if (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(, , , , + // , ) + 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(, , , , + // , ) + 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(, , , , + // , ) + 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(, , , , + // , ) + 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 0000000..804cc5e --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/result/tests/roptional/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..9873a64 --- /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 0000000..5a0166c --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/result/tests/roptional/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..c8a3267 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/result/tests/roptional/roptional.asl @@ -0,0 +1,2362 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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(, , +// , , ) +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(, , , ) + 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, Serialized) + { + 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, Serialized) + { + 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, Serialized) + { + 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(, , , , + // , , ) + 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) { + //this error report is unnecessary, should be removed. + //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(, , , , + // , , ) + Method(m008, 7, Serialized) + { + // 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(ToInteger(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(ToInteger(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(ToInteger(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(ToInteger(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(ToInteger(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(ToInteger(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(ToInteger(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(ToInteger(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(ToInteger(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(, , , , + // , , ) + Method(m009, 7, Serialized) + { + // 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(ToInteger(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(ToInteger(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(ToInteger(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 0000000..4981afc --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/result/tests/rstore/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..8c69825 --- /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 0000000..b692811 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/result/tests/rstore/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..3127ce5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/result/tests/rstore/rstore.asl @@ -0,0 +1,3959 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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, Serialized) + { + 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 (ToInteger (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, Serialized) + { + 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, Serialized) + { + Switch(ToInteger (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, Serialized) + { + Switch(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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, Serialized) + { + // ArgX as a way to obtain some result object + Method(m000, 5, Serialized) + { + Switch(ToInteger (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, Serialized) + { + Switch(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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, Serialized) + { + // ArgX as a way to obtain some result object + Method(m000, 5, Serialized) + { + Store(0xa0a1a2a35f5e5d5c, Local1) + + Switch(ToInteger (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, Serialized) + { + Store(0xa0a1a2a35f5e5d5c, Local1) + + Switch(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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, Serialized) + { + // ArgX as a way to obtain some result object + Method(m000, 5, Serialized) + { + Switch(ToInteger (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, Serialized) + { + Switch(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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, Serialized) + { + // ArgX as a way to obtain some result object + Method(m000, 5, Serialized) + { + Switch(ToInteger (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, Serialized) + { + Switch(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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, Serialized) + { + // ArgX as a way to obtain some result object + Method(m000, 5, Serialized) + { + Switch(ToInteger (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, Serialized) + { + Switch(ToInteger (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(, , ) + 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(, , ) + 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(, , ) + 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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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, Serialized) + { + // ArgX as a way to obtain some result object + Method(m000, 5, Serialized) + { + Switch(ToInteger (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, Serialized) + { + Switch(ToInteger (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(, , ) + 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(, , ) + 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(, , ) + 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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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, Serialized) + { + // ArgX as a way to obtain some result object + Method(m000, 5, Serialized) + { + Switch(ToInteger (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, Serialized) + { + Switch(ToInteger (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(, , ) + 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(, , ) + 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(, , ) + 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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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, Serialized) + { + // ArgX as a way to obtain some result object + Method(m000, 5, Serialized) + { + Store("initial named string", Local1) + + Switch(ToInteger (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, Serialized) + { + Store("initial named string", Local1) + + Switch(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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 0000000..8da527a --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/FULL/DECL.asl @@ -0,0 +1,57 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..ef99698 --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/FULL/MAIN.asl @@ -0,0 +1,63 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..de6fb47 --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/FULL/RUN.asl @@ -0,0 +1,37 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..7dc4e6c --- /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 0000000..9309ead --- /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 0000000..a9bc606 --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc/MAIN.asl @@ -0,0 +1,69 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 + ) { + +//TMP +Method (XXXX, 1) +{ + Add (Arg0, 4) +} + + // 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) + +// TMP: +Add (Local7, 1) + + 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 0000000..f48c156 --- /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 0000000..381162c --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..3b6277c --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc/exc.asl @@ -0,0 +1,1572 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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) + /* + * We are forced by Windows and BIOS code to increase the maximum stall + * time to 255, this is in violation of the ACPI specification. + * ACPI specification requires that Stall() does not relinquish the + * processor, and delays longer than 100 usec should use Sleep() + * instead. We allow stall up to 255 usec for compatibility with other + * interpreters and existing BIOS. + * + * So we remove this test from test suite. + * + * 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) + + /* + * Note: As for there is not a separate type for ResourceTemplate, + * ResourceTemplate is in fact a buffer but interpreted as + * ResourceTemplate. If the buffer has no complete END_TAG descriptor, + * we get AE_AML_NO_RESOURCE_END_TAG instead of AE_AML_OPERAND_TYPE. + */ + if (EXCV) { + CH04(ts, 0, 71, z058, 100, 0, 0) // AE_AML_NO_RESOURCE_END_TAG + } 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, 71, z058, 101, 0, 0) // AE_AML_NO_RESOURCE_END_TAG + + // Not resource template buffer + + Store(Buffer(){0x2a, 0x04, 0x02}, Local2) + + ConcatenateResTemplate(RT00, Local2) + + if (EXCV) { + CH04(ts, 0, 71, z058, 102, 0, 0) // AE_AML_NO_RESOURCE_END_TAG + } 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, 71, z058, 103, 0, 0) // AE_AML_NO_RESOURCE_END_TAG + + // Like resource template buffer + + Store(Buffer(){0x00, 0x00, 0x00, 0x79, 0x00}, Local2) + + ConcatenateResTemplate(RT00, Local2) + + if (EXCV) { + CH04(ts, 0, 71, z058, 104, 0, 0) // AE_AML_NO_RESOURCE_END_TAG + } 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, 0x1F1} /* 0x1F0 == length of SSDT */ + + 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) + + //17+1 > 17. + Field(OPR0, AnyAcc, NoLock, Preserve) { + Offset(0x11), FU00, 8} + //16+2 > 17. + Field(OPR0, WordAcc, NoLock, Preserve) { + Offset(0x10), FU01, 8} + + CH03(ts, z058, 191, 0, 0) + + Store(0x12, FU00) + + CH04(ts, 0, 53, z058, 192, 0, 0) // AE_AML_REGION_LIMIT + + Store(0x12, FU01) + + CH04(ts, 0, 53, z058, 193, 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, 194, 0, 0) + + Store(0, FU00) + + CH04(ts, 0, 16, z058, 195, 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, 196, 0, 0) // AE_NOT_FOUND + + DataTableRegion (DR01, "SSDT", b000, "") + CH04(ts, 0, 5, z058, 197, 0, 0) // AE_NOT_FOUND + + DataTableRegion (DR02, "SSDT", "", b000) + CH04(ts, 0, 5, z058, 198, 0, 0) // AE_NOT_FOUND + + DataTableRegion (DR03, i000, "", "") + CH04(ts, 0, 5, z058, 199, 0, 0) // AE_NOT_FOUND + + DataTableRegion (DR04, "SSDT", i000, "") + CH04(ts, 0, 5, z058, 200, 0, 0) // AE_NOT_FOUND + + DataTableRegion (DR05, "SSDT", "", i000) + CH04(ts, 0, 5, z058, 201, 0, 0) // AE_NOT_FOUND + + DataTableRegion (DR06, p000, "", i000) + CH04(ts, 0, 47, z058, 202, 0, 0) // AE_AML_OPERAND_TYPE + + DataTableRegion (DR07, "SSDT", p000, "") + CH04(ts, 0, 47, z058, 203, 0, 0) // AE_AML_OPERAND_TYPE + + DataTableRegion (DR08, "SSDT", "", p000) + CH04(ts, 0, 47, z058, 204, 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, 205, 0, 0) + + // Invoke Write Quick transaction + Store(BUFF, FLD0) + + CH04(ts, 0, 54, z058, 206, 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 0000000..a40ef9f --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/FULL/MAIN.asl @@ -0,0 +1,76 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..b90edb9 --- /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 0000000..31dde33 --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/MAIN.asl @@ -0,0 +1,59 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..8b8b233 --- /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 0000000..f1c590c --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..381527f --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/exc_operand1.asl @@ -0,0 +1,42 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..1da08ad --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/MAIN.asl @@ -0,0 +1,71 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..b3d99fd --- /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 0000000..7b19b3d --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..08ef80e --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_00_undef.asl @@ -0,0 +1,2341 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..e891779 --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_01_int.asl @@ -0,0 +1,508 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..dc1014b --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_02_str.asl @@ -0,0 +1,508 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..569b3fa --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_03_buf.asl @@ -0,0 +1,398 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..4edcdad --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_04_pckg.asl @@ -0,0 +1,3565 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 + /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */ +// +// 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 0000000..5ef50e2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_05_funit.asl @@ -0,0 +1,292 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..09195fd --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_06_dev.asl @@ -0,0 +1,1675 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 + /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */ +// +// 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 0000000..66d1afc --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_07_event.asl @@ -0,0 +1,1677 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 + /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */ +// +// 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 0000000..14bdcbd --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_08_method.asl @@ -0,0 +1,1677 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 + /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */ +// +// 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 0000000..7b63aa0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_09_mux.asl @@ -0,0 +1,1677 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 + /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */ +// +// 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 0000000..49cbda7 --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_10_oreg.asl @@ -0,0 +1,1667 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 + /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */ +// +// 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 0000000..cc10001 --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_11_pwr.asl @@ -0,0 +1,1677 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 + /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */ +// +// 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 0000000..4de1925 --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_12_proc.asl @@ -0,0 +1,1677 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 + /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */ +// +// 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 0000000..9045f40 --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_13_tzone.asl @@ -0,0 +1,1679 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 + /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */ +// +// 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 0000000..de263a8 --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_14_bfield.asl @@ -0,0 +1,288 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..23bb0f0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_operand2.asl @@ -0,0 +1,94 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..111d2e9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_ref/MAIN.asl @@ -0,0 +1,61 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..52de81c --- /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 0000000..95dc77a --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_ref/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..0874299 --- /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 0000000..1485a35 --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result1/MAIN.asl @@ -0,0 +1,58 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..beadae4 --- /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 0000000..3348ff2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result1/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..5ce88de --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result1/exc_result1.asl @@ -0,0 +1,42 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..e1fbe04 --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result2/MAIN.asl @@ -0,0 +1,59 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..ad07086 --- /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 0000000..cb86d15 --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result2/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..8420651 --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_result/exc_result2/exc_result2.asl @@ -0,0 +1,74 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..47c042f --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_tbl/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..fcbc113 --- /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 0000000..84876d1 --- /dev/null +++ b/tests/aslts/src/runtime/collections/exceptions/exc_tbl/RUN.asl @@ -0,0 +1,35 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..5684c12 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/FULL/DECL.asl @@ -0,0 +1,42 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..7a0b21f --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/FULL/MAIN.asl @@ -0,0 +1,65 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..672eccc --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/FULL/RUN.asl @@ -0,0 +1,42 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..52c90b1 --- /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 0000000..20b6632 --- /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 0000000..866ca6d --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/arithmetic/DECL.asl @@ -0,0 +1,30 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..ae0c78b --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/arithmetic/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..77902ce --- /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 0000000..b4635a2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/arithmetic/RUN.asl @@ -0,0 +1,66 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..b4d843e --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/arithmetic/arithmetic.asl @@ -0,0 +1,1510 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + Store(0, Local5) + Store(arg1, Local3) + + While(Local3) { + + // Operand + + Store(DeRefOf(Index(arg3, Local5)), Local0) + + // Expected result + + Store(DeRefOf(Index(arg4, Local5)), Local1) + + switch (ToInteger (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 0000000..a119d66 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/bfield/DECL.asl @@ -0,0 +1,30 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..424e5c0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/bfield/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..9f19be0 --- /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 0000000..6f08f9e --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/bfield/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..ab1237c --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/bfield/crbuffield.asl @@ -0,0 +1,1809 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 +// +// , +// , +// , +// , +// , +// , +// +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 +// +// , +// , +// +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 +// +// , +// , +// +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 +// +// , +// , +// +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 +// +// , +// , +// +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 +// +// , +// , +// , +// , +// +// +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) +} + +// , +// , +// , +// , +// +// +Method(m21b, 6, Serialized) +{ + Name(pr00, 0) + + Name(INT2, 0) + + // For loop 1 + Name(lpN1, 0) + Name(lpC1, 0) + + // For loop 2 + Name(lpN2, 0) + Name(lpC2, 0) + + // + 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 (ToInteger (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 (ToInteger (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: + // - , + // - , + // - , + // - , + // - 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 0000000..949ed4d --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/constant/DECL.asl @@ -0,0 +1,30 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..65b7b36 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/constant/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..ab4eb3d --- /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 0000000..ab92adf --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/constant/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..0d6d540 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/constant/constants.asl @@ -0,0 +1,69 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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, 5)){ + err(ts, z002, 6, 0, 0, \_REV, 5) + } +} 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 0000000..a7735e6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/control/DECL.asl @@ -0,0 +1,50 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..a03a065 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/DECL.asl @@ -0,0 +1,31 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..73bcedf --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..4953c60 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/RUN.asl @@ -0,0 +1,48 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..8cb8952 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/add.asl @@ -0,0 +1,779 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..db05081 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/standaloneret.asl @@ -0,0 +1,373 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..bb8d776 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/control/ImplicitReturn/store.asl @@ -0,0 +1,1343 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..0875d09 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/control/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..2fdb4b3 --- /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 0000000..bf9be79 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/control/RUN.asl @@ -0,0 +1,88 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..ccc52a1 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/control/Recursion/recursion.asl @@ -0,0 +1,2420 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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) + } + + /* + * Don't use Switch() here because we want this method to + * be reentrant. + */ + if (LEqual(arg0, 1)) { + Store(ix00, Index(p100, ind1)) + Increment(ind1) + } else { + if (LEqual(arg0, 2)) { + Store(ix00, Index(p200, ind2)) + Increment(ind2) + } else { + if (LEqual(arg0, 3)) { + Store(ix00, Index(p300, ind3)) + Increment(ind3) + } else { + if (LEqual(arg0, 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, \_SB.i0q8) + } else { + Store(0x44445555, \_SB.i0q8) + } + } + + 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, \_SB.i0q9) + } else { + Store(0x44445555, \_SB.i0q9) + } + } + + 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, \_SB.i1q8) + } else { + Store(0x44445555, \_SB.i1q8) + } + } + + 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, \_SB.i1q9) + } else { + Store(0x44445555, \_SB.i1q9) + } + } + + 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 0000000..b2ad8ab --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/control/Recursion/stack_overflow.asl @@ -0,0 +1,449 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..aec3cc4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/control/Return/DECL.asl @@ -0,0 +1,29 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..9d3fc3e --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/control/Return/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..87c0216 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/control/Return/RUN.asl @@ -0,0 +1,32 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..c5b5a4a --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/control/Return/return.asl @@ -0,0 +1,808 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..395a579 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/control/ctl0.asl @@ -0,0 +1,171 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..d948ff2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/control/ctl1.asl @@ -0,0 +1,2059 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..f3e0c2a --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/control/ctl2.asl @@ -0,0 +1,812 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..fdfe669 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/control/switch1.asl @@ -0,0 +1,627 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..de4a676 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/control/switch2.asl @@ -0,0 +1,1638 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..35d76e2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/control/switch3.asl @@ -0,0 +1,937 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..b9d0141 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/control/switch4.asl @@ -0,0 +1,1270 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..cf1274f --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/control/switch5.asl @@ -0,0 +1,1035 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..839684b --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/control/switch6.asl @@ -0,0 +1,743 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..2c38b5d --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/control/timing.asl @@ -0,0 +1,798 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..fb64254 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/control/while.asl @@ -0,0 +1,5800 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..dc9b411 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/copyobject/DECL.asl @@ -0,0 +1,30 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..cbd07ff --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/DECL.asl @@ -0,0 +1,73 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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") + +/* ACPI 5.0 Resource Descriptors */ + +Include("../../../../runtime/collections/functional/descriptor/fixeddma.asl") +Include("../../../../runtime/collections/functional/descriptor/gpioint.asl") +Include("../../../../runtime/collections/functional/descriptor/gpioio.asl") +Include("../../../../runtime/collections/functional/descriptor/i2cserialbus.asl") +Include("../../../../runtime/collections/functional/descriptor/spiserialbus.asl") +Include("../../../../runtime/collections/functional/descriptor/uartserialbus.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 0000000..42586ea --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..b027d4f --- /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 0000000..d3b8ba2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/RUN.asl @@ -0,0 +1,101 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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() + SRMT("RT20") + RT20() + SRMT("RT21") + RT21() + SRMT("RT22") + RT22() + SRMT("RT23") + RT23() + SRMT("RT24") + RT24() + SRMT("RT25") + RT25() + +} +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 0000000..f533645 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/concatenaterestemplate.asl @@ -0,0 +1,1005 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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() { + 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") + + // Emit test header, set the filename + + THDR (ts, "Concatenate two resource templates", __FILE__) + + // Calculate the checksum for the target first + +// 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, 1, "p443", p441, p442, p443) + + m332(ts, 1, "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 0000000..d7ea1d2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/dependentfn.asl @@ -0,0 +1,181 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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") + + // Emit test header, set the filename + + THDR (ts, "Start/End DependentFunction Resource Descriptor Macro", __FILE__) + + // Main test case for packages above + + 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 0000000..3de091e --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/dma.asl @@ -0,0 +1,201 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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") + + // Emit test header, set the filename + + THDR (ts, "DMA Resource Descriptor Macro", __FILE__) + + // Main test case for packages above + + 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 0000000..aa93238 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/dwordio.asl @@ -0,0 +1,535 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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") + + // Emit test header, set the filename + + THDR (ts, "DWordIo Resource Descriptor Macro", __FILE__) + + // Main test case for packages above + + m330(ts, 37, "p418", p418, p419) + + // Check resource descriptor tag offsets + + 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, 0x30, DIO1._GRA, 0x100, "_GRA") + m331(ts, 8, DIO0._MIN, 0x50, DIO1._MIN, 0x120, "_MIN") + m331(ts, 9, DIO0._MAX, 0x70, DIO1._MAX, 0x140, "_MAX") + m331(ts, 10, DIO0._TRA, 0x90, DIO1._TRA, 0x160, "_TRA") + m331(ts, 11, DIO0._LEN, 0xB0, DIO1._LEN, 0x180, "_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 0000000..897a207 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/dwordmemory.asl @@ -0,0 +1,1042 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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") + + // Emit test header, set the filename + + THDR (ts, "DWordMemory Resource Descriptor Macro", __FILE__) + + // Main test case for packages above + + m330(ts, 89, "p426", p426, p427) + + // Check resource descriptor tag offsets + + 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, 0x30, DME1._GRA, 0x100, "_GRA") + m331(ts, 8, DME0._MIN, 0x50, DME1._MIN, 0x120, "_MIN") + m331(ts, 9, DME0._MAX, 0x70, DME1._MAX, 0x140, "_MAX") + m331(ts, 10, DME0._TRA, 0x90, DME1._TRA, 0x160, "_TRA") + m331(ts, 11, DME0._LEN, 0xB0, DME1._LEN, 0x180, "_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 0000000..702fdc5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/dwordspace.asl @@ -0,0 +1,441 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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") + + // Emit test header, set the filename + + THDR (ts, "DWordSpace Resource Descriptor Macro", __FILE__) + + // Main test case for packages above + + m330(ts, 27, "p42e", p42e, p42f) + + // Check resource descriptor tag offsets + + 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, 0x30, DSP1._GRA, 0x100, "_GRA") + m331(ts, 8, DSP0._MIN, 0x50, DSP1._MIN, 0x120, "_MIN") + m331(ts, 9, DSP0._MAX, 0x70, DSP1._MAX, 0x140, "_MAX") + m331(ts, 10, DSP0._TRA, 0x90, DSP1._TRA, 0x160, "_TRA") + m331(ts, 11, DSP0._LEN, 0xB0, DSP1._LEN, 0x180, "_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 0000000..cf3758c --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/extendedio.asl @@ -0,0 +1,656 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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") + + // Emit test header, set the filename + + THDR (ts, "ExtendedIo Resource Descriptor Macro", __FILE__) + + // Main test case for packages above + + m330(ts, 34, "p422", p422, p423) + + // Check resource descriptor tag offsets + + 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, 0x40, EIO1._GRA, 0x200, "_GRA") + m331(ts, 8, EIO0._MIN, 0x80, EIO1._MIN, 0x240, "_MIN") + m331(ts, 9, EIO0._MAX, 0xC0, EIO1._MAX, 0x280, "_MAX") + m331(ts, 10, EIO0._TRA, 0x100, EIO1._TRA, 0x2C0, "_TRA") + m331(ts, 11, EIO0._LEN, 0x140, EIO1._LEN, 0x300, "_LEN") + m331(ts, 12, EIO0._ATT, 0x180, EIO1._ATT, 0x340, "_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 0000000..8898ca1 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/extendedmemory.asl @@ -0,0 +1,1334 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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") + + // Emit test header, set the filename + + THDR (ts, "ExtendedMemory Resource Descriptor Macro", __FILE__) + + // Main test case for packages above + + m330(ts, 86, "p42a", p42a, p42b) + + // Check resource descriptor tag offsets + + 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, 0x40, EME1._GRA, 0x200, "_GRA") + m331(ts, 8, EME0._MIN, 0x80, EME1._MIN, 0x240, "_MIN") + m331(ts, 9, EME0._MAX, 0xC0, EME1._MAX, 0x280, "_MAX") + m331(ts, 10, EME0._TRA, 0x100, EME1._TRA, 0x2C0, "_TRA") + m331(ts, 11, EME0._LEN, 0x140, EME1._LEN, 0x300, "_LEN") + m331(ts, 12, EME0._ATT, 0x180, EME1._ATT, 0x340, "_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 0000000..40219af --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/extendedspace.asl @@ -0,0 +1,485 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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") + + // Emit test header, set the filename + + THDR (ts, "ExtendedSpace Resource Descriptor Macro", __FILE__) + + // Main test case for packages above + + m330(ts, 24, "p432", p432, p433) + + // Check resource descriptor tag offsets + + 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, 0x40, ESP1._GRA, 0x200, "_GRA") + m331(ts, 5, ESP0._MIN, 0x80, ESP1._MIN, 0x240, "_MIN") + m331(ts, 6, ESP0._MAX, 0xC0, ESP1._MAX, 0x280, "_MAX") + m331(ts, 7, ESP0._TRA, 0x100, ESP1._TRA, 0x2C0, "_TRA") + m331(ts, 8, ESP0._LEN, 0x140, ESP1._LEN, 0x300, "_LEN") + m331(ts, 9, ESP0._ATT, 0x180, ESP1._ATT, 0x340, "_ATT") +} + + diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/fixeddma.asl b/tests/aslts/src/runtime/collections/functional/descriptor/fixeddma.asl new file mode 100644 index 0000000..630290e --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/fixeddma.asl @@ -0,0 +1,111 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 + * + * FixedDma Resource Descriptor Macro + */ + +Name (p450, Package() { + ResourceTemplate () { + FixedDma (0xf1f2, 0x1234, Width8Bit) + }, + ResourceTemplate () { + FixedDma (0xe1e2, 0x000F, Width16Bit) + }, + ResourceTemplate () { + FixedDma (0xd1d2, 0x00F0, Width32Bit) + }, + ResourceTemplate () { + FixedDma (0xc1c2, 0x0F00, Width64Bit) + }, + ResourceTemplate () { + FixedDma (0xb1b2, 0xF000, Width128Bit) + }, + ResourceTemplate () { + FixedDma (0xa1a2, 0xFFFF, Width256Bit) + }, + + // Default DMA width is Width32Bit + + ResourceTemplate () { + FixedDma (0x9192, 4567) + }, + + ResourceTemplate () { + FixedDma (0x8182, 4567, , TDMA) + }, +}) + + +Name (p451, Package() { + Buffer () {0x55, 0xF2, 0xF1, 0x34, 0x12, 0x00, 0x79, 0x00}, + Buffer () {0x55, 0xE2, 0xE1, 0x0F, 0x00, 0x01, 0x79, 0x00}, + Buffer () {0x55, 0xD2, 0xD1, 0xF0, 0x00, 0x02, 0x79, 0x00}, + Buffer () {0x55, 0xC2, 0xC1, 0x00, 0x0F, 0x03, 0x79, 0x00}, + Buffer () {0x55, 0xB2, 0xB1, 0x00, 0xF0, 0x04, 0x79, 0x00}, + Buffer () {0x55, 0xA2, 0xA1, 0xFF, 0xFF, 0x05, 0x79, 0x00}, + Buffer () {0x55, 0x92, 0x91, 0xD7, 0x11, 0x02, 0x79, 0x00}, + Buffer () {0x55, 0x82, 0x81, 0xD7, 0x11, 0x02, 0x79, 0x00}, +}) + +Method(RT20) +{ + Name(ts, "RT20") + + // Emit test header, set the filename + + THDR (ts, "FixedDMA Resource Descriptor Macro", __FILE__) + + // The main test packages must have the same number of entries + + If (LNotEqual (SizeOf (p450), SizeOf (p451))) + { + err (ts, 177, 0, 0, 0, 0, "Incorrect package length") + Return () + } + + // Main test case for packages above + + m330(ts, SizeOf (p450), "p450", p450, p451) + + // Check resource descriptor tag offsets + + Store ( + ResourceTemplate () { + FixedDma (0xe1e2, 0x000F, Width16Bit, DMA0) + FixedDma (0xd1d2, 0x00F0, Width32Bit, DMA1) + }, Local0) + + m331(ts, 1, DMA0._DMA, 0x08, DMA1._DMA, 0x38, "_DMA") + m331(ts, 2, DMA0._TYP, 0x18, DMA1._TYP, 0x48, "_TYP") + m331(ts, 3, DMA0._SIZ, 0x28, DMA1._SIZ, 0x58, "_SIZ") +} + + 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 0000000..e509008 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/fixedio.asl @@ -0,0 +1,85 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 (0x03f1, 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, 0x03, 0xf2, 0x79, 0x00}, + Buffer () {0x4b, 0x00, 0x00, 0x00, 0x79, 0x00}, +}) + +Method(RT06) +{ + Name(ts, "RT06") + + // Emit test header, set the filename + + THDR (ts, "FixedIO Resource Descriptor Macro", __FILE__) + + // Main test case for packages above + + m330(ts, 2, "p40a", p40a, p40b) + + // Check resource descriptor tag offsets + + Store ( + ResourceTemplate () { + FixedIO (0x0001, 0xff, FIO0) + FixedIO (0x0001, 0xff, FIO1) + }, Local0) + + m331(ts, 1, FIO0._BAS, 0x08, FIO1._BAS, 0x28, "_BAS") + m331(ts, 2, FIO0._LEN, 0x18, FIO1._LEN, 0x38, "_LEN") +} diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/gpioint.asl b/tests/aslts/src/runtime/collections/functional/descriptor/gpioint.asl new file mode 100644 index 0000000..53f4c0e --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/gpioint.asl @@ -0,0 +1,3816 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 + * + * GpioInt Resource Descriptor Macro + */ + +Device (GPII) {} + +Name (p452, Package() { + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, Exclusive, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, Exclusive, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, Exclusive, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, Shared, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, Shared, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, Shared, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, Shared, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, SharedAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, SharedAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, SharedAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, SharedAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, Exclusive, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, Exclusive, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, Exclusive, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, Exclusive, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, Shared, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, Shared, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, Shared, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, Shared, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, SharedAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, SharedAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, SharedAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, SharedAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, Exclusive, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, Exclusive, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, Exclusive, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, Shared, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, Shared, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, Shared, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, Shared, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, SharedAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, SharedAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, SharedAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, SharedAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, Exclusive, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, Exclusive, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, Exclusive, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, Exclusive, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, Shared, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, Shared, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, Shared, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, Shared, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, SharedAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, SharedAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, SharedAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, SharedAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, Exclusive, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, Exclusive, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, Exclusive, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, ExclusiveAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, ExclusiveAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, Shared, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, Shared, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, Shared, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, Shared, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, SharedAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, SharedAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, SharedAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, SharedAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, Exclusive, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, Exclusive, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, Exclusive, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, Exclusive, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, ExclusiveAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, ExclusiveAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, ExclusiveAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, ExclusiveAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, Shared, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, Shared, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, Shared, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, Shared, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, SharedAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, SharedAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, SharedAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, SharedAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + + + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, Exclusive, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, Exclusive, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, Exclusive, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, Shared, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, Shared, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, Shared, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, Shared, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, SharedAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, SharedAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, SharedAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, SharedAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, Exclusive, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, Exclusive, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, Exclusive, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, Exclusive, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, Shared, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, Shared, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, Shared, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, Shared, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, SharedAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, SharedAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, SharedAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, SharedAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, Exclusive, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, Exclusive, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, Exclusive, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, Shared, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, Shared, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, Shared, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, Shared, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, SharedAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, SharedAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, SharedAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, SharedAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, Exclusive, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, Exclusive, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, Exclusive, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, Exclusive, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, Shared, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, Shared, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, Shared, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, Shared, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, SharedAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, SharedAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, SharedAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, SharedAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, Exclusive, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, Exclusive, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, Exclusive, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, ExclusiveAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, ExclusiveAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, Shared, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, Shared, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, Shared, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, Shared, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, SharedAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, SharedAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, SharedAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, SharedAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, Exclusive, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, Exclusive, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, Exclusive, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, Exclusive, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, ExclusiveAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, ExclusiveAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, ExclusiveAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, ExclusiveAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, Shared, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, Shared, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, Shared, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, Shared, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, SharedAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, SharedAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, SharedAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, SharedAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, Exclusive, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, ,) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, ,) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, Exclusive, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, ,) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, Exclusive, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, ,) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, ,) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer,) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer,) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer,) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, Shared, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer,) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, Shared, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer,) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, Shared, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer,) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, Shared, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer,) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, SharedAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer,) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, SharedAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, SharedAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, SharedAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, Exclusive, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, Exclusive, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, Exclusive, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, Exclusive, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, Shared, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, Shared, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, Shared, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, Shared, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, SharedAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, SharedAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, SharedAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveLow, SharedAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, Exclusive, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, Exclusive, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, Exclusive, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, ,) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, ,) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, Shared, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, ,) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, Shared, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer,) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, Shared, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer,) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, Shared, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer,) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, SharedAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, SharedAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, SharedAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Edge, ActiveBoth, SharedAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, Exclusive, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, Exclusive, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, Exclusive, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, Exclusive, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, Shared, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, Shared, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, Shared, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, Shared, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, SharedAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, SharedAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, SharedAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveHigh, SharedAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, Exclusive, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, Exclusive, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, Exclusive, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, ExclusiveAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, ExclusiveAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, Shared, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, Shared, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, Shared, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, Shared, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, SharedAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, SharedAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, SharedAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveLow, SharedAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, Exclusive, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, Exclusive, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, Exclusive, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, Exclusive, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, ExclusiveAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, ExclusiveAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, ExclusiveAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, ExclusiveAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, Shared, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, Shared, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, Shared, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, Shared, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, SharedAndWake, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, SharedAndWake, PullDown, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, SharedAndWake, PullDefault, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + ResourceTemplate () { + GpioInt (Level, ActiveBoth, SharedAndWake, PullNone, 0x1234, + "\\GPII", 0xBB, ResourceProducer, , + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0xC1A3}}, + + // Minimal invocation + + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, , PullUp, , "\\GPII", , , ,) + {0xF1F2} + }, +}) + +Name (P453, Package () +{ + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x11, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x11, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x11, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x11, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x09, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x09, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x09, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x09, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x19, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x19, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x19, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x19, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x03, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x03, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x03, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x03, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x13, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x13, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x13, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x13, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0B, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0B, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0B, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0B, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x1B, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x1B, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x1B, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x1B, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x05, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x05, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x05, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x05, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x15, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x15, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x15, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x15, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0D, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0D, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0D, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0D, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x1D, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x1D, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x1D, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x1D, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x10, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x10, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x10, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x10, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x18, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x18, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x18, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x18, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x12, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x12, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x12, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x12, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0A, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0A, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0A, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0A, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x1A, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x1A, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x1A, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x1A, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x04, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x04, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x04, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x04, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x14, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x14, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x14, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x14, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0C, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0C, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0C, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0C, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x1C, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x1C, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x1C, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x1C, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x15, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x15, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x15, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x15, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1D, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1D, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1D, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1D, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1A, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1A, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1A, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1A, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1C, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1C, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1C, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1C, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x15, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x15, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x15, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x15, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1D, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1D, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1D, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1D, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1A, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1A, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1A, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1A, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1C, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1C, + /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1C, + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1C, + /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x34, 0x12, 0x17, 0x00, + /* 0010 */ 0xBB, 0x19, 0x00, 0x1F, 0x00, 0x04, 0x00, 0xA3, + /* 0018 */ 0xC1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x11, + /* 0020 */ 0x22, 0x33, 0x44, 0x79, 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, + /* 0010 */ 0x00, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xF2, + /* 0018 */ 0xF1, 0x5C, 0x47, 0x50, 0x49, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + } +}) + +Method(RT21) +{ + Name(ts, "RT21") + + // Emit test header, set the filename + + THDR (ts, "GpioInt Resource Descriptor Macro", __FILE__) + + // The main test packages must have the same number of entries + + If (LNotEqual (SizeOf (p452), SizeOf (p453))) + { + err (ts, 178, 0, 0, 0, 0, "Incorrect package length") + Return () + } + + // Main test case for packages above + + m330(ts, SizeOf (p452), "p452", p452, p453) + + // Check resource descriptor tag offsets + + Store ( + ResourceTemplate () { + GpioInt (Edge, ActiveHigh, Exclusive, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, GIN0, + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0x00A3} + GpioInt (Edge, ActiveHigh, Exclusive, PullUp, 0x1234, + "\\GPII", 0xBB, ResourceConsumer, GIN1, + RawDataBuffer () {0x11, 0x22, 0x33, 0x44}) + {0x00A3} + }, Local0) + + m331(ts, 1, GIN0._MOD, 0x38, GIN1._MOD, 0x150, "_MOD") + m331(ts, 2, GIN0._POL, 0x39, GIN1._POL, 0x151, "_POL") + m331(ts, 3, GIN0._SHR, 0x3b, GIN1._SHR, 0x153, "_SHR") + m331(ts, 4, GIN0._PPI, 0x48, GIN1._PPI, 0x160, "_PPI") + m331(ts, 5, GIN0._DBT, 0x60, GIN1._DBT, 0x178, "_DBT") + m331(ts, 6, GIN0._PIN, 0xB8, GIN1._PIN, 0x1d0, "_PIN") + m331(ts, 7, GIN0._VEN, 0xF8, GIN1._VEN, 0x210, "_VEN") +} + + diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/gpioio.asl b/tests/aslts/src/runtime/collections/functional/descriptor/gpioio.asl new file mode 100644 index 0000000..abdc261 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/gpioio.asl @@ -0,0 +1,2841 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 + * + * GpioIO Resource Descriptor Macro + */ + +Device (GPIO) {} + +Name (p454, Package() { + ResourceTemplate () { + GpioIo (Exclusive, PullUp, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullUp, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullUp, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullDown, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullDown, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullDown, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullNone, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullNone, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullNone, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullDefault, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullDefault, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullDefault, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullUp, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullUp, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullUp, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullDown, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullDown, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullDown, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullNone, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullNone, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullNone, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullDefault, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullDefault, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullDefault, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullUp, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullUp, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullUp, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullDown, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullDown, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullDown, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullNone, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullNone, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullNone, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullDefault, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullDefault, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullDefault, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullUp, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullUp, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullUp, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullDown, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullDown, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullDown, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullNone, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullNone, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullNone, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullDefault, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullDefault, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullDefault, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + + + ResourceTemplate () { + GpioIo (Exclusive, PullUp, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullUp, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullUp, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullDown, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullDown, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullDown, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullNone, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullNone, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullNone, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullDefault, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullDefault, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullDefault, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullUp, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullUp, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullUp, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullDown, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullDown, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullDown, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullNone, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullNone, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullNone, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullDefault, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullDefault, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullDefault, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullUp, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullUp, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullUp, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullDown, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullDown, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullDown, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullNone, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullNone, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullNone, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullDefault, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullDefault, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullDefault, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullUp, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullUp, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullUp, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullDown, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullDown, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullDown, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullNone, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullNone, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullNone, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullDefault, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullDefault, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullDefault, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + + + ResourceTemplate () { + GpioIo (Exclusive, PullUp, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer, ,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullUp, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer, ,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullUp, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer, ,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullDown, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer, ,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullDown, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer, ,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullDown, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullNone, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullNone, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullNone, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullDefault, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullDefault, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullDefault, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullUp, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullUp, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullUp, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullDown, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullDown, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullDown, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullNone, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullNone, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullNone, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullDefault, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullDefault, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullDefault, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullUp, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullUp, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullUp, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullDown, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullDown, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullDown, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullNone, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullNone, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullNone, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullDefault, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullDefault, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullDefault, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullUp, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullUp, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullUp, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullDown, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullDown, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullDown, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullNone, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer, ,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullNone, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer, ,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullNone, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer, ,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullDefault, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceConsumer, ,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullDefault, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceConsumer, ,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullDefault, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer, ,) + {0x11E1, 0x22E2, 0x33E3} + }, + + + ResourceTemplate () { + GpioIo (Exclusive, PullUp, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullUp, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullUp, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullDown, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullDown, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullDown, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullNone, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullNone, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullNone, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullDefault, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullDefault, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Exclusive, PullDefault, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullUp, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullUp, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullUp, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullDown, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullDown, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullDown, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullNone, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullNone, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullNone, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullDefault, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullDefault, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (Shared, PullDefault, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullUp, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullUp, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullUp, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullDown, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullDown, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullDown, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullNone, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullNone, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullNone, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullDefault, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullDefault, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (ExclusiveAndWake, PullDefault, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullUp, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullUp, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullUp, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullDown, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullDown, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullDown, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullNone, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullNone, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullNone, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullDefault, 0x0DEB, 0xABCD, IoRestrictionNone, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullDefault, 0x0DEB, 0xABCD, IoRestrictionInputOnly, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullDefault, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceProducer,) + {0x11E1, 0x22E2, 0x33E3} + }, + + // Late addition: IoRestrictionNoneAndPreserve keyword + + ResourceTemplate () { + GpioIo (Exclusive, PullUp, 0x0DEB, 0xABCD, IoRestrictionNoneAndPreserve, + "\\GPIO", 0xEE, ResourceConsumer, , + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, + ResourceTemplate () { + GpioIo (SharedAndWake, PullDefault, 0x0DEB, 0xABCD, IoRestrictionNoneAndPreserve, + "\\GPIO", 0xEE) + {0x11E1, 0x22E2} + }, + ResourceTemplate () { + GpioIo (Shared, PullUp, 0x0DEB, 0xABCD, IoRestrictionNoneAndPreserve, + "\\GPIO", 0xEE, ResourceConsumer) + {0x11E1} + }, + + // Minimal invocation + ResourceTemplate () { + GpioIo (, PullUp, , , , "\\GPIO", , ,) + {0x11E1, 0x22E2, 0x33E3} + } +}) + +Name (p455, Package() { + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x02, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x02, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x02, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x02, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x08, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x09, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x0A, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x08, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x09, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x0A, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x08, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x09, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x0A, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x08, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x09, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x0A, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x10, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x11, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x12, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x10, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x11, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x12, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x10, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x11, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x12, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x10, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x11, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x12, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x18, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x19, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x1A, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x18, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x19, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x1A, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x18, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x19, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x1A, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x18, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x19, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x1A, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x02, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x02, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x02, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x02, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x08, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x09, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0A, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x08, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x09, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0A, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x08, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x09, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0A, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x08, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x09, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0A, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x10, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x11, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x12, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x10, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x11, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x12, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x10, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x11, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x12, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x10, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x11, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x12, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x18, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x19, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x1A, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x18, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x19, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x1A, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x18, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x19, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x1A, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x18, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x19, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x1A, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x02, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x02, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x02, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x02, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x08, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x09, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x0A, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x08, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x09, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x0A, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x08, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x09, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x0A, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x08, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x09, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x0A, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x10, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x11, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x12, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x10, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x11, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x12, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x10, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x11, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x12, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x10, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x11, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x12, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x18, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x19, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x1A, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x18, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x19, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x1A, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x18, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x19, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x1A, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x18, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x19, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x1A, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x02, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x02, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x02, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x02, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x08, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x09, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0A, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x08, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x09, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0A, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x08, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x09, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0A, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x08, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x09, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0A, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x10, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x11, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x12, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x10, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x11, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x12, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x10, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x11, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x12, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x10, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x11, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x12, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x18, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x19, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x1A, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x18, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x19, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x1A, + /* 0008 */ 0x00, 0x02, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x18, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x19, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x1A, + /* 0008 */ 0x00, 0x03, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x18, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x19, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x00, 0x00, 0x1A, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + }, + Buffer (0x29) + { + /* 0000 */ 0x8C, 0x24, 0x00, 0x01, 0x01, 0x01, 0x00, 0x03, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1D, 0x00, 0x23, 0x00, 0x04, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0xC1, 0xC2, 0xC3, 0xC4, 0x79, + /* 0028 */ 0x00 + }, + Buffer (0x23) + { + /* 0000 */ 0x8C, 0x1E, 0x00, 0x01, 0x01, 0x01, 0x00, 0x1B, + /* 0008 */ 0x00, 0x00, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x1B, 0x00, 0x21, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0x5C, 0x47, 0x50, 0x49, 0x4F, + /* 0020 */ 0x00, 0x79, 0x00 + }, + + Buffer (0x21) + { + /* 0000 */ 0x8C, 0x1C, 0x00, 0x01, 0x01, 0x01, 0x00, 0x0B, + /* 0008 */ 0x00, 0x01, 0xCD, 0xAB, 0xEB, 0x0D, 0x17, 0x00, + /* 0010 */ 0xEE, 0x19, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0x5C, 0x47, 0x50, 0x49, 0x4F, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, + /* 0008 */ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, + /* 0010 */ 0x00, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE1, + /* 0018 */ 0x11, 0xE2, 0x22, 0xE3, 0x33, 0x5C, 0x47, 0x50, + /* 0020 */ 0x49, 0x4F, 0x00, 0x79, 0x00 + } +}) + +Method(RT22) +{ + Name(ts, "RT22") + + // Emit test header, set the filename + + THDR (ts, "GpioIO Resource Descriptor Macro", __FILE__) + + // The main test packages must have the same number of entries + + If (LNotEqual (SizeOf (p454), SizeOf (p455))) + { + err (ts, 179, 0, 0, 0, 0, "Incorrect package length") + Return () + } + + // Main test case for packages above + + m330(ts, SizeOf (p454), "p454", p454, p455) + + // Check resource descriptor tag offsets + + Store ( + ResourceTemplate () { + GpioIo (Exclusive, PullUp, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer, GIO0, + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + GpioIo (Exclusive, PullUp, 0x0DEB, 0xABCD, IoRestrictionOutputOnly, + "\\GPIO", 0xEE, ResourceConsumer, GIO1, + RawDataBuffer (0x04) {0xC1, 0xC2, 0xC3, 0xC4}) + {0x11E1, 0x22E2, 0x33E3} + }, Local0) + + m331(ts, 1, GIO0._SHR, 0x3b, GIO1._SHR, 0x173, "_SHR") + m331(ts, 2, GIO0._PPI, 0x48, GIO1._PPI, 0x180, "_PPI") + m331(ts, 3, GIO0._DBT, 0x60, GIO1._DBT, 0x198, "_DBT") + m331(ts, 4, GIO0._DRS, 0x50, GIO1._DRS, 0x188, "_DRS") + m331(ts, 5, GIO0._IOR, 0x38, GIO1._IOR, 0x170, "_IOR") + m331(ts, 6, GIO0._PIN, 0xB8, GIO1._PIN, 0x1f0, "_PIN") + m331(ts, 7, GIO0._VEN, 0x118, GIO1._VEN, 0x250, "_VEN") +} + + diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/i2cserialbus.asl b/tests/aslts/src/runtime/collections/functional/descriptor/i2cserialbus.asl new file mode 100644 index 0000000..5c2d452 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/i2cserialbus.asl @@ -0,0 +1,420 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 + * + * I2cSerialBus Resource Descriptor Macro + */ +Device (I2C) {} + +Name (p456, Package() { + ResourceTemplate () { + I2cSerialBus (0x1234, DeviceInitiated, 0x88775544, + AddressingMode7Bit, "\\I2C", + 0xEE, ResourceConsumer, , + RawDataBuffer (4) {0xB1, 0xB2, 0xB3, 0xB4}) + }, + ResourceTemplate () { + I2cSerialBus (0x1234, DeviceInitiated, 0x88775544, + AddressingMode10Bit, "\\I2C", + 0xEE, ResourceConsumer, , + RawDataBuffer (4) {0xB1, 0xB2, 0xB3, 0xB4}) + }, + ResourceTemplate () { + I2cSerialBus (0x1234, ControllerInitiated, 0x88775544, + AddressingMode7Bit, "\\I2C", + 0xEE, ResourceConsumer, , + RawDataBuffer (4) {0xB1, 0xB2, 0xB3, 0xB4}) + }, + ResourceTemplate () { + I2cSerialBus (0x1234, ControllerInitiated, 0x88775544, + AddressingMode10Bit, "\\I2C", + 0xEE, ResourceConsumer, , + RawDataBuffer (4) {0xB1, 0xB2, 0xB3, 0xB4}) + }, + ResourceTemplate () { + I2cSerialBus (0x1234, DeviceInitiated, 0x88775544, + AddressingMode7Bit, "\\I2C", + 0xEE, ResourceProducer, , + RawDataBuffer (4) {0xB1, 0xB2, 0xB3, 0xB4}) + }, + ResourceTemplate () { + I2cSerialBus (0x1234, DeviceInitiated, 0x88775544, + AddressingMode10Bit, "\\I2C", + 0xEE, ResourceProducer, , + RawDataBuffer (4) {0xB1, 0xB2, 0xB3, 0xB4}) + }, + ResourceTemplate () { + I2cSerialBus (0x1234, ControllerInitiated, 0x88775544, + AddressingMode7Bit, "\\I2C", + 0xEE, ResourceProducer, , + RawDataBuffer (4) {0xB1, 0xB2, 0xB3, 0xB4}) + }, + ResourceTemplate () { + I2cSerialBus (0x1234, ControllerInitiated, 0x88775544, + AddressingMode10Bit, "\\I2C", + 0xEE, ResourceProducer, , + RawDataBuffer (4) {0xB1, 0xB2, 0xB3, 0xB4}) + }, + ResourceTemplate () { + I2cSerialBus (0x1234, DeviceInitiated, 0x88775544, + AddressingMode7Bit, "\\I2C", + 0xEE, ResourceConsumer, ,) + }, + ResourceTemplate () { + I2cSerialBus (0x1234, DeviceInitiated, 0x88775544, + AddressingMode10Bit, "\\I2C", + 0xEE, ResourceConsumer,) + }, + ResourceTemplate () { + I2cSerialBus (0x1234, ControllerInitiated, 0x88775544, + AddressingMode7Bit, "\\I2C", + 0xEE, ResourceConsumer) + }, + ResourceTemplate () { + I2cSerialBus (0x1234, ControllerInitiated, 0x88775544, + AddressingMode10Bit, "\\I2C", + 0xEE, ResourceConsumer) + }, + ResourceTemplate () { + I2cSerialBus (0x1234, DeviceInitiated, 0x88775544, + AddressingMode7Bit, "\\I2C", + 0xEE, ResourceProducer, ,) + }, + ResourceTemplate () { + I2cSerialBus (0x1234, DeviceInitiated, 0x88775544, + AddressingMode10Bit, "\\I2C", + 0xEE, ResourceProducer,) + }, + ResourceTemplate () { + I2cSerialBus (0x1234, ControllerInitiated, 0x88775544, + AddressingMode7Bit, "\\I2C", + 0xEE, ResourceProducer) + }, + ResourceTemplate () { + I2cSerialBus (0x1234, ControllerInitiated, 0x88775544, + AddressingMode10Bit, "\\I2C", + 0xEE, ResourceProducer, ,) + }, + + + // Minimal invocation + ResourceTemplate () { + I2cSerialBus (0x1234, , 0x88775544, , "\\I2C", , , ,) + }, + + ResourceTemplate () { + I2cSerialBus (0x1234, ControllerInitiated, 0x88775544, + AddressingMode10Bit, "\\I2C", + 0xEE, ResourceProducer, , + RawDataBuffer () { + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + }) + }, + +}) + + +Name (p457, Package() { + Buffer (0x1D) + { + /* 0000 */ 0x8E, 0x18, 0x00, 0x01, 0xEE, 0x01, 0x03, 0x00, + /* 0008 */ 0x00, 0x01, 0x0A, 0x00, 0x44, 0x55, 0x77, 0x88, + /* 0010 */ 0x34, 0x12, 0xB1, 0xB2, 0xB3, 0xB4, 0x5C, 0x49, + /* 0018 */ 0x32, 0x43, 0x00, 0x79, 0x00 + }, + + Buffer (0x1D) + { + /* 0000 */ 0x8E, 0x18, 0x00, 0x01, 0xEE, 0x01, 0x03, 0x01, + /* 0008 */ 0x00, 0x01, 0x0A, 0x00, 0x44, 0x55, 0x77, 0x88, + /* 0010 */ 0x34, 0x12, 0xB1, 0xB2, 0xB3, 0xB4, 0x5C, 0x49, + /* 0018 */ 0x32, 0x43, 0x00, 0x79, 0x00 + }, + + Buffer (0x1D) + { + /* 0000 */ 0x8E, 0x18, 0x00, 0x01, 0xEE, 0x01, 0x02, 0x00, + /* 0008 */ 0x00, 0x01, 0x0A, 0x00, 0x44, 0x55, 0x77, 0x88, + /* 0010 */ 0x34, 0x12, 0xB1, 0xB2, 0xB3, 0xB4, 0x5C, 0x49, + /* 0018 */ 0x32, 0x43, 0x00, 0x79, 0x00 + }, + + Buffer (0x1D) + { + /* 0000 */ 0x8E, 0x18, 0x00, 0x01, 0xEE, 0x01, 0x02, 0x01, + /* 0008 */ 0x00, 0x01, 0x0A, 0x00, 0x44, 0x55, 0x77, 0x88, + /* 0010 */ 0x34, 0x12, 0xB1, 0xB2, 0xB3, 0xB4, 0x5C, 0x49, + /* 0018 */ 0x32, 0x43, 0x00, 0x79, 0x00 + }, + + Buffer (0x1D) + { + /* 0000 */ 0x8E, 0x18, 0x00, 0x01, 0xEE, 0x01, 0x01, 0x00, + /* 0008 */ 0x00, 0x01, 0x0A, 0x00, 0x44, 0x55, 0x77, 0x88, + /* 0010 */ 0x34, 0x12, 0xB1, 0xB2, 0xB3, 0xB4, 0x5C, 0x49, + /* 0018 */ 0x32, 0x43, 0x00, 0x79, 0x00 + }, + + Buffer (0x1D) + { + /* 0000 */ 0x8E, 0x18, 0x00, 0x01, 0xEE, 0x01, 0x01, 0x01, + /* 0008 */ 0x00, 0x01, 0x0A, 0x00, 0x44, 0x55, 0x77, 0x88, + /* 0010 */ 0x34, 0x12, 0xB1, 0xB2, 0xB3, 0xB4, 0x5C, 0x49, + /* 0018 */ 0x32, 0x43, 0x00, 0x79, 0x00 + }, + + Buffer (0x1D) + { + /* 0000 */ 0x8E, 0x18, 0x00, 0x01, 0xEE, 0x01, 0x00, 0x00, + /* 0008 */ 0x00, 0x01, 0x0A, 0x00, 0x44, 0x55, 0x77, 0x88, + /* 0010 */ 0x34, 0x12, 0xB1, 0xB2, 0xB3, 0xB4, 0x5C, 0x49, + /* 0018 */ 0x32, 0x43, 0x00, 0x79, 0x00 + }, + + Buffer (0x1D) + { + /* 0000 */ 0x8E, 0x18, 0x00, 0x01, 0xEE, 0x01, 0x00, 0x01, + /* 0008 */ 0x00, 0x01, 0x0A, 0x00, 0x44, 0x55, 0x77, 0x88, + /* 0010 */ 0x34, 0x12, 0xB1, 0xB2, 0xB3, 0xB4, 0x5C, 0x49, + /* 0018 */ 0x32, 0x43, 0x00, 0x79, 0x00 + }, + + Buffer (0x19) + { + /* 0000 */ 0x8E, 0x14, 0x00, 0x01, 0xEE, 0x01, 0x03, 0x00, + /* 0008 */ 0x00, 0x01, 0x06, 0x00, 0x44, 0x55, 0x77, 0x88, + /* 0010 */ 0x34, 0x12, 0x5C, 0x49, 0x32, 0x43, 0x00, 0x79, + /* 0018 */ 0x00 + }, + + Buffer (0x19) + { + /* 0000 */ 0x8E, 0x14, 0x00, 0x01, 0xEE, 0x01, 0x03, 0x01, + /* 0008 */ 0x00, 0x01, 0x06, 0x00, 0x44, 0x55, 0x77, 0x88, + /* 0010 */ 0x34, 0x12, 0x5C, 0x49, 0x32, 0x43, 0x00, 0x79, + /* 0018 */ 0x00 + }, + + Buffer (0x19) + { + /* 0000 */ 0x8E, 0x14, 0x00, 0x01, 0xEE, 0x01, 0x02, 0x00, + /* 0008 */ 0x00, 0x01, 0x06, 0x00, 0x44, 0x55, 0x77, 0x88, + /* 0010 */ 0x34, 0x12, 0x5C, 0x49, 0x32, 0x43, 0x00, 0x79, + /* 0018 */ 0x00 + }, + + Buffer (0x19) + { + /* 0000 */ 0x8E, 0x14, 0x00, 0x01, 0xEE, 0x01, 0x02, 0x01, + /* 0008 */ 0x00, 0x01, 0x06, 0x00, 0x44, 0x55, 0x77, 0x88, + /* 0010 */ 0x34, 0x12, 0x5C, 0x49, 0x32, 0x43, 0x00, 0x79, + /* 0018 */ 0x00 + }, + + Buffer (0x19) + { + /* 0000 */ 0x8E, 0x14, 0x00, 0x01, 0xEE, 0x01, 0x01, 0x00, + /* 0008 */ 0x00, 0x01, 0x06, 0x00, 0x44, 0x55, 0x77, 0x88, + /* 0010 */ 0x34, 0x12, 0x5C, 0x49, 0x32, 0x43, 0x00, 0x79, + /* 0018 */ 0x00 + }, + + Buffer (0x19) + { + /* 0000 */ 0x8E, 0x14, 0x00, 0x01, 0xEE, 0x01, 0x01, 0x01, + /* 0008 */ 0x00, 0x01, 0x06, 0x00, 0x44, 0x55, 0x77, 0x88, + /* 0010 */ 0x34, 0x12, 0x5C, 0x49, 0x32, 0x43, 0x00, 0x79, + /* 0018 */ 0x00 + }, + + Buffer (0x19) + { + /* 0000 */ 0x8E, 0x14, 0x00, 0x01, 0xEE, 0x01, 0x00, 0x00, + /* 0008 */ 0x00, 0x01, 0x06, 0x00, 0x44, 0x55, 0x77, 0x88, + /* 0010 */ 0x34, 0x12, 0x5C, 0x49, 0x32, 0x43, 0x00, 0x79, + /* 0018 */ 0x00 + }, + + Buffer (0x19) + { + /* 0000 */ 0x8E, 0x14, 0x00, 0x01, 0xEE, 0x01, 0x00, 0x01, + /* 0008 */ 0x00, 0x01, 0x06, 0x00, 0x44, 0x55, 0x77, 0x88, + /* 0010 */ 0x34, 0x12, 0x5C, 0x49, 0x32, 0x43, 0x00, 0x79, + /* 0018 */ 0x00 + }, + + Buffer (0x19) + { + /* 0000 */ 0x8E, 0x14, 0x00, 0x01, 0x00, 0x01, 0x02, 0x00, + /* 0008 */ 0x00, 0x01, 0x06, 0x00, 0x44, 0x55, 0x77, 0x88, + /* 0010 */ 0x34, 0x12, 0x5C, 0x49, 0x32, 0x43, 0x00, 0x79, + /* 0018 */ 0x00 + }, + + Buffer (0x0181) + { + /* 0000 */ 0x8E, 0x7C, 0x01, 0x01, 0xEE, 0x01, 0x00, 0x01, + /* 0008 */ 0x00, 0x01, 0x6E, 0x01, 0x44, 0x55, 0x77, 0x88, + /* 0010 */ 0x34, 0x12, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0018 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0020 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0028 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0030 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0038 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0040 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0048 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0050 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0058 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0060 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0068 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0070 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0078 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0080 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0088 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0090 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0098 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 00A0 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 00A8 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 00B0 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 00B8 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 00C0 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 00C8 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 00D0 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 00D8 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 00E0 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 00E8 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 00F0 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 00F8 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0100 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0108 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0110 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0118 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0120 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0128 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0130 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0138 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0140 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0148 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0150 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0158 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0160 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0168 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0170 */ 0xB7, 0xB8, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, + /* 0178 */ 0xB7, 0xB8, 0x5C, 0x49, 0x32, 0x43, 0x00, 0x79, + /* 0180 */ 0x00 + } +}) + +Method(RT23) +{ + Name(ts, "RT23") + + // Emit test header, set the filename + + THDR (ts, "I2cSerialBus Resource Descriptor Macro", __FILE__) + + // The main test packages must have the same number of entries + + If (LNotEqual (SizeOf (p456), SizeOf (p457))) + { + err (ts, 180, 0, 0, 0, 0, "Incorrect package length") + Return () + } + + // Main test case for packages above + + m330(ts, SizeOf (p456), "p456", p456, p457) + + // Check resource descriptor tag offsets + + Store ( + ResourceTemplate () { + I2cSerialBus (0x1234, DeviceInitiated, 0x88775544, + AddressingMode10Bit, "\\I2C", + 0xEE, ResourceConsumer, I2C0, + RawDataBuffer (4) {0xB1, 0xB2, 0xB3, 0xB4}) + I2cSerialBus (0x1234, DeviceInitiated, 0x88775544, + AddressingMode10Bit, "\\I2C", + 0xEE, ResourceConsumer, I2C1, + RawDataBuffer (4) {0xB1, 0xB2, 0xB3, 0xB4}) + }, Local0) + + m331(ts, 1, I2C0._SLV, 0x30, I2C1._SLV, 0x108, "_SLV") + m331(ts, 2, I2C0._MOD, 0x38, I2C1._MOD, 0x110, "_MOD") + m331(ts, 3, I2C0._SPE, 0x60, I2C1._SPE, 0x138, "_SPE") + m331(ts, 4, I2C0._ADR, 0x80, I2C1._ADR, 0x158, "_ADR") + m331(ts, 5, I2C0._VEN, 0x90, I2C1._VEN, 0x168, "_VEN") +} + + 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 0000000..28327b6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/interrupt.asl @@ -0,0 +1,575 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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} + }, + + 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}, + + // 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") + + // Emit test header, set the filename + + THDR (ts, "Interrupt Resource Descriptor Macro", __FILE__) + + // Main test case for packages above + + m330(ts, 23, "p434", p434, p435) + + // Check resource descriptor tag offsets + + 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, 0x28, INT1._INT, 0x70, "_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 0000000..6b6e503 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/io.asl @@ -0,0 +1,104 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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") + + // Emit test header, set the filename + + THDR (ts, "IO Resource Descriptor Macro", __FILE__) + + // Main test case for packages above + + m330(ts, 3, "p408", p408, p409) + + // Check resource descriptor tag offsets + + 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, 0x10, IO1._MIN, 0x50, "_MIN") + m331(ts, 3, IO0._MAX, 0x20, IO1._MAX, 0x60, "_MAX") + m331(ts, 4, IO0._ALN, 0x30, IO1._ALN, 0x70, "_ALN") + m331(ts, 5, IO0._LEN, 0x38, IO1._LEN, 0x78, "_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 0000000..8f2d4a4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/irq.asl @@ -0,0 +1,157 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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") + + // Emit test header, set the filename + + THDR (ts, "IRQ Resource Descriptor Macro", __FILE__) + + // Main test case for packages above + + 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 0000000..100ab38 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/irqnoflags.asl @@ -0,0 +1,137 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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") + + // Emit test header, set the filename + + THDR (ts, "IRQNoFlags Resource Descriptor Macro", __FILE__) + + // Main test case for packages above + + 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 0000000..e7f50d1 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/memory24.asl @@ -0,0 +1,118 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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") + + // Emit test header, set the filename + + THDR (ts, "Memory24 Resource Descriptor Macro", __FILE__) + + // Main test case for packages above + + m330(ts, 3, "p40e", p40e, p40f) + + // Check resource descriptor tag offsets + + 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, 0x20, M241._MIN, 0x80, "_MIN") + m331(ts, 3, M240._MAX, 0x30, M241._MAX, 0x90, "_MAX") + m331(ts, 4, M240._ALN, 0x40, M241._ALN, 0xA0, "_ALN") + m331(ts, 5, M240._LEN, 0x50, M241._LEN, 0xB0, "_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 0000000..85ff899 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/memory32.asl @@ -0,0 +1,116 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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") + + // Emit test header, set the filename + + THDR (ts, "Memory32 Resource Descriptor Macro", __FILE__) + + // Main test case for packages above + + m330(ts, 3, "p412", p412, p413) + + // Check resource descriptor tag offsets + + 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, 0x20, M321._MIN, 0xC0, "_MIN") + m331(ts, 3, M320._MAX, 0x40, M321._MAX, 0xE0, "_MAX") + m331(ts, 4, M320._ALN, 0x60, M321._ALN, 0x0100, "_ALN") + m331(ts, 5, M320._LEN, 0x80, M321._LEN, 0x0120, "_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 0000000..f5038e4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/memory32fixed.asl @@ -0,0 +1,103 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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") + + // Emit test header, set the filename + + THDR (ts, "Memory32Fixed Resource Descriptor Macro", __FILE__) + + // Main test case for packages above + + m330(ts, 3, "p414", p414, p415) + + // Check resource descriptor tag offsets + + 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, 0x20, M3F1._BAS, 0x80, "_BAS") + m331(ts, 3, M3F0._LEN, 0x40, M3F1._LEN, 0xA0, "_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 0000000..92545f9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/qwordio.asl @@ -0,0 +1,704 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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") + + // Emit test header, set the filename + + THDR (ts, "QWordIO Resource Descriptor Macro", __FILE__) + + // Main test case for packages above + + m330(ts, 37, "p416", p416, p417) + + // Check resource descriptor tag offsets + + 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, 0x0191, "_DEC") + m331(ts, 2, QIO0._MIF, 0x22, QIO1._MIF, 0x0192, "_MIF") + m331(ts, 3, QIO0._MAF, 0x23, QIO1._MAF, 0x0193, "_MAF") + m331(ts, 4, QIO0._RNG, 0x28, QIO1._RNG, 0x0198, "_RNG") + m331(ts, 5, QIO0._TTP, 0x2c, QIO1._TTP, 0x019c, "_TTP") + m331(ts, 6, QIO0._TRS, 0x2d, QIO1._TRS, 0x019d, "_TRS") + m331(ts, 7, QIO0._GRA, 0x30, QIO1._GRA, 0x01A0, "_GRA") + m331(ts, 8, QIO0._MIN, 0x70, QIO1._MIN, 0x01E0, "_MIN") + m331(ts, 9, QIO0._MAX, 0xB0, QIO1._MAX, 0x0220, "_MAX") + m331(ts, 10, QIO0._TRA, 0xF0, QIO1._TRA, 0x0260, "_TRA") + m331(ts, 11, QIO0._LEN, 0x0130, QIO1._LEN, 0x02A0, "_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 0000000..2d47d6f --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/qwordmemory.asl @@ -0,0 +1,1331 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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") + + // Emit test header, set the filename + + THDR (ts, "QWordMemory Resource Descriptor Macro", __FILE__) + + // Main test case for packages above + + m330(ts, 89, "p424", p424, p425) + + // Check resource descriptor tag offsets + + 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, 0x30, QME1._GRA, 0x1A0, "_GRA") + m331(ts, 8, QME0._MIN, 0x70, QME1._MIN, 0x1E0, "_MIN") + m331(ts, 9, QME0._MAX, 0xB0, QME1._MAX, 0x220, "_MAX") + m331(ts, 10, QME0._TRA, 0xF0, QME1._TRA, 0x260, "_TRA") + m331(ts, 11, QME0._LEN, 0x130, QME1._LEN, 0x2A0, "_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 0000000..5b95e25 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/qwordspace.asl @@ -0,0 +1,545 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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") + + // Emit test header, set the filename + + THDR (ts, "QWordSpace Resource Descriptor Macro", __FILE__) + + // Main test case for packages above + + m330(ts, 27, "p42c", p42c, p42d) + + // Check resource descriptor tag offsets + + 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, 0x30, QSP1._GRA, 0x1A0, "_GRA") + m331(ts, 8, QSP0._MIN, 0x70, QSP1._MIN, 0x1E0, "_MIN") + m331(ts, 9, QSP0._MAX, 0xB0, QSP1._MAX, 0x220, "_MAX") + m331(ts, 10, QSP0._TRA, 0xF0, QSP1._TRA, 0x260, "_TRA") + m331(ts, 11, QSP0._LEN, 0x130, QSP1._LEN, 0x2A0, "_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 0000000..f52bfdb --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/register.asl @@ -0,0 +1,220 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 (SystemCMOS, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9) + }, + ResourceTemplate () { + Register (PciBarTarget, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9) + }, + ResourceTemplate () { + Register (IPMI, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9) + }, + ResourceTemplate () { + Register (GeneralPurposeIo, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9) + }, + ResourceTemplate () { + Register (GenericSerialBus, 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() { + + // Byte 3 (Address Space ID) 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, 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, 0x05, 0xf0, 0xf1, 0x00, + 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0x79, 0x00}, + Buffer () {0x82, 0x0c, 0x00, 0x06, 0xf0, 0xf1, 0x00, + 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0x79, 0x00}, + Buffer () {0x82, 0x0c, 0x00, 0x07, 0xf0, 0xf1, 0x00, + 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0x79, 0x00}, + Buffer () {0x82, 0x0c, 0x00, 0x08, 0xf0, 0xf1, 0x00, + 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0x79, 0x00}, + Buffer () {0x82, 0x0c, 0x00, 0x09, 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") + + // Emit test header, set the filename + + THDR (ts, "Register Resource Descriptor Macro", __FILE__) + + // The main test packages must have the same number of entries + + If (LNotEqual (SizeOf (p436), SizeOf (p437))) + { + err (ts, 179, 0, 0, 0, 0, "Incorrect package length") + Return () + } + + // Main test case for packages above + + m330(ts, SizeOf (p436), "p436", p436, p437) + + /* Register macro DescriptorName is recently implemented */ + + // Check resource descriptor tag offsets + + Store ( + ResourceTemplate () { + Register (SystemMemory, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9, 0, REG0) + Register (SystemMemory, 0xf0, 0xf1, 0xf2f3f4f5f6f7f8f9, 0, REG1) + }, Local0) + + m331(ts, 1, REG0._ASI, 0x18, REG1._ASI, 0x90, "_ASI") + m331(ts, 2, REG0._RBW, 0x20, REG1._RBW, 0x98, "_RBW") + m331(ts, 3, REG0._RBO, 0x28, REG1._RBO, 0xA0, "_RBO") + m331(ts, 4, REG0._ASZ, 0x30, REG1._ASZ, 0xA8, "_ASZ") + m331(ts, 5, REG0._ADR, 0x38, REG1._ADR, 0xB0, "_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 0000000..63c2144 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/resourcetemplate.asl @@ -0,0 +1,2929 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 (0x03f1, 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 (0x03f1, 0xf2) + } + StartDependentFn (0, 2) { + IRQ (Level, ActiveHigh, Exclusive) {0} + IRQNoFlags () {1} + DMA (Compatibility, NotBusMaster, Transfer16) {2} + IO (Decode16, 0xf0f1, 0xf2f3, 0xf4, 0xf5) + FixedIO (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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, 0x03, 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, 0x03, 0xf2, + 0x31, 0x08, + 0x23, 0x01, 0x00, 0x00, + 0x22, 0x02, 0x00, + 0x2a, 0x04, 0x02, + 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5, + 0x4b, 0xf1, 0x03, 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, 0x03, 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, 0x03, 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, 0x03, 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, 0x03, 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, 0x03, 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, 0x03, 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, 0x03, 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, 0x03, 0xf2, + 0x31, 0x08, + 0x23, 0x01, 0x00, 0x00, + 0x22, 0x02, 0x00, + 0x2a, 0x04, 0x02, + 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5, + 0x4b, 0xf1, 0x03, 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, 0x03, 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, 0x03, 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, 0x03, 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, 0x03, 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, 0x03, 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, 0x03, 0xf2, + 0x31, 0x08, + 0x23, 0x01, 0x00, 0x00, + 0x22, 0x02, 0x00, + 0x2a, 0x04, 0x02, + 0x47, 0x01, 0xf1, 0xf0, 0xf3, 0xf2, 0xf4, 0xf5, + 0x4b, 0xf1, 0x03, 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, 0x03, 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, 0x03, 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, 0x03, 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, 0x03, 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, 0x03, 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") + + // Emit test header, set the filename + + THDR (ts, "Resource To Buffer Conversion Macro", __FILE__) + + // Main test case for packages above + + m330(ts, 3, "p438", p438, p439) + +} + +Method(RT1c) +{ + Name(ts, "RT1c") + + // Emit test header, set the filename + + THDR (ts, "Resource Conversion Macros complex test", __FILE__) + + 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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 (0x03f1, 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, 0x0018, IRQ1._HE, 0x3b68, "_HE") + m331(ts, 2, IRQ0._LL, 0x001b, IRQ1._LL, 0x3b6b, "_LL") + m331(ts, 3, IRQ0._SHR, 0x001c, IRQ1._SHR, 0x3b6c, "_SHR") + + m331(ts, 4, DMA0._TYP, 0x004d, DMA1._TYP, 0x3b9d, "_TYP") + m331(ts, 5, DMA0._BM, 0x004a, DMA1._BM, 0x3b9a, "_BM") + m331(ts, 6, DMA0._SIZ, 0x0048, DMA1._SIZ, 0x3b98, "_SIZ") + + m331(ts, 7, IO00._DEC, 0x0058, IO01._DEC, 0x3ba8, "_DEC") + m331(ts, 8, IO00._MIN, 0x0060, IO01._MIN, 0x3bb0, "_MIN") + m331(ts, 9, IO00._MAX, 0x0070, IO01._MAX, 0x3bc0, "_MAX") + m331(ts, 10, IO00._ALN, 0x0080, IO01._ALN, 0x3bd0, "_ALN") + m331(ts, 11, IO00._LEN, 0x0088, IO01._LEN, 0x3bd8, "_LEN") + + m331(ts, 12, FIO0._BAS, 0x0098, FIO1._BAS, 0x3be8, "_BAS") + m331(ts, 13, FIO0._LEN, 0x00a8, FIO1._LEN, 0x3bf8, "_LEN") + + m331(ts, 14, M240._RW, 0x0108, M241._RW, 0x3C58, "_RW") + m331(ts, 15, M240._MIN, 0x0110, M241._MIN, 0x3c60, "_MIN") + m331(ts, 16, M240._MAX, 0x0120, M241._MAX, 0x3c70, "_MAX") + m331(ts, 17, M240._ALN, 0x0130, M241._ALN, 0x3c80, "_ALN") + m331(ts, 18, M240._LEN, 0x0140, M241._LEN, 0x3c90, "_LEN") + + m331(ts, 19, M320._RW, 0x0168, M321._RW, 0x3CB8, "_RW") + m331(ts, 20, M320._MIN, 0x0170, M321._MIN, 0x3cc0, "_MIN") + m331(ts, 21, M320._MAX, 0x0190, M321._MAX, 0x3ce0, "_MAX") + m331(ts, 22, M320._ALN, 0x01b0, M321._ALN, 0x3d00, "_ALN") + m331(ts, 23, M320._LEN, 0x01d0, M321._LEN, 0x3d20, "_LEN") + + m331(ts, 24, M3F0._RW, 0x0208, M3F1._RW, 0x3D58, "_RW") + m331(ts, 25, M3F0._BAS, 0x0210, M3F1._BAS, 0x3d60, "_BAS") + m331(ts, 26, M3F0._LEN, 0x0230, M3F1._LEN, 0x3d80, "_LEN") + + m331(ts, 27, QIO0._DEC, 0x0331, QIO1._DEC, 0x3e81, "_DEC") + m331(ts, 28, QIO0._MIF, 0x0332, QIO1._MIF, 0x3e82, "_MIF") + m331(ts, 29, QIO0._MAF, 0x0333, QIO1._MAF, 0x3e83, "_MAF") + m331(ts, 30, QIO0._RNG, 0x0338, QIO1._RNG, 0x3e88, "_RNG") + m331(ts, 31, QIO0._TTP, 0x033c, QIO1._TTP, 0x3e8c, "_TTP") + m331(ts, 32, QIO0._TRS, 0x033d, QIO1._TRS, 0x3e8d, "_TRS") + m331(ts, 33, QIO0._GRA, 0x0340, QIO1._GRA, 0x3e90, "_GRA") + m331(ts, 34, QIO0._MIN, 0x0380, QIO1._MIN, 0x3ed0, "_MIN") + m331(ts, 35, QIO0._MAX, 0x03c0, QIO1._MAX, 0x3f10, "_MAX") + m331(ts, 36, QIO0._TRA, 0x0400, QIO1._TRA, 0x3f50, "_TRA") + m331(ts, 37, QIO0._LEN, 0x0440, QIO1._LEN, 0x3f90, "_LEN") + + m331(ts, 38, DIO0._DEC, 0x0511, DIO1._DEC, 0x4061, "_DEC") + m331(ts, 39, DIO0._MIF, 0x0512, DIO1._MIF, 0x4062, "_MIF") + m331(ts, 40, DIO0._MAF, 0x0513, DIO1._MAF, 0x4063, "_MAF") + m331(ts, 41, DIO0._RNG, 0x0518, DIO1._RNG, 0x4068, "_RNG") + m331(ts, 42, DIO0._TTP, 0x051c, DIO1._TTP, 0x406c, "_TTP") + m331(ts, 43, DIO0._TRS, 0x051d, DIO1._TRS, 0x406d, "_TRS") + m331(ts, 44, DIO0._GRA, 0x0520, DIO1._GRA, 0x4070, "_GRA") + m331(ts, 45, DIO0._MIN, 0x0540, DIO1._MIN, 0x4090, "_MIN") + m331(ts, 46, DIO0._MAX, 0x0560, DIO1._MAX, 0x40b0, "_MAX") + m331(ts, 47, DIO0._TRA, 0x0580, DIO1._TRA, 0x40d0, "_TRA") + m331(ts, 48, DIO0._LEN, 0x05a0, DIO1._LEN, 0x40f0, "_LEN") + + m331(ts, 49, WIO0._DEC, 0x0651, WIO1._DEC, 0x41a1, "_DEC") + m331(ts, 50, WIO0._MIF, 0x0652, WIO1._MIF, 0x41a2, "_MIF") + m331(ts, 51, WIO0._MAF, 0x0653, WIO1._MAF, 0x41a3, "_MAF") + m331(ts, 52, WIO0._RNG, 0x0658, WIO1._RNG, 0x41a8, "_RNG") + m331(ts, 53, WIO0._TTP, 0x065c, WIO1._TTP, 0x41ac, "_TTP") + m331(ts, 54, WIO0._TRS, 0x065d, WIO1._TRS, 0x41ad, "_TRS") + m331(ts, 55, WIO0._GRA, 0x0660, WIO1._GRA, 0x41b0, "_GRA") + m331(ts, 56, WIO0._MIN, 0x0670, WIO1._MIN, 0x41c0, "_MIN") + m331(ts, 57, WIO0._MAX, 0x0680, WIO1._MAX, 0x41d0, "_MAX") + m331(ts, 58, WIO0._TRA, 0x0690, WIO1._TRA, 0x41e0, "_TRA") + m331(ts, 59, WIO0._LEN, 0x06a0, WIO1._LEN, 0x41f0, "_LEN") + + m331(ts, 60, QME0._DEC, 0x0741, QME1._DEC, 0x4291, "_DEC") + m331(ts, 61, QME0._MIF, 0x0742, QME1._MIF, 0x4292, "_MIF") + m331(ts, 62, QME0._MAF, 0x0743, QME1._MAF, 0x4293, "_MAF") + m331(ts, 63, QME0._RW, 0x0748, QME1._RW, 0x4298, "_RW") + m331(ts, 64, QME0._MEM, 0x0749, QME1._MEM, 0x4299, "_MEM") + m331(ts, 65, QME0._MTP, 0x074b, QME1._MTP, 0x429b, "_MTP") + m331(ts, 66, QME0._TTP, 0x074d, QME1._TTP, 0x429d, "_TTP") + m331(ts, 67, QME0._GRA, 0x0750, QME1._GRA, 0x42a0, "_GRA") + m331(ts, 68, QME0._MIN, 0x0790, QME1._MIN, 0x42e0, "_MIN") + m331(ts, 69, QME0._MAX, 0x07d0, QME1._MAX, 0x4320, "_MAX") + m331(ts, 70, QME0._TRA, 0x0810, QME1._TRA, 0x4360, "_TRA") + m331(ts, 71, QME0._LEN, 0x0850, QME1._LEN, 0x43a0, "_LEN") + + m331(ts, 72, DME0._DEC, 0x0921, DME1._DEC, 0x4471, "_DEC") + m331(ts, 73, DME0._MIF, 0x0922, DME1._MIF, 0x4472, "_MIF") + m331(ts, 74, DME0._MAF, 0x0923, DME1._MAF, 0x4473, "_MAF") + m331(ts, 75, DME0._RW, 0x0928, DME1._RW, 0x4478, "_RW") + m331(ts, 76, DME0._MEM, 0x0929, DME1._MEM, 0x4479, "_MEM") + m331(ts, 77, DME0._MTP, 0x092b, DME1._MTP, 0x447b, "_MTP") + m331(ts, 78, DME0._TTP, 0x092d, DME1._TTP, 0x447d, "_TTP") + m331(ts, 79, DME0._GRA, 0x0930, DME1._GRA, 0x4480, "_GRA") + m331(ts, 80, DME0._MIN, 0x0950, DME1._MIN, 0x44a0, "_MIN") + m331(ts, 81, DME0._MAX, 0x0970, DME1._MAX, 0x44c0, "_MAX") + m331(ts, 82, DME0._TRA, 0x0990, DME1._TRA, 0x44e0, "_TRA") + m331(ts, 83, DME0._LEN, 0x09b0, DME1._LEN, 0x4500, "_LEN") + + m331(ts, 84, WBN0._DEC, 0x0a61, WBN1._DEC, 0x45b1, "_DEC") + m331(ts, 85, WBN0._MIF, 0x0a62, WBN1._MIF, 0x45b2, "_MIF") + m331(ts, 86, WBN0._MAF, 0x0a63, WBN1._MAF, 0x45b3, "_MAF") + m331(ts, 87, WBN0._GRA, 0x0a70, WBN1._GRA, 0x45c0, "_GRA") + m331(ts, 88, WBN0._MIN, 0x0a80, WBN1._MIN, 0x45d0, "_MIN") + m331(ts, 89, WBN0._MAX, 0x0a90, WBN1._MAX, 0x45e0, "_MAX") + m331(ts, 90, WBN0._TRA, 0x0aa0, WBN1._TRA, 0x45f0, "_TRA") + m331(ts, 91, WBN0._LEN, 0x0ab0, WBN1._LEN, 0x4600, "_LEN") + + m331(ts, 92, INT0._HE, 0x0b49, INT1._HE, 0x4699, "_HE") + m331(ts, 93, INT0._LL, 0x0b4a, INT1._LL, 0x469a, "_LL") + m331(ts, 94, INT0._SHR, 0x0b4b, INT1._SHR, 0x469b, "_SHR") + m331(ts, 95, INT0._INT, 0x0b58, INT1._INT, 0x46a8, "_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, 0x3240, EIO1._GRA, 0x6d90, "_GRA") + m331(ts, 103, EIO0._MIN, 0x3280, EIO1._MIN, 0x6dd0, "_MIN") + m331(ts, 104, EIO0._MAX, 0x32c0, EIO1._MAX, 0x6e10, "_MAX") + m331(ts, 105, EIO0._TRA, 0x3300, EIO1._TRA, 0x6e50, "_TRA") + m331(ts, 106, EIO0._LEN, 0x3340, EIO1._LEN, 0x6e90, "_LEN") + m331(ts, 107, EIO0._ATT, 0x3380, EIO1._ATT, 0x6ed0, "_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, 0x3400, EME1._GRA, 0x6f50, "_GRA") + m331(ts, 116, EME0._MIN, 0x3440, EME1._MIN, 0x6f90, "_MIN") + m331(ts, 117, EME0._MAX, 0x3480, EME1._MAX, 0x6fd0, "_MAX") + m331(ts, 118, EME0._TRA, 0x34c0, EME1._TRA, 0x7010, "_TRA") + m331(ts, 119, EME0._LEN, 0x3500, EME1._LEN, 0x7050, "_LEN") + m331(ts, 120, EME0._ATT, 0x3540, EME1._ATT, 0x7090, "_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, 0x35c0, ESP1._GRA, 0x7110, "_GRA") + m331(ts, 125, ESP0._MIN, 0x3600, ESP1._MIN, 0x7150, "_MIN") + m331(ts, 126, ESP0._MAX, 0x3640, ESP1._MAX, 0x7190, "_MAX") + m331(ts, 127, ESP0._TRA, 0x3680, ESP1._TRA, 0x71d0, "_TRA") + m331(ts, 128, ESP0._LEN, 0x36c0, ESP1._LEN, 0x7210, "_LEN") + m331(ts, 129, ESP0._ATT, 0x3700, ESP1._ATT, 0x7250, "_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, 0x3770, DSP1._GRA, 0x72c0, "_GRA") + m331(ts, 134, DSP0._MIN, 0x3790, DSP1._MIN, 0x72e0, "_MIN") + m331(ts, 135, DSP0._MAX, 0x37b0, DSP1._MAX, 0x7300, "_MAX") + m331(ts, 136, DSP0._TRA, 0x37d0, DSP1._TRA, 0x7320, "_TRA") + m331(ts, 137, DSP0._LEN, 0x37f0, DSP1._LEN, 0x7340, "_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, 0x38b0, QSP1._GRA, 0x7400, "_GRA") + m331(ts, 142, QSP0._MIN, 0x38f0, QSP1._MIN, 0x7440, "_MIN") + m331(ts, 143, QSP0._MAX, 0x3930, QSP1._MAX, 0x7480, "_MAX") + m331(ts, 144, QSP0._TRA, 0x3970, QSP1._TRA, 0x74c0, "_TRA") + m331(ts, 145, QSP0._LEN, 0x39b0, QSP1._LEN, 0x7500, "_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, 0x3a90, WSP1._GRA, 0x75e0, "_GRA") + m331(ts, 150, WSP0._MIN, 0x3aa0, WSP1._MIN, 0x75f0, "_MIN") + m331(ts, 151, WSP0._MAX, 0x3ab0, WSP1._MAX, 0x7600, "_MAX") + m331(ts, 152, WSP0._TRA, 0x3ac0, WSP1._TRA, 0x7610, "_TRA") + m331(ts, 153, WSP0._LEN, 0x3ad0, WSP1._LEN, 0x7620, "_LEN") + + // Checkings relating to RT01 + + m331(ts, 154, IRQ2._HE, 0x20, IRQ3._HE, 0x4780, "_HE") + m331(ts, 155, IRQ2._LL, 0x23, IRQ3._LL, 0x4783, "_LL") + m331(ts, 156, IRQ2._SHR, 0x24, IRQ3._SHR, 0x4784, "_SHR") + + m331(ts, 157, IRQ4._HE, 0x60, IRQ5._HE, 0x47c0, "_HE") + m331(ts, 158, IRQ4._LL, 0x63, IRQ5._LL, 0x47c3, "_LL") + m331(ts, 159, IRQ4._SHR, 0x64, IRQ5._SHR, 0x47c4, "_SHR") + + m331(ts, 160, DMA4._TYP, 0x95, DMA5._TYP, 0x47f5, "_TYP") + m331(ts, 161, DMA4._BM, 0x92, DMA5._BM, 0x47f2, "_BM") + m331(ts, 162, DMA4._SIZ, 0x90, DMA5._SIZ, 0x47f0, "_SIZ") + + m331(ts, 163, IRQ6._HE, 0xc0, IRQ7._HE, 0x4820, "_HE") + m331(ts, 164, IRQ6._LL, 0xc3, IRQ7._LL, 0x4823, "_LL") + m331(ts, 165, IRQ6._SHR, 0xc4, IRQ7._SHR, 0x4824, "_SHR") + + m331(ts, 166, DMA6._TYP, 0xf5, DMA7._TYP, 0x4855, "_TYP") + m331(ts, 167, DMA6._BM, 0xf2, DMA7._BM, 0x4852, "_BM") + m331(ts, 168, DMA6._SIZ, 0xf0, DMA7._SIZ, 0x4850, "_SIZ") + + m331(ts, 169, IO06._DEC, 0x100, IO07._DEC, 0x4860, "_DEC") + m331(ts, 170, IO06._MIN, 0x108, IO07._MIN, 0x4868, "_MIN") + m331(ts, 171, IO06._MAX, 0x118, IO07._MAX, 0x4878, "_MAX") + m331(ts, 172, IO06._ALN, 0x128, IO07._ALN, 0x4888, "_ALN") + m331(ts, 173, IO06._LEN, 0x130, IO07._LEN, 0x4890, "_LEN") + + m331(ts, 174, IRQ8._HE, 0x160, IRQ9._HE, 0x48c0, "_HE") + m331(ts, 175, IRQ8._LL, 0x163, IRQ9._LL, 0x48c3, "_LL") + m331(ts, 176, IRQ8._SHR, 0x164, IRQ9._SHR, 0x48c4, "_SHR") + + m331(ts, 177, DMA8._TYP, 0x195, DMA9._TYP, 0x48f5, "_TYP") + m331(ts, 178, DMA8._BM, 0x192, DMA9._BM, 0x48f2, "_BM") + m331(ts, 179, DMA8._SIZ, 0x190, DMA9._SIZ, 0x48f0, "_SIZ") + + m331(ts, 180, IO08._DEC, 0x1a0, IO09._DEC, 0x4900, "_DEC") + m331(ts, 181, IO08._MIN, 0x1a8, IO09._MIN, 0x4908, "_MIN") + m331(ts, 182, IO08._MAX, 0x1b8, IO09._MAX, 0x4918, "_MAX") + m331(ts, 183, IO08._ALN, 0x1c8, IO09._ALN, 0x4928, "_ALN") + m331(ts, 184, IO08._LEN, 0x1d0, IO09._LEN, 0x4930, "_LEN") + + m331(ts, 185, FIO8._BAS, 0x1e0, FIO9._BAS, 0x4940, "_BAS") + m331(ts, 186, FIO8._LEN, 0x1f0, FIO9._LEN, 0x4950, "_LEN") + + m331(ts, 187, IRQA._HE, 0x220, IRQB._HE, 0x4980, "_HE") + m331(ts, 188, IRQA._LL, 0x223, IRQB._LL, 0x4983, "_LL") + m331(ts, 189, IRQA._SHR, 0x224, IRQB._SHR, 0x4984, "_SHR") + + m331(ts, 190, DMAA._TYP, 0x255, DMAB._TYP, 0x49b5, "_TYP") + m331(ts, 191, DMAA._BM, 0x252, DMAB._BM, 0x49b2, "_BM") + m331(ts, 192, DMAA._SIZ, 0x250, DMAB._SIZ, 0x49b0, "_SIZ") + + m331(ts, 193, IO0A._DEC, 0x260, IO0B._DEC, 0x49c0, "_DEC") + m331(ts, 194, IO0A._MIN, 0x268, IO0B._MIN, 0x49c8, "_MIN") + m331(ts, 195, IO0A._MAX, 0x278, IO0B._MAX, 0x49d8, "_MAX") + m331(ts, 196, IO0A._ALN, 0x288, IO0B._ALN, 0x49e8, "_ALN") + m331(ts, 197, IO0A._LEN, 0x290, IO0B._LEN, 0x49f0, "_LEN") + + m331(ts, 198, FIOA._BAS, 0x2a0, FIOB._BAS, 0x4a00, "_BAS") + m331(ts, 199, FIOA._LEN, 0x2b0, FIOB._LEN, 0x4a10, "_LEN") + + m331(ts, 200, IRQC._HE, 0x320, IRQD._HE, 0x4a80, "_HE") + m331(ts, 201, IRQC._LL, 0x323, IRQD._LL, 0x4a83, "_LL") + m331(ts, 202, IRQC._SHR, 0x324, IRQD._SHR, 0x4a84, "_SHR") + + m331(ts, 203, DMAC._TYP, 0x355, DMAD._TYP, 0x4ab5, "_TYP") + m331(ts, 204, DMAC._BM, 0x352, DMAD._BM, 0x4ab2, "_BM") + m331(ts, 205, DMAC._SIZ, 0x350, DMAD._SIZ, 0x4ab0, "_SIZ") + + m331(ts, 206, IO0C._DEC, 0x360, IO0D._DEC, 0x4ac0, "_DEC") + m331(ts, 207, IO0C._MIN, 0x368, IO0D._MIN, 0x4ac8, "_MIN") + m331(ts, 208, IO0C._MAX, 0x378, IO0D._MAX, 0x4ad8, "_MAX") + m331(ts, 209, IO0C._ALN, 0x388, IO0D._ALN, 0x4ae8, "_ALN") + m331(ts, 210, IO0C._LEN, 0x390, IO0D._LEN, 0x4af0, "_LEN") + + m331(ts, 211, FIOC._BAS, 0x3a0, FIOD._BAS, 0x4b00, "_BAS") + m331(ts, 212, FIOC._LEN, 0x3b0, FIOD._LEN, 0x4b10, "_LEN") + + m331(ts, 213, M24C._RW, 0x410, M24D._RW, 0x4b70, "_RW") + m331(ts, 214, M24C._MIN, 0x418, M24D._MIN, 0x4b78, "_MIN") + m331(ts, 215, M24C._MAX, 0x428, M24D._MAX, 0x4b88, "_MAX") + m331(ts, 216, M24C._ALN, 0x438, M24D._ALN, 0x4b98, "_ALN") + m331(ts, 217, M24C._LEN, 0x448, M24D._LEN, 0x4ba8, "_LEN") + + m331(ts, 218, IRQE._HE, 0x480, IRQF._HE, 0x4be0, "_HE") + m331(ts, 219, IRQE._LL, 0x483, IRQF._LL, 0x4be3, "_LL") + m331(ts, 220, IRQE._SHR, 0x484, IRQF._SHR, 0x4be4, "_SHR") + + m331(ts, 221, DMAE._TYP, 0x4b5, DMAF._TYP, 0x4c15, "_TYP") + m331(ts, 222, DMAE._BM, 0x4b2, DMAF._BM, 0x4c12, "_BM") + m331(ts, 223, DMAE._SIZ, 0x4b0, DMAF._SIZ, 0x4c10, "_SIZ") + + m331(ts, 224, IO0E._DEC, 0x4c0, IO0F._DEC, 0x4c20, "_DEC") + m331(ts, 225, IO0E._MIN, 0x4c8, IO0F._MIN, 0x4c28, "_MIN") + m331(ts, 226, IO0E._MAX, 0x4d8, IO0F._MAX, 0x4c38, "_MAX") + m331(ts, 227, IO0E._ALN, 0x4e8, IO0F._ALN, 0x4c48, "_ALN") + m331(ts, 228, IO0E._LEN, 0x4f0, IO0F._LEN, 0x4c50, "_LEN") + + m331(ts, 229, FIOE._BAS, 0x500, FIOF._BAS, 0x4c60, "_BAS") + m331(ts, 230, FIOE._LEN, 0x510, FIOF._LEN, 0x4c70, "_LEN") + + m331(ts, 231, M24E._RW, 0x570, M24F._RW, 0x4cd0, "_RW") + m331(ts, 232, M24E._MIN, 0x578, M24F._MIN, 0x4cd8, "_MIN") + m331(ts, 233, M24E._MAX, 0x588, M24F._MAX, 0x4ce8, "_MAX") + m331(ts, 234, M24E._ALN, 0x598, M24F._ALN, 0x4cf8, "_ALN") + m331(ts, 235, M24E._LEN, 0x5a8, M24F._LEN, 0x4d08, "_LEN") + + m331(ts, 236, M32E._RW, 0x5d0, M32F._RW, 0x4d30, "_RW") + m331(ts, 237, M32E._MIN, 0x5d8, M32F._MIN, 0x4d38, "_MIN") + m331(ts, 238, M32E._MAX, 0x5f8, M32F._MAX, 0x4d58, "_MAX") + m331(ts, 239, M32E._ALN, 0x618, M32F._ALN, 0x4d78, "_ALN") + m331(ts, 240, M32E._LEN, 0x638, M32F._LEN, 0x4d98, "_LEN") + + // Checkings below are not exhaustive + + m331(ts, 241, M3FG._RW, 0x870, M3FH._RW, 0x4fd0, "_RW") + m331(ts, 242, M3FG._BAS, 0x878, M3FH._BAS, 0x4fd8, "_BAS") + m331(ts, 243, M3FG._LEN, 0x898, M3FH._LEN, 0x4ff8, "_LEN") + + m331(ts, 244, M3FI._RW, 0x43d0, M3FJ._RW, 0x8b30, "_RW") + m331(ts, 245, M3FI._BAS, 0x43d8, M3FJ._BAS, 0x8b38, "_BAS") + m331(ts, 246, M3FI._LEN, 0x43f8, M3FJ._LEN, 0x8b58, "_LEN") + + m331(ts, 247, M3FK._RW, 0x4640, M3FL._RW, 0x8da0, "_RW") + m331(ts, 248, M3FK._BAS, 0x4648, M3FL._BAS, 0x8da8, "_BAS") + m331(ts, 249, M3FK._LEN, 0x4668, M3FL._LEN, 0x8dc8, "_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 0000000..e64520e --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/rtemplate.asl @@ -0,0 +1,164 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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) +Name(lpN0, 0) +Name(lpC0, 0) + +Method(m330, 5) // ts, len, msg, op, res +{ + + 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, arg6, arg6, arg2, arg3) + } + if (LNotEqual(arg4, arg5)) { + err(arg0, z029, arg1, arg6, arg6, arg4, arg5) + } +} + +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/spiserialbus.asl b/tests/aslts/src/runtime/collections/functional/descriptor/spiserialbus.asl new file mode 100644 index 0000000..f9529ae --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/spiserialbus.asl @@ -0,0 +1,1771 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 + * + * SpiSerialBus Resource Descriptor Macro + */ +Device (SPI) {} + +Name (p458, Package() { + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer, ,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer, ,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer, ,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer, ,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer, ,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer, ,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceConsumer, , + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceConsumer, ,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer, ,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer, ,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer, ,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer, ,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer, ,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer, ,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer, ,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer, ,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, ThreeWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, FourWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer,) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x08, + DeviceInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x07, + ControllerInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseFirst, "\\SPI", 0xEE, ResourceProducer) + }, + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityLow, ThreeWireMode, 0x08, + ControllerInitiated, 0xAABBCCDD, ClockPolarityHigh, + ClockPhaseSecond, "\\SPI", 0xEE, ResourceProducer) + }, + + // Minimal invocation + ResourceTemplate () { + SpiSerialBus (0x6789, , , 0x07, , 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", , , ,) + } +}) + + +Name (p459, Package() { + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x02, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x02, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x02, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x02, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x02, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x02, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x02, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x02, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x03, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x03, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x03, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x03, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x03, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x03, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x03, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x03, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x00, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x00, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x00, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x00, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x00, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x00, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x00, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x00, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x01, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x01, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x01, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x01, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x01, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x01, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x01, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x01, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x02, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x02, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x02, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x02, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x02, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x02, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x02, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x02, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x03, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x03, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x03, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x03, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x03, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x03, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x03, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x03, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x00, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x00, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x00, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x00, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x00, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x00, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x00, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x00, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x01, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x01, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x01, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x01, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x01, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x01, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x01, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x01, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x02, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x02, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x02, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x02, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x02, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x02, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x02, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x02, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x03, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x03, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x03, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x03, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x03, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x03, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x03, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x03, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x00, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x00, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x00, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x00, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x00, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x00, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x00, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x00, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x01, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x01, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x01, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x03, 0x01, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x01, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x01, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x21) + { + /* 0000 */ 0x8E, 0x1C, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x01, + /* 0008 */ 0x00, 0x01, 0x0E, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0xF0, 0xF1, 0xF2, + /* 0018 */ 0xF3, 0xF4, 0x5C, 0x53, 0x50, 0x49, 0x00, 0x79, + /* 0020 */ 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x02, 0x01, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x02, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x02, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x02, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x02, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x02, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x02, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x02, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x02, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x03, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x03, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x03, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x03, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x03, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x03, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x03, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x03, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x00, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x00, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x00, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x00, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x00, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x00, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x00, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x00, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x01, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x01, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x01, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x01, 0x01, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x01, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x00, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x01, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x01, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x00, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0xEE, 0x02, 0x00, 0x01, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x08, 0x01, 0x01, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + }, + Buffer (0x1C) + { + /* 0000 */ 0x8E, 0x17, 0x00, 0x01, 0x00, 0x02, 0x02, 0x00, + /* 0008 */ 0x00, 0x01, 0x09, 0x00, 0xDD, 0xCC, 0xBB, 0xAA, + /* 0010 */ 0x07, 0x01, 0x00, 0x89, 0x67, 0x5C, 0x53, 0x50, + /* 0018 */ 0x49, 0x00, 0x79, 0x00 + } +}) + + +Method(RT24) +{ + Name(ts, "RT24") + + // Emit test header, set the filename + + THDR (ts, "SpiSerialBus Resource Descriptor Macro", __FILE__) + + // The main test packages must have the same number of entries + + If (LNotEqual (SizeOf (p458), SizeOf (p459))) + { + err (ts, 181, 0, 0, 0, 0, "Incorrect package length") + Return () + } + + // Main test case for packages above + + m330(ts, SizeOf (p458), "p458", p458, p459) + + // Check resource descriptor tag offsets + + Store ( + ResourceTemplate () { + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", + 0xEE, ResourceConsumer, SPI0, + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + SpiSerialBus (0x6789, PolarityHigh, FourWireMode, 0x07, + DeviceInitiated, 0xAABBCCDD, ClockPolarityLow, + ClockPhaseSecond, "\\SPI", + 0xEE, ResourceConsumer, SPI1, + RawDataBuffer (0x05) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4}) + }, Local0) + + + m331(ts, 1, SPI0._SLV, 0x30, SPI1._SLV, 0x128, "_SLV") + m331(ts, 2, SPI0._MOD, 0x38, SPI1._MOD, 0x130, "_MOD") + m331(ts, 3, SPI0._DPL, 0x39, SPI1._DPL, 0x131, "_DPL") + m331(ts, 4, SPI0._SPE, 0x60, SPI1._SPE, 0x158, "_SPE") + m331(ts, 5, SPI0._LEN, 0x80, SPI1._LEN, 0x178, "_LEN") + m331(ts, 6, SPI0._PHA, 0x88, SPI1._PHA, 0x180, "_PHA") + m331(ts, 7, SPI0._POL, 0x90, SPI1._POL, 0x188, "_POL") + m331(ts, 8, SPI0._ADR, 0x98, SPI1._ADR, 0x190, "_ADR") + m331(ts, 9, SPI0._VEN, 0xA8, SPI1._VEN, 0x1A0, "_VEN") +} + + diff --git a/tests/aslts/src/runtime/collections/functional/descriptor/uartserialbus.asl b/tests/aslts/src/runtime/collections/functional/descriptor/uartserialbus.asl new file mode 100644 index 0000000..5bc5f1c --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/uartserialbus.asl @@ -0,0 +1,647 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 + * + * UartSerialBus Resource Descriptor Macro + */ +Device (UART) {} + +Name (p45A, Package() { + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsTwo, + 0xA5, BigEndian, ParityTypeEven, FlowControlNone, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsTwo, + 0xA5, BigEndian, ParityTypeEven, FlowControlXon, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsTwo, + 0xA5, BigEndian, ParityTypeEven, FlowControlHardware, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsTwo, + 0xA5, BigEndian, ParityTypeNone, FlowControlNone, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsTwo, + 0xA5, BigEndian, ParityTypeNone, FlowControlXon, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsTwo, + 0xA5, BigEndian, ParityTypeNone, FlowControlHardware, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsTwo, + 0xA5, BigEndian, ParityTypeSpace, FlowControlNone, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsTwo, + 0xA5, BigEndian, ParityTypeSpace, FlowControlXon, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsTwo, + 0xA5, BigEndian, ParityTypeSpace, FlowControlHardware, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsTwo, + 0xA5, BigEndian, ParityTypeMark, FlowControlNone, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsTwo, + 0xA5, BigEndian, ParityTypeMark, FlowControlXon, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsTwo, + 0xA5, BigEndian, ParityTypeMark, FlowControlHardware, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsTwo, + 0xA5, BigEndian, ParityTypeOdd, FlowControlNone, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsTwo, + 0xA5, BigEndian, ParityTypeOdd, FlowControlXon, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsTwo, + 0xA5, BigEndian, ParityTypeOdd, FlowControlHardware, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + +// StopBits + + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsZero, + 0xA5, BigEndian, ParityTypeOdd, FlowControlHardware, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsOne, + 0xA5, BigEndian, ParityTypeOdd, FlowControlNone, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsOnePlusHalf, + 0xA5, BigEndian, ParityTypeOdd, FlowControlXon, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + +// DataBits + + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsFive, StopBitsTwo, + 0xA5, BigEndian, ParityTypeOdd, FlowControlHardware, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsSix, StopBitsTwo, + 0xA5, BigEndian, ParityTypeOdd, FlowControlHardware, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsSeven, StopBitsTwo, + 0xA5, BigEndian, ParityTypeOdd, FlowControlHardware, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsTwo, + 0xA5, BigEndian, ParityTypeOdd, FlowControlHardware, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsNine, StopBitsTwo, + 0xA5, BigEndian, ParityTypeOdd, FlowControlHardware, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + +// Endian + + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsZero, + 0xA5, LittleEndian, ParityTypeOdd, FlowControlHardware, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsOne, + 0xA5, LittleEndian, ParityTypeOdd, FlowControlNone, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsOnePlusHalf, + 0xA5, LittleEndian, ParityTypeOdd, FlowControlXon, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsFive, StopBitsTwo, + 0xA5, LittleEndian, ParityTypeOdd, FlowControlHardware, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsSix, StopBitsTwo, + 0xA5, LittleEndian, ParityTypeOdd, FlowControlHardware, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsSeven, StopBitsTwo, + 0xA5, LittleEndian, ParityTypeOdd, FlowControlHardware, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsTwo, + 0xA5, LittleEndian, ParityTypeOdd, FlowControlHardware, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsNine, StopBitsTwo, + 0xA5, LittleEndian, ParityTypeOdd, FlowControlHardware, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceConsumer, , + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, + +// ResourceProducer + + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsZero, + 0xA5, LittleEndian, ParityTypeOdd, FlowControlHardware, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceProducer, ,) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsOne, + 0xA5, LittleEndian, ParityTypeOdd, FlowControlNone, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceProducer, ,) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsOnePlusHalf, + 0xA5, LittleEndian, ParityTypeOdd, FlowControlXon, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceProducer,) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsFive, StopBitsTwo, + 0xA5, LittleEndian, ParityTypeOdd, FlowControlHardware, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceProducer,) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsSix, StopBitsTwo, + 0xA5, LittleEndian, ParityTypeOdd, FlowControlHardware, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceProducer,) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsSeven, StopBitsTwo, + 0xA5, LittleEndian, ParityTypeOdd, FlowControlHardware, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceProducer) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsTwo, + 0xA5, LittleEndian, ParityTypeOdd, FlowControlHardware, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceProducer) + }, + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsNine, StopBitsTwo, + 0xA5, LittleEndian, ParityTypeOdd, FlowControlHardware, + 0x3377, 0x4488, "\\UART", 0x8C, ResourceProducer) + }, + + // Minimal invocation + + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, , , 0xA5, , , , + 0x3300, 0x4400, "\\UART", , , ,) + } +}) + + +Name (p45B, Package() { + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0xBC, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x01, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0xBE, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x01, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0xBD, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x01, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0xBC, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x00, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0xBE, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x00, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0xBD, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x00, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0xBC, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x04, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0xBE, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x04, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0xBD, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x04, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0xBC, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x03, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0xBE, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x03, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0xBD, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x03, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0xBC, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x02, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0xBE, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x02, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0xBD, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x02, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0xB1, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x02, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0xB4, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x02, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0xBA, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x02, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0x8D, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x02, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0x9D, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x02, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0xAD, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x02, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0xBD, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x02, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0xCD, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x02, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0x31, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x02, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0x34, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x02, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0x3A, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x02, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0x0D, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x02, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0x1D, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x02, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0x2D, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x02, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0x3D, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x02, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x25) + { + /* 0000 */ 0x8E, 0x20, 0x00, 0x01, 0x8C, 0x03, 0x02, 0x4D, + /* 0008 */ 0x00, 0x01, 0x11, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x02, 0xA5, 0xF0, 0xF1, + /* 0018 */ 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0x5C, 0x55, 0x41, + /* 0020 */ 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x1E) + { + /* 0000 */ 0x8E, 0x19, 0x00, 0x01, 0x8C, 0x03, 0x00, 0x31, + /* 0008 */ 0x00, 0x01, 0x0A, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x02, 0xA5, 0x5C, 0x55, + /* 0018 */ 0x41, 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x1E) + { + /* 0000 */ 0x8E, 0x19, 0x00, 0x01, 0x8C, 0x03, 0x00, 0x34, + /* 0008 */ 0x00, 0x01, 0x0A, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x02, 0xA5, 0x5C, 0x55, + /* 0018 */ 0x41, 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x1E) + { + /* 0000 */ 0x8E, 0x19, 0x00, 0x01, 0x8C, 0x03, 0x00, 0x3A, + /* 0008 */ 0x00, 0x01, 0x0A, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x02, 0xA5, 0x5C, 0x55, + /* 0018 */ 0x41, 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x1E) + { + /* 0000 */ 0x8E, 0x19, 0x00, 0x01, 0x8C, 0x03, 0x00, 0x0D, + /* 0008 */ 0x00, 0x01, 0x0A, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x02, 0xA5, 0x5C, 0x55, + /* 0018 */ 0x41, 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x1E) + { + /* 0000 */ 0x8E, 0x19, 0x00, 0x01, 0x8C, 0x03, 0x00, 0x1D, + /* 0008 */ 0x00, 0x01, 0x0A, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x02, 0xA5, 0x5C, 0x55, + /* 0018 */ 0x41, 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x1E) + { + /* 0000 */ 0x8E, 0x19, 0x00, 0x01, 0x8C, 0x03, 0x00, 0x2D, + /* 0008 */ 0x00, 0x01, 0x0A, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x02, 0xA5, 0x5C, 0x55, + /* 0018 */ 0x41, 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x1E) + { + /* 0000 */ 0x8E, 0x19, 0x00, 0x01, 0x8C, 0x03, 0x00, 0x3D, + /* 0008 */ 0x00, 0x01, 0x0A, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x02, 0xA5, 0x5C, 0x55, + /* 0018 */ 0x41, 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x1E) + { + /* 0000 */ 0x8E, 0x19, 0x00, 0x01, 0x8C, 0x03, 0x00, 0x4D, + /* 0008 */ 0x00, 0x01, 0x0A, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x77, 0x33, 0x88, 0x44, 0x02, 0xA5, 0x5C, 0x55, + /* 0018 */ 0x41, 0x52, 0x54, 0x00, 0x79, 0x00 + }, + Buffer (0x1E) + { + /* 0000 */ 0x8E, 0x19, 0x00, 0x01, 0x00, 0x03, 0x02, 0x34, + /* 0008 */ 0x00, 0x01, 0x0A, 0x00, 0xCC, 0xDD, 0xEE, 0xFF, + /* 0010 */ 0x00, 0x33, 0x00, 0x44, 0x00, 0xA5, 0x5C, 0x55, + /* 0018 */ 0x41, 0x52, 0x54, 0x00, 0x79, 0x00 + } +}) + +Method(RT25) +{ + Name(ts, "RT25") + + // Emit test header, set the filename + + THDR (ts, "UartSerialBus Resource Descriptor Macro", __FILE__) + + // The main test packages must have the same number of entries + + If (LNotEqual (SizeOf (p45A), SizeOf (p45B))) + { + err (ts, 182, 0, 0, 0, 0, "Incorrect package length") + Return () + } + + // Main test case for packages above + + m330(ts, SizeOf (p45A), "p45A", p45A, p45B) + + // Check resource descriptor tag offsets + + Store ( + ResourceTemplate () { + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsTwo, + 0xA5, BigEndian, ParityTypeEven, FlowControlNone, + 0x3300, 0x4400, "\\UART", + 0xEE, ResourceProducer, UAR0, + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + UartSerialBus (0xFFEEDDCC, DataBitsEight, StopBitsTwo, + 0xA5, BigEndian, ParityTypeEven, FlowControlNone, + 0x3300, 0x4400, "\\UART", + 0xEE, ResourceConsumer, UAR1, + RawDataBuffer (0x07) {0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6}) + }, Local0) + + m331(ts, 1, UAR0._FLC, 0x38, UAR1._FLC, 0x150, "_FLC") + m331(ts, 2, UAR0._STB, 0x3A, UAR1._STB, 0x152, "_STB") + m331(ts, 3, UAR0._LEN, 0x3C, UAR1._LEN, 0x154, "_LEN") + m331(ts, 4, UAR0._END, 0x3F, UAR1._END, 0x157, "_END") + m331(ts, 5, UAR0._SPE, 0x60, UAR1._SPE, 0x178, "_SPE") + m331(ts, 6, UAR0._RXL, 0x80, UAR1._RXL, 0x198, "_RXL") + m331(ts, 7, UAR0._TXL, 0x90, UAR1._TXL, 0x1A8, "_TXL") + m331(ts, 8, UAR0._PAR, 0xA0, UAR1._PAR, 0x1B8, "_PAR") + m331(ts, 9, UAR0._LIN, 0xA8, UAR1._LIN, 0x1C0, "_LIN") + m331(ts, 10, UAR0._VEN, 0xB0, UAR1._VEN, 0x1C8, "_VEN") +} + + 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 0000000..b80137b --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/vendorlong.asl @@ -0,0 +1,170 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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") + + // Emit test header, set the filename + + THDR (ts, "Long Vendor Resource Descriptor Macro", __FILE__) + + // Main test case for packages above + + 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 0000000..5a16d97 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/vendorshort.asl @@ -0,0 +1,95 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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") + + // Emit test header, set the filename + + THDR (ts, "Short Vendor Resource Descriptor Macro", __FILE__) + + // Main test case for packages above + + 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 0000000..c724edc --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/wordbusnumber.asl @@ -0,0 +1,358 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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") + + // Emit test header, set the filename + + THDR (ts, "WordBusNumber Resource Descriptor Macro", __FILE__) + + // Main test case for packages above + + m330(ts, 25, "p428", p428, p429) + + // Check resource descriptor tag offsets + + 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, 0x30, WBN1._GRA, 0xB0, "_GRA") + m331(ts, 8, WBN0._MIN, 0x40, WBN1._MIN, 0xC0, "_MIN") + m331(ts, 9, WBN0._MAX, 0x50, WBN1._MAX, 0xD0, "_MAX") + m331(ts, 10, WBN0._TRA, 0x60, WBN1._TRA, 0xE0, "_TRA") + m331(ts, 11, WBN0._LEN, 0x70, WBN1._LEN, 0xF0, "_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 0000000..5de42c5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/wordio.asl @@ -0,0 +1,488 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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") + + // Emit test header, set the filename + + THDR (ts, "WordIO Resource Descriptor Macro", __FILE__) + + // Main test case for packages above + + m330(ts, 37, "p420", p420, p421) + + // Check resource descriptor tag offsets + + 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, 0x30, WIO1._GRA, 0xB0, "_GRA") + m331(ts, 8, WIO0._MIN, 0x40, WIO1._MIN, 0xC0, "_MIN") + m331(ts, 9, WIO0._MAX, 0x50, WIO1._MAX, 0xD0, "_MAX") + m331(ts, 10, WIO0._TRA, 0x60, WIO1._TRA, 0xE0, "_TRA") + m331(ts, 11, WIO0._LEN, 0x70, WIO1._LEN, 0xF0, "_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 0000000..da61f09 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/descriptor/wordspace.asl @@ -0,0 +1,377 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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") + + // Emit test header, set the filename + + THDR (ts, "WordSpace Resource Descriptor Macro", __FILE__) + + // Main test case for packages above + + m330(ts, 27, "p430", p430, p431) + + // Check resource descriptor tag offsets + + 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, 0x30, WSP1._GRA, 0xB0, "_GRA") + m331(ts, 8, WSP0._MIN, 0x40, WSP1._MIN, 0xC0, "_MIN") + m331(ts, 9, WSP0._MAX, 0x50, WSP1._MAX, 0xD0, "_MAX") + m331(ts, 10, WSP0._TRA, 0x60, WSP1._TRA, 0xE0, "_TRA") + m331(ts, 11, WSP0._LEN, 0x70, WSP1._LEN, 0xF0, "_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 0000000..e1e06df --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/local/DECL.asl @@ -0,0 +1,30 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..54c6014 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/local/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..a5966fd --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/local/RUN.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..d50497c --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/local/local.asl @@ -0,0 +1,149 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..2b71a27 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/logic/DECL.asl @@ -0,0 +1,30 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..f7bab1c --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/logic/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..52d7553 --- /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 0000000..8e786cc --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/logic/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..88f63b0 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/logic/logical.asl @@ -0,0 +1,928 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + Store(0, Local5) + Store(arg1, Local3) + + While(Local3) { + + // Operand + + Store(DeRefOf(Index(arg3, Local5)), Local0) + + // Expected result + + Store(DeRefOf(Index(arg4, Local5)), Local1) + + switch (ToInteger (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 0000000..cd5f28e --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/manipulation/DECL.asl @@ -0,0 +1,45 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..373f314 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/manipulation/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..77561c6 --- /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 0000000..4cd60bb --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/manipulation/RUN.asl @@ -0,0 +1,64 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..42e1451 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/manipulation/concatenate.asl @@ -0,0 +1,362 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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, Serialized) +{ + 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 (ToInteger (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 0000000..57d61e3 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/manipulation/eisaid.asl @@ -0,0 +1,73 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..cf1abf2 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/manipulation/match1.asl @@ -0,0 +1,959 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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, Serialized) // SPkg, Op1, MO1, Op2, MO2, SInd +{ + switch (ToInteger (arg1)) { + case (0) { + switch (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 (ToInteger (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 0000000..67689d5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/manipulation/match2.asl @@ -0,0 +1,444 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..296b968 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/manipulation/mid.asl @@ -0,0 +1,292 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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, Serialized) +{ + 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 (ToInteger (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 0000000..beaaf84 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/manipulation/objecttype.asl @@ -0,0 +1,1041 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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, Serialized) +{ + OperationRegion(r000, SystemMemory, 0x100, 0x100) + OperationRegion(r001, SystemMemory, 0x100, 0x100) + + if (arg1) { + Store(0, Local7) + } + + switch (ToInteger (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, 0, Serialized) +{ + Name(ts, "m0f0") + + Store("TEST: m0f0, ObjectType", Debug) + + Store(0, Local5) + Store(35, Local4) + + While(Local4) { + + Store(0, Local2) + + switch (ToInteger (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 0000000..d38f9ca --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/manipulation/sizeof.asl @@ -0,0 +1,80 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..407189b --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/manipulation/store.asl @@ -0,0 +1,511 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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, Serialized) +{ + Store(0, Local5) + Store(arg1, Local3) + + While(Local3) { + + // Operand + + Store(DeRefOf(Index(arg3, Local5)), Local0) + + // Expected result + + Store(DeRefOf(Index(arg4, Local5)), Local1) + + switch (ToInteger (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 0000000..e04dcc6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/manipulation/tobuffer.asl @@ -0,0 +1,260 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..3584e88 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/manipulation/todecimalstring.asl @@ -0,0 +1,208 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..b102856 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/manipulation/tofrombcd.asl @@ -0,0 +1,131 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..780d87e --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/manipulation/tohexstring.asl @@ -0,0 +1,197 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..adf46d5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/manipulation/tointeger.asl @@ -0,0 +1,420 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..8e9dac7 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/manipulation/tostring.asl @@ -0,0 +1,314 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..d180903 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/manipulation/touuid.asl @@ -0,0 +1,59 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..e15ab7f --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/manipulation/unicode.asl @@ -0,0 +1,101 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..80ac856 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/name/DECL.asl @@ -0,0 +1,35 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..167ee54 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/name/MAIN.asl @@ -0,0 +1,57 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..eaf0f5d --- /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 0000000..d73d904 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/name/RUN.asl @@ -0,0 +1,45 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..3cb2276 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/name/function.asl @@ -0,0 +1,562 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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}, + }) + + // Operation Region + OperationRegion(OPR0, SystemMemory, 0, 48) + + // 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) + + // 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 0000000..08cec6d --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/name/method.asl @@ -0,0 +1,1090 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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(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}, + }) + + // Operation Region + OperationRegion(OPR0, SystemMemory, 0, 48) + + // 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) + + // 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, 0) + 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) + { + 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 0000000..e1fb0c9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/name/name.asl @@ -0,0 +1,60 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..3828e3a --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/name/package.asl @@ -0,0 +1,1378 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 +// +// ,, +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 +// +// ,, +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 +// +// ,, +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) +// +// ,, +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 0000000..965ca4e --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/reference/DECL.asl @@ -0,0 +1,41 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..c096a31 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/reference/MAIN.asl @@ -0,0 +1,65 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..b086b34 --- /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 0000000..b692d93 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/reference/RUN.asl @@ -0,0 +1,44 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..c9e9f29 --- /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 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 0000000..6c813ba --- /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 0000000..9b75dd6 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/reference/ref00.asl @@ -0,0 +1,508 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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. +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 0000000..4a6ad35 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/reference/ref01.asl @@ -0,0 +1,6648 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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(RefOf (e9Z0), e900) + + m1aa(c080, mx90, c009, c08a, 0x14b) + CopyObject(RefOf (mx91), mx90) + + m1aa(c080, d900, c009, c08a, 0x14c) + CopyObject(RefOf (d9Z0), d900) + + if (y508) { + m1aa(c080, tz90, c009, c08a, 0x14d) + CopyObject(RefOf (tz91), tz90) + } + + m1aa(c080, pr90, c009, c08a, 0x14e) + CopyObject(RefOf (pr91), pr90) + + if (y510) { + m1aa(c080, r900, c009, c08a, 0x14f) + CopyObject(RefOf (r9Z0), r900) + } + + m1aa(c080, pw90, c009, c08a, 0x150) + CopyObject(RefOf (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 0000000..4f49b34 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/reference/ref02.asl @@ -0,0 +1,1870 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..0449d8a --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/reference/ref03.asl @@ -0,0 +1,1870 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..7845690 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/reference/ref04.asl @@ -0,0 +1,3554 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..e4c4c4d --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/reference/ref05.asl @@ -0,0 +1,3155 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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) + + // These objects become an integer in a package + + CopyObject(Index(p912, 0, Local0), Local1) + m1a3(Local0, c009, z108, ts, 927) + m1a3(Local1, c009, z108, ts, 928) + + CopyObject(Index(p913, 0, Local0), Local1) + m1a3(Local0, c009, z108, ts, 929) + m1a3(Local1, c009, z108, ts, 930) + + CopyObject(Index(p914, 0, Local0), Local1) + m1a3(Local0, c009, z108, ts, 931) + m1a3(Local1, c009, z108, ts, 932) + + CopyObject(Index(p915, 0, Local0), Local1) + m1a3(Local0, c009, z108, ts, 933) + m1a3(Local1, c009, 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) + + // These objects become an integer in a package + + Store(Index(p912, 0, Local0), Local1) + m1a3(Local0, c009, z108, ts, 1033) + m1a3(Local1, c009, z108, ts, 1034) + + Store(Index(p913, 0, Local0), Local1) + m1a3(Local0, c009, z108, ts, 1035) + m1a3(Local1, c009, z108, ts, 1036) + + Store(Index(p914, 0, Local0), Local1) + m1a3(Local0, c009, z108, ts, 1037) + m1a3(Local1, c009, z108, ts, 1038) + + Store(Index(p915, 0, Local0), Local1) + m1a3(Local0, c009, z108, ts, 1039) + m1a3(Local1, c009, 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 0000000..79ac1ed --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/reference/ref06.asl @@ -0,0 +1,735 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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, Serialized) +{ + 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, Serialized) +{ +/* + // ################################## 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(RefOf(d900), Local0) + m1a3(Local0, c00e, z110, ts, 5) + } + Case (6) { + CopyObject(RefOf(e900), Local0) + m1a3(Local0, c00f, z110, ts, 6) + } + Case (7) { + if (rn06) { + CopyObject(RefOf(m901), Local0) + } else { + CopyObject(RefOf(m901), Local0) + } + m1a3(Local0, c010, z110, ts, 7) + } + Case (8) { + CopyObject(RefOf(mx90), Local0) + m1a3(Local0, c011, z110, ts, 8) + } + Case (9) { + if (y510) { + CopyObject(RefOf(r900), Local0) + m1a3(Local0, c012, z110, ts, 9) + } + } + Case (10) { + CopyObject(RefOf(pw90), Local0) + m1a3(Local0, c013, z110, ts, 10) + } + Case (11) { + CopyObject(RefOf(pr90), Local0) + m1a3(Local0, c014, z110, ts, 11) + } + Case (12) { + if (y508) { + CopyObject(RefOf(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, c009, z110, ts, 70) + m1a3(Local1, c009, z110, ts, 71) + } + Case (60) { + CopyObject(Index(p913, 0, Local0), Local1) + m1a3(Local0, c009, z110, ts, 72) + m1a3(Local1, c009, z110, ts, 73) + } + Case (61) { + CopyObject(Index(p914, 0, Local0), Local1) + m1a3(Local0, c009, z110, ts, 74) + m1a3(Local1, c009, z110, ts, 75) + } + Case (62) { + CopyObject(Index(p915, 0, Local0), Local1) + m1a3(Local0, c009, z110, ts, 76) + m1a3(Local1, c009, 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, c009, z110, ts, 122) + m1a3(Local1, c009, z110, ts, 123) + } + Case (86) { + Store(Index(p913, 0, Local0), Local1) + m1a3(Local0, c009, z110, ts, 124) + m1a3(Local1, c009, z110, ts, 125) + } + Case (87) { + Store(Index(p914, 0, Local0), Local1) + m1a3(Local0, c009, z110, ts, 126) + m1a3(Local1, c009, z110, ts, 127) + } + Case (88) { + Store(Index(p915, 0, Local0), Local1) + m1a3(Local0, c009, z110, ts, 128) + m1a3(Local1, c009, 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 0000000..223d50d --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/reference/ref07.asl @@ -0,0 +1,1457 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..80d3191 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/reference/ref50.asl @@ -0,0 +1,5578 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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) + } + Store(0x2b, bf90) + + CopyObject(0x9999992b, bf90) + if (LNotEqual(bf90, 0x9999992b)) { + err(ts, z111, 3, 0, 0, bf90, 0x9999992b) + } + } + + 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, 0x9999992b)) { + err(ts, z111, 3, 0, 0, bf90, 0x9999992b) + } + } + + 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. + /* + * There are some statements try to pass a value of an integer to a LocalX via reference, + * But they all use the wrong expression, so they are removed from here. + */ + + // 11. + + // 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 0000000..f88ad2b --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/reference/ref70.asl @@ -0,0 +1,919 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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, Serialized) +{ + 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 (ToInteger (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, Serialized) +{ + CH03("m167", z081, 0x206, 56, 56) + Switch (ToInteger (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, Serialized) +{ + 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 (ToInteger (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 (ToInteger (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 0000000..68e230b --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/reference/ref71.asl @@ -0,0 +1,155 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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) + if (LNot(SLCK)) + { + 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) + if (LNot(SLCK)){ + CH04(ts, 0, 0xff, z109, 8, 0, 0) + } + + CH03(ts, z109, 9, 0, 0) + Store(e900, Local0) + if (LNot(SLCK)){ + 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. + * MS compiler allow this situation, iASL compiler just allows this + * for compatibility, iASL assume this is compiled to a method + * invacation. + */ + 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) + if (LNot(SLCK)){ + CH04(ts, 0, 0xff, z109, 14, 0, 0) + } + + CH03(ts, z109, 15, 0, 0) + Store(r900, Local0) + if (LNot(SLCK)){ + CH04(ts, 0, 0xff, z109, 16, 0, 0) + } + + CH03(ts, z109, 17, 0, 0) + Store(pw90, Local0) + if (LNot(SLCK)){ + CH04(ts, 0, 0xff, z109, 18, 0, 0) + } + + CH03(ts, z109, 19, 0, 0) + Store(pr90, Local0) + if (LNot(SLCK)){ + CH04(ts, 0, 0xff, z109, 20, 0, 0) + } + + CH03(ts, z109, 21, 0, 0) + Store(tz90, Local0) + if (LNot(SLCK)) + { + 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 0000000..c20a77c --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/region/DECL.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..7c18112 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/region/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..af1008e --- /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 0000000..df0102a --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/region/RUN.asl @@ -0,0 +1,37 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..548c275 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/region/bankfield.asl @@ -0,0 +1,11674 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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) + +// +// Full support for bank fields not implemented in acpiexec, so +// we have to perform write/reads in order. Otherwise, we would +// interleave them. + + // Write bf00 + + Store(0xff, bnk0) + m7bf(arg0, bnk0, 0xff, 1) + + Store(0x67, bf00) + m7bf(arg0, bnk0, 2, 2) + + // Read bf00 + + Store(0xff, bnk0) + m7bf(arg0, bnk0, 0xff, 5) + + Store(bf00, Local1) + m7bf(arg0, Local1, 0x67, 6) + m7bf(arg0, bnk0, 2, 7) + + // Write bf01 + + Store(0xff, bnk0) + m7bf(arg0, bnk0, 0xff, 3) + + Store(0x89, bf01) + m7bf(arg0, bnk0, 3, 4) + + // 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, Serialized) +{ + 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(ToInteger (arg2)) { + case (0) { + switch(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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, Serialized) +{ + 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, DwordAcc, NoLock, Preserve) { + g00e, 2048, + } + + + Concatenate(arg0, "-m7d1", arg0) + + switch(ToInteger (arg2)) { + case (0) { + switch(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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, Serialized) +{ + 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(ToInteger (arg2)) { + case (0) { + switch(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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) { + + // November 2011: Changed to DWordAcc from ByteAcc to enable + // correct operation ("Expected" buffer assumes DWordAcc) + + Store(255, Local2) + BankField(OPR0, BNK0, 255, DWordAcc, 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) { + + // November 2011: Changed to DWordAcc from WordAcc to enable + // correct operation ("Expected" buffer assumes DWordAcc) + + Store(1, Local2) + BankField(OPR0, BNK0, 1, DWordAcc, 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(ToInteger (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(ToInteger (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, 59, 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, Serialized) +{ + 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(ToInteger (arg2)) { + case (0) { + switch(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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, Serialized) +{ + 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(ToInteger (arg2)) { + case (0) { + switch(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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, 32, + } + + // + // BUG: ToInteger should not be necessary. The buffer and string + // arguments should be implicitly converted to integers. + // + BankField (OPRj, bnk0, ToInteger (valb), ByteAcc, NoLock, Preserve) { + Offset(8), bf01, 32, + } + + BankField (OPRj, bnk0, ToInteger (vals), ByteAcc, NoLock, Preserve) { + Offset(8), bf02, 32, + } + + Name(i000, 0x12345678) + + Method(m000, 3) + { + Store(1, Local0) + + BankField (OPRj, bnk0, arg1, ByteAcc, NoLock, Preserve) { + Offset(8), bf03, 32, + } + + 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) + } + + // + // BUG: ToInteger should not be necessary. The buffer and string + // arguments should be implicitly converted to integers. + // + m000(arg0, val0, 118) + m000(arg0, ToInteger (valb), 119) + m000(arg0, ToInteger (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 0000000..503c537 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/region/dtregions.asl @@ -0,0 +1,394 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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", "", "") + + /* This SSDT must be identical to SSDT1 in the AcpiExec utility */ + + Name(SSDT, Buffer(0x3E){ + 0x53,0x53,0x44,0x54,0x3E,0x00,0x00,0x00, /* 00000000 "SSDT>..." */ + 0x02,0x08,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */ + 0x73,0x73,0x64,0x74,0x31,0x00,0x00,0x00, /* 00000010 "ssdt1..." */ + 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ + 0x20,0x06,0x12,0x20,0x14,0x19,0x5F,0x54, /* 00000020 " .. .._T" */ + 0x39,0x38,0x01,0x70,0x0D,0x53,0x53,0x44, /* 00000028 "98.p.SSD" */ + 0x54,0x31,0x20,0x2D,0x20,0x5F,0x54,0x39, /* 00000030 "T1 - _T9" */ + 0x38,0x00,0x5B,0x31,0xA4,0x00 /* 00000038 "8.[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 + // \DTR0._REG(RegionSpaceKeyword, Flag) + OperationRegion(JUNK, SystemMemory, 0x2000, 0x100) + Method(_REG, 2) + { + Name(dbgf, 1) + + if (dbgf) { + DNAM (Arg0, Arg1, "\\DTR0._REG") + } + + /* + * 0x7E is the SpaceID for DataTableRegions (subject to change + * with new releases of ACPI specification -- because this + * ID is an internal-ACPICA-only ID) + */ + if (LEqual(arg0, 0x7E)) { + 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 0x7E (DataTableRegion) + 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) + OperationRegion(JUNK, SystemMemory, 0x2000, 0x100) + Method(_REG, 2) + { + Name(dbgf, 1) + + if (dbgf) { + DNAM (Arg0, Arg1, "\\m7f1._REG") + } + + // DataTableRegion is SpaceID 0x7E + if (LEqual(arg0, 0x7E)) { + 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, 0x1F0} /* 0x1F0 == length of SSDT */ + 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, 0x1F0} /* 0x1F0 == length of SSDT */ + + 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, 0x1F0} /* 0x1F0 == length of SSDT */ + + 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, 0x1F0} /* 0x1F0 == length of SSDT */ + + 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, 0x1F0} /* 0x1F0 == length of SSDT */ + + 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, 0x1F0} /* 0x1F0 == length of SSDT */ + + 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, 32} + + Store(ToString(FU00, 4), 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) + /* no RSDT in simulator */ + //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") + m7f1(ts) + + // 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 0000000..fbbeea4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/region/indexfield.asl @@ -0,0 +1,10454 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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, 8, + dta0, 8, + } + + IndexField(idx0, dta0, ByteAcc, NoLock, Preserve) { + Offset (0x1A), + reg0, 8, + Offset (0x5B), + reg1, 8, + Offset (0x9C), + reg2, 8, + Offset (0xED), + reg3, 8, + } + + Name(i000, 0x1122) + + Concatenate(arg0, "-m770", arg0) + + Store("TEST: m770, initial IndexFields check", Debug) + + // Check object types + + 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) + } + + // Check actual writes to the IndexField(s). + // Uses fk32 overlay to check what exactly was written to the + // Index/Data register pair. + + Store(i000, fk32) + Store(0xF1, reg0) + + Store(fk32, Local0) + Store(0xF11A, Local1) + if (LNotEqual(Local1, Local0)) { + err(arg0, z144, 5, 0, 0, Local0, Local1) + } + + Store(i000, fk32) + Store(0xD2, reg1) + + Store(fk32, Local0) + Store(0xD25B, Local1) + if (LNotEqual(Local1, Local0)) { + err(arg0, z144, 6, 0, 0, Local0, Local1) + } + + Store(i000, fk32) + Store(0x93, reg2) + + Store(fk32, Local0) + Store(0x939C, Local1) + if (LNotEqual(Local1, Local0)) { + err(arg0, z144, 7, 0, 0, Local0, Local1) + } + + Store(i000, fk32) + Store(0x54, reg3) + + Store(fk32, Local0) + Store(0x54ED, 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 then immediately read + + // 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) + } + +/* + * November 2011: + * This code does not make sense. It fills the region overlay and then + * reads the IndexField, and expects the resulting data to match the + * compare value (BenchMark). Commented out. + */ +/* + // 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, Serialized) +{ + 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) + +BreakPoint + + + switch(ToInteger (arg2)) { + case (0) { + switch(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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, Serialized) +{ + 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(ToInteger (arg2)) { + case (0) { + switch(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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, Serialized) +{ + 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(ToInteger (arg2)) { + case (0) { + switch(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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, Serialized) +{ + 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(ToInteger (arg2)) { + case (0) { + switch(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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, Serialized) +{ + 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) + +BreakPoint + + switch(ToInteger (arg2)) { + case (0) { + switch(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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(ToInteger (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") + m771(ts) + + // Access to 1-bit IndexFields, WordAcc + SRMT("m772") + m772(ts) + + // Access to 1-bit IndexFields, DWordAcc + SRMT("m773") + m773(ts) + + // Access to 1-bit IndexFields, QWordAcc + SRMT("m774") + if (y215) { + m774(ts) + } else { + BLCK() + } + + // Splitting of IndexFields + SRMT("m775") + m775(ts) + + // 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 0000000..a108c0b --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/region/opregions.asl @@ -0,0 +1,1066 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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, 11) // 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 */, + 0x07 /* IPMI */, + 0x08 /* GeneralPurposeIo */, + 0x09 /* GenericSerialBus */ +}) + +// 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, 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: +/* +static ACPI_ADR_SPACE_TYPE SpaceIdList[] = +{ + ACPI_ADR_SPACE_EC, + ACPI_ADR_SPACE_SMBUS, + ACPI_ADR_SPACE_GSBUS, + ACPI_ADR_SPACE_GPIO, + ACPI_ADR_SPACE_PCI_BAR_TARGET, + ACPI_ADR_SPACE_IPMI, + ACPI_ADR_SPACE_FIXED_HARDWARE, + ACPI_ADR_SPACE_USER_DEFINED1, + ACPI_ADR_SPACE_USER_DEFINED2 +}; +*/ + +Name(ERSK, + // 2 for \RGN0, \OPRK; 3 for \RGN0, \OPRI, and \OPRJ + Package(NRSK){1, 2, 3, 1, 1, 1, 0, 0, 0, 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 | +// IPMI | GeneralPurposeIo | GenericSerialBus +// Flag: 1/0 - turn on/off accessing operation regions of that Space +Method(_REG, 2) +{ + Name(dbgf, 1) + + if (dbgf) { + DNAM (Arg0, Arg1, "\\_REG") + } + + 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, 0x0000, 0x101) +OperationRegion(RGN1, SystemIO, 0x0200, 0x103) +OperationRegion(RGN2, PCI_Config, 0x0400, 0x105) +OperationRegion(RGN3, EmbeddedControl, 0x0600, 0x107) +OperationRegion(RGN4, SMBus, 0x0800, 0x109) +OperationRegion(RGN5, SystemCMOS, 0x0a00, 0x10b) +OperationRegion(RGN6, PciBarTarget, 0x0c00, 0x10d) + +// UserDefRegionSpace + +OperationRegion(RGN7, 0x80, 0x0d00, 0x117) +OperationRegion(RGN8, 0xcf, 0x0e00, 0x118) +OperationRegion(RGN9, 0xff, 0x0f00, 0x119) + +// ACPI 4/5 new space IDs +OperationRegion(RGNa, GeneralPurposeIo, 0x1100, 0x11a) + +// NOTE: These spaces have special buffer protocols, can't be tested here +//OperationRegion(RGNb, IPMI, 0x1000, 528) +//OperationRegion(RGNc, GenericSerialBus, 0x1200, 272) + + +// OpRegion Lengths checking task package: Name, SpaceID, Length +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, + RGNa, 0x08, 0x11a, +}) + +// Region Space keyword strings +Name(NNAM, 10) +Name(RNAM, Package(NNAM){ + /* 0x00 */ "SystemMemory", + /* 0x01 */ "SystemIO", + /* 0x02 */ "PCI_Config", + /* 0x03 */ "EmbeddedControl", + /* 0x04 */ "SMBus", + /* 0x05 */ "SystemCMOS", + /* 0x06 */ "PciBarTarget", + /* 0x07 */ "IPMI", + /* 0x08 */ "GeneralPurposeIo", + /* 0x09 */ "GenericSerialBus" +}) + +/* + * Display _REG method info + */ + +// Arg0: SpaceID +// Arg1: Enable/Disable flag +// Arg2: _REG method name +Method (DNAM, 3) +{ + Concatenate ("Executing _REG method: ", Arg2, Local1) + Concatenate (Local1, " (", Local1) + + if (LGreaterEqual (Arg0, NNAM)) { + if (LEqual (Arg0, 0x7E)) { + Concatenate (Local1, "Data Table", Local2) + } + else { + Concatenate (Local1, "User-defined or unknown SpaceId", Local2) + } + } + else { + Concatenate (Local1, DeRefOf (Index (RNAM, Arg0)), Local2) + } + + Concatenate (Local2, ")", Local2) + Store (Local2, Debug) + Store(arg0, Debug) + Store(arg1, Debug) +} + +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, 0, 0, 0}) + Name(ERSK, // Expected Counters of the Valid RSKs + Package(NRSK){1, 1, 1, 1, 1, 1, 0, 0, 0, 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) { + DNAM (Arg0, Arg1, "\\DOR0._REG") + } + + 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) + + // ACPI 4/5 new space IDs + + OperationRegion(RGNa, IPMI, 0x1e00, 0x10e) + OperationRegion(RGNb, GeneralPurposeIo, 0x2000, 0x10f) + OperationRegion(RGNc, GenericSerialBus, 0x2200, 0x110) +} + +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, 0, 0, 0}) + Name(ERSK, // Expected Counters of the Valid RSKs + Package(NRSK){1, 1, 1, 1, 1, 1, 0, 0, 0, 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) + OperationRegion(JUNK, SystemMemory, 0x2000, 0x100) + Method(_REG, 2) + { + Name(dbgf, 1) + + if (dbgf) { + DNAM (Arg0, Arg1, "\\DOR1._REG") + } + + Increment(IREG) + } + + Method(M000) { + // Dynamic Operation Regions availability notification Method + // \DOR1.M000._REG(RegionSpaceKeyword, Flag) + Method(_REG, 2) + { + Name(dbgf, 1) + + if (dbgf) { + DNAM (Arg0, Arg1, "\\m701._REG") + } + + 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) + + // ACPI 4/5 new space IDs + + OperationRegion(RGNa, IPMI, 0x2e00, 0xf00) + OperationRegion(RGNb, GeneralPurposeIo, 0x3000, 0x1100) + OperationRegion(RGNc, GenericSerialBus, 0x3200, 0x1300) + + // 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, Serialized) +{ + Store(Sizeof(arg1), Local0) + + while(Local0) { + Decrement(Local0) + + switch (ToInteger (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, Serialized) +{ + Concatenate(arg0, "-m70e", arg0) + + Store(NRSK, Local0) + + while (Local0) { + Decrement(Local0) + Store(Index(arg2, Local0), Local1) + Store(Refof(Local1), Local2) + + switch(ToInteger (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, Serialized) +{ + Name(i000, 0x56) + Name(i001, 0x78) + Name(i002, 0x89abcdef) + + // ArgX + Method(m000, 4, Serialized) { + switch(ToInteger (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, Serialized) { + switch(ToInteger (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, Serialized) { + Store(i000, Local0) + Store(i001, Local1) + + switch(ToInteger (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, Serialized) { + Store(i001, Local1) + + switch(ToInteger (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-Integer 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 0000000..6bf1b82 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/region/regionfield.asl @@ -0,0 +1,24970 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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: +// - : 0 - none, 1 - IndexField, 2 - BankField, +// - , +// - +Name(fcp0, Package(3) {0}) + +// Testing parameters Packages +// Layout of 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 for SMBus +// m71f(CallChain) +// CallChain: String +Method(m71f, 1) +{ + Concatenate(arg0, "-m71f", arg0) + + Store("TEST: m71f, Check SMBus Region Fields (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, 4, 0, 0, OB10, 0x00) + } + if (LNotEqual(LEN0, 0x00)) { + err(arg0, z143, 8, 0, 0, LEN0, 0x00) + } + if (LNotEqual(DAT0, 0x00)) { + err(arg0, z143, 12, 0, 0, DAT0, 0x00) + } + + if (LNotEqual(OB11, 0x7A)) { + err(arg0, z143, 16, 0, 0, OB11, 0x7A) + } + if (LNotEqual(LEN1, 0x00)) { + err(arg0, z143, 20, 0, 0, LEN1, 0x00) + } + if (LNotEqual(DAT1, 0x00)) { + err(arg0, z143, 24, 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, 28, 0, 0, OB10, 0x7A) + } + if (LNotEqual(LEN0, 0x01)) { + err(arg0, z143, 32, 0, 0, LEN0, 0x01) + } + if (LNotEqual(DAT0, 0xA0)) { + err(arg0, z143, 36, 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, 40, 0, 0, OB10, 0x00) + } + if (LNotEqual(LEN0, 0x00)) { + err(arg0, z143, 44, 0, 0, LEN0, 0x00) + } + if (LNotEqual(DAT0, 0x16)) { + err(arg0, z143, 48, 0, 0, DAT0, 0x16) + } + + if (LNotEqual(OB11, 0x7A)) { + err(arg0, z143, 52, 0, 0, OB11, 0x7A) + } + if (LNotEqual(LEN1, 0x00)) { + err(arg0, z143, 56, 0, 0, LEN1, 0x00) + } + if (LNotEqual(DAT1, 0x16)) { + err(arg0, z143, 60, 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, 64, 0, 0, OB10, 0x7A) + } + if (LNotEqual(LEN0, 0x01)) { + err(arg0, z143, 68, 0, 0, LEN0, 0x01) + } + if (LNotEqual(DAT0, 0xA0)) { + err(arg0, z143, 72, 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, 76, 0, 0, OB10, 0x00) + } + if (LNotEqual(LEN0, 0x00)) { + err(arg0, z143, 80, 0, 0, LEN0, 0x00) + } + if (LNotEqual(DAT0, 0x16)) { + err(arg0, z143, 84, 0, 0, DAT0, 0x16) + } + + if (LNotEqual(OB11, 0x7A)) { + err(arg0, z143, 88, 0, 0, OB11, 0x7A) + } + if (LNotEqual(LEN1, 0x00)) { + err(arg0, z143, 92, 0, 0, LEN1, 0x00) + } + if (LNotEqual(DAT1, 0x16)) { + err(arg0, z143, 96, 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, 100, 0, 0, OB10, 0x7A) + } + if (LNotEqual(LEN0, 0x01)) { + err(arg0, z143, 104, 0, 0, LEN0, 0x01) + } + if (LNotEqual(DAT0, 0xA0)) { + err(arg0, z143, 108, 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, 112, 0, 0, OB10, 0x00) + } + if (LNotEqual(LEN0, 0x00)) { + err(arg0, z143, 116, 0, 0, LEN0, 0x00) + } + if (LNotEqual(DAT0, 0x5416)) { + err(arg0, z143, 120, 0, 0, DAT0, 0x16) + } + + if (LNotEqual(OB11, 0x7A)) { + err(arg0, z143, 124, 0, 0, OB11, 0x7A) + } + if (LNotEqual(LEN1, 0x00)) { + err(arg0, z143, 128, 0, 0, LEN1, 0x00) + } + if (LNotEqual(DAT1, 0x5416)) { + err(arg0, z143, 132, 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, 136, 0, 0, OB10, 0x7A) + } + if (LNotEqual(LEN0, 0x02)) { + err(arg0, z143, 140, 0, 0, LEN0, 0x02) + } + if (LNotEqual(DAT0, 0xA1A0)) { + err(arg0, z143, 144, 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, 148, 0, 0, OB10, 0x00) + } + if (LNotEqual(LEN0, 0x04)) { + err(arg0, z143, 152, 0, 0, LEN0, 0x04) + } + Store(Buffer(0x20){"TEST"}, Local0) + if (LNotEqual(DAT0, Local0)) { + err(arg0, z143, 156, 0, 0, DAT0, Local0) + } + + if (LNotEqual(OB11, 0x7A)) { + err(arg0, z143, 160, 0, 0, OB11, 0x7A) + } + if (LNotEqual(LEN1, 0x00)) { + err(arg0, z143, 164, 0, 0, LEN1, 0x00) + } + if (LNotEqual(DAT1, Local0)) { + err(arg0, z143, 168, 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, 172, 0, 0, OB10, 0x7A) + } + if (LNotEqual(LEN0, 0x20)) { + err(arg0, z143, 176, 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, 180, 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, 184, 0, 0, OB10, 0x00) + } + if (LNotEqual(LEN0, 0x00)) { + err(arg0, z143, 188, 0, 0, LEN0, 0x00) + } + if (LNotEqual(DAT0, 0x5416)) { + err(arg0, z143, 192, 0, 0, DAT0, 0x16) + } + + if (LNotEqual(OB11, 0x7A)) { + err(arg0, z143, 196, 0, 0, OB11, 0x7A) + } + if (LNotEqual(LEN1, 0x02)) { + err(arg0, z143, 200, 0, 0, LEN1, 0x02) + } + if (LNotEqual(DAT1, 0xA1A0)) { + err(arg0, z143, 204, 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, 208, 0, 0, OB10, 0x00) + } + if (LNotEqual(LEN0, 0x04)) { + err(arg0, z143, 212, 0, 0, LEN0, 0x04) + } + Store(Buffer(0x20){"TEST"}, Local0) + if (LNotEqual(DAT0, Local0)) { + err(arg0, z143, 216, 0, 0, DAT0, Local0) + } + + if (LNotEqual(OB11, 0x7A)) { + err(arg0, z143, 220, 0, 0, OB11, 0x7A) + } + if (LNotEqual(LEN1, 0x20)) { + err(arg0, z143, 224, 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, 228, 0, 0, DAT1, Local1) + } +} + +//**** GenericSerialBus (ACPI 5.0) - similar to SMBUS **************************** + +Device (\GSB1) {} + +// Check BufferAcc access for GenericSerialBus +// m740(CallChain) +// CallChain: String +Method(m740, 1) +{ + Concatenate(arg0, "-m740", arg0) + + Store("TEST: m740, Check GenericSerialBus Region Fields (BufferAcc access)", Debug) + + /* + * Examples from Acpi Spec (Using the GenericSerialBus Protocols) + */ + + // Read/Write Quick (AttribQuick) + m758(arg0) + + // Send/Receive Byte (AttribSendReceive) + m759(arg0) + + // Read/Write Byte (AttribByte) + m75a(arg0) + + // Read/Write Word (AttribWord) + m75b(arg0) + + // Read/Write Block (AttribBlock) + m75c(arg0) + + // Word Process Call (AttribProcessCall) + m75d(arg0) + + // Block Process Call (AttribBlockProcessCall) + m75e(arg0) + + // Next 3 types are used for GenericSerialBus only + + // Read/Write N Bytes (AttribBytes) + m75f(arg0) + + // Raw Read/Write N Bytes (AttribRawBytes) + m760(Arg0) + + // Raw Process Call (AttribRawProcessBytes) + m761(Arg0) +} + +// Read/Write Quick (AttribQuick) +// m758(CallChain) +// CallChain: String +Method(m758, 1) +{ + Concatenate(arg0, "-m758", arg0) + + OperationRegion(GSBD, GenericSerialBus, 0x4400, 0x100) + + Field(GSBD, BufferAcc, NoLock, Preserve) { + AccessAs(BufferAcc, AttribQuick), // Use the GenericSerialBus Read/Write Quick protocol + + // A Connection is required + Connection ( + I2cSerialBus (0x1234, DeviceInitiated, 0x88775544, + AddressingMode10Bit, "\\GPI1", 0xEE, + ResourceConsumer)), + + FLD0, 8} // Virtual register at command value 0. + + /* Create the GenericSerialBus data buffer */ + Name(BUFF, Buffer(34){}) // Create GenericSerialBus data buffer as BUFF + Name(BUFR, Buffer(34){}) // Create GenericSerialBus 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, 232, 0, 0, OB10, 0x00) + } + if (LNotEqual(LEN0, 0x00)) { + err(arg0, z143, 236, 0, 0, LEN0, 0x00) + } + if (LNotEqual(DAT0, 0x00)) { + err(arg0, z143, 240, 0, 0, DAT0, 0x00) + } + + if (LNotEqual(OB11, 0x7A)) { + err(arg0, z143, 244, 0, 0, OB11, 0x7A) + } + if (LNotEqual(LEN1, 0x00)) { + err(arg0, z143, 248, 0, 0, LEN1, 0x00) + } + if (LNotEqual(DAT1, 0x00)) { + err(arg0, z143, 252, 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, 256, 0, 0, OB10, 0x7A) + } + if (LNotEqual(LEN0, 0x01)) { + err(arg0, z143, 260, 0, 0, LEN0, 0x01) + } + if (LNotEqual(DAT0, 0xA0)) { + err(arg0, z143, 264, 0, 0, DAT0, 0xA0) + } +} + +// Read/Write Quick (AttribQuick) +// m759(CallChain) +// CallChain: String +Method(m759, 1) +{ + Concatenate(arg0, "-m759", arg0) + + OperationRegion(GSBD, GenericSerialBus, 0x5400, 0x100) + + Field(GSBD, BufferAcc, NoLock, Preserve) { + AccessAs(BufferAcc, AttribSendReceive), // Use the GenericSerialBus Send/Receive Byte protocol + + // A Connection is required + Connection ( + I2cSerialBus (0x1234, DeviceInitiated, 0x88775544, + AddressingMode10Bit, "\\GPI1", 0xEE, + ResourceConsumer)), + + FLD0, 8} // Virtual register at command value 0. + + /* Create the GenericSerialBus data buffer */ + Name(BUFF, Buffer(34){}) // Create GenericSerialBus data buffer as BUFF + Name(BUFR, Buffer(34){}) // Create GenericSerialBus 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, 268, 0, 0, OB10, 0x00) + } + if (LNotEqual(LEN0, 0x00)) { + err(arg0, z143, 272, 0, 0, LEN0, 0x00) + } + if (LNotEqual(DAT0, 0x16)) { + err(arg0, z143, 276, 0, 0, DAT0, 0x16) + } + + if (LNotEqual(OB11, 0x7A)) { + err(arg0, z143, 280, 0, 0, OB11, 0x7A) + } + if (LNotEqual(LEN1, 0x00)) { + err(arg0, z143, 284, 0, 0, LEN1, 0x00) + } + if (LNotEqual(DAT1, 0x16)) { + err(arg0, z143, 288, 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, 292, 0, 0, OB10, 0x7A) + } + if (LNotEqual(LEN0, 0x01)) { + err(arg0, z143, 296, 0, 0, LEN0, 0x01) + } + if (LNotEqual(DAT0, 0xA0)) { + err(arg0, z143, 300, 0, 0, DAT0, 0xA0) + } +} + +// Read/Write Byte (AttribByte) +// m75a(CallChain) +// CallChain: String +Method(m75a, 1) +{ + Concatenate(arg0, "-m75a", arg0) + + OperationRegion(GSBD, GenericSerialBus, 0x6400, 0x100) + + Field(GSBD, BufferAcc, NoLock, Preserve) { + AccessAs(BufferAcc, AttribByte),// Use the GenericSerialBus Read/Write Byte protocol + + // A Connection is required + Connection ( + I2cSerialBus (0x1234, DeviceInitiated, 0x88775544, + AddressingMode10Bit, "\\GPI1", 0xEE, + ResourceConsumer)), + + 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 GenericSerialBus data buffer */ + Name(BUFF, Buffer(34){}) // Create GenericSerialBus data buffer as BUFF + Name(BUFR, Buffer(34){}) // Create GenericSerialBus 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, 304, 0, 0, OB10, 0x00) + } + if (LNotEqual(LEN0, 0x00)) { + err(arg0, z143, 308, 0, 0, LEN0, 0x00) + } + if (LNotEqual(DAT0, 0x16)) { + err(arg0, z143, 312, 0, 0, DAT0, 0x16) + } + + if (LNotEqual(OB11, 0x7A)) { + err(arg0, z143, 316, 0, 0, OB11, 0x7A) + } + if (LNotEqual(LEN1, 0x00)) { + err(arg0, z143, 320, 0, 0, LEN1, 0x00) + } + if (LNotEqual(DAT1, 0x16)) { + err(arg0, z143, 324, 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, 328, 0, 0, OB10, 0x7A) + } + if (LNotEqual(LEN0, 0x01)) { + err(arg0, z143, 332, 0, 0, LEN0, 0x01) + } + if (LNotEqual(DAT0, 0xA0)) { + err(arg0, z143, 336, 0, 0, DAT0, 0xA0) + } +} + +// Read/Write Word (AttribWord) +// m75b(CallChain) +// CallChain: String +Method(m75b, 1) +{ + Concatenate(arg0, "-m75b", arg0) + + OperationRegion(GSBD, GenericSerialBus, 0x7400, 0x100) + + Field(GSBD, BufferAcc, NoLock, Preserve) { + AccessAs(BufferAcc, AttribWord),// Use the GenericSerialBus Read/Write Word protocol + + // A Connection is required + Connection ( + I2cSerialBus (0x1234, DeviceInitiated, 0x88775544, + AddressingMode10Bit, "\\GPI1", 0xEE, + ResourceConsumer)), + + 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 GenericSerialBus data buffer */ + Name(BUFF, Buffer(34){}) // Create GenericSerialBus data buffer as BUFF + Name(BUFR, Buffer(34){}) // Create GenericSerialBus 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, 340, 0, 0, OB10, 0x00) + } + if (LNotEqual(LEN0, 0x00)) { + err(arg0, z143, 344, 0, 0, LEN0, 0x00) + } + if (LNotEqual(DAT0, 0x5416)) { + err(arg0, z143, 348, 0, 0, DAT0, 0x16) + } + + if (LNotEqual(OB11, 0x7A)) { + err(arg0, z143, 352, 0, 0, OB11, 0x7A) + } + if (LNotEqual(LEN1, 0x00)) { + err(arg0, z143, 356, 0, 0, LEN1, 0x00) + } + if (LNotEqual(DAT1, 0x5416)) { + err(arg0, z143, 360, 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, 364, 0, 0, OB10, 0x7A) + } + if (LNotEqual(LEN0, 0x02)) { + err(arg0, z143, 368, 0, 0, LEN0, 0x02) + } + if (LNotEqual(DAT0, 0xA1A0)) { + err(arg0, z143, 372, 0, 0, DAT0, 0xA1A0) + } +} + +// Read/Write Block (AttribBlock) +// m75c(CallChain) +// CallChain: String +Method(m75c, 1) +{ + Concatenate(arg0, "-m75c", arg0) + + OperationRegion(GSBD, GenericSerialBus, 0x8400, 0x100) + + Field(GSBD, BufferAcc, NoLock, Preserve) { + AccessAs(BufferAcc, AttribBlock), // Use the GenericSerialBus Read/Write Block protocol + + // A Connection is required + Connection ( + I2cSerialBus (0x1234, DeviceInitiated, 0x88775544, + AddressingMode10Bit, "\\GPI1", 0xEE, + ResourceConsumer)), + + 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 GenericSerialBus data buffer */ + Name(BUFF, Buffer(34){}) // Create GenericSerialBus data buffer as BUFF + Name(BUFR, Buffer(34){}) // Create GenericSerialBus 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, 376, 0, 0, OB10, 0x00) + } + if (LNotEqual(LEN0, 0x04)) { + err(arg0, z143, 380, 0, 0, LEN0, 0x04) + } + Store(Buffer(0x20){"TEST"}, Local0) + if (LNotEqual(DAT0, Local0)) { + err(arg0, z143, 384, 0, 0, DAT0, Local0) + } + + if (LNotEqual(OB11, 0x7A)) { + err(arg0, z143, 388, 0, 0, OB11, 0x7A) + } + if (LNotEqual(LEN1, 0x00)) { + err(arg0, z143, 392, 0, 0, LEN1, 0x00) + } + if (LNotEqual(DAT1, Local0)) { + err(arg0, z143, 396, 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, 400, 0, 0, OB10, 0x7A) + } + if (LNotEqual(LEN0, 0x20)) { + err(arg0, z143, 404, 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, 408, 0, 0, DAT0, Local1) + } +} + +// Word Process Call (AttribProcessCall) +// m75d(CallChain) +// CallChain: String +Method(m75d, 1) +{ + Concatenate(arg0, "-m75d", arg0) + + OperationRegion(GSBD, GenericSerialBus, 0x9400, 0x100) + + Field(GSBD, BufferAcc, NoLock, Preserve) { + AccessAs(BufferAcc, AttribProcessCall), // Use the GenericSerialBus Process Call protocol + + // A Connection is required + Connection ( + I2cSerialBus (0x1234, DeviceInitiated, 0x88775544, + AddressingMode10Bit, "\\GPI1", 0xEE, + ResourceConsumer)), + + 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 GenericSerialBus data buffer */ + Name(BUFF, Buffer(34){}) // Create GenericSerialBus data buffer as BUFF + Name(BUFR, Buffer(34){}) // Create GenericSerialBus 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, 412, 0, 0, OB10, 0x00) + } + if (LNotEqual(LEN0, 0x00)) { + err(arg0, z143, 416, 0, 0, LEN0, 0x00) + } + if (LNotEqual(DAT0, 0x5416)) { + err(arg0, z143, 420, 0, 0, DAT0, 0x16) + } + + if (LNotEqual(OB11, 0x7A)) { + err(arg0, z143, 424, 0, 0, OB11, 0x7A) + } + if (LNotEqual(LEN1, 0x02)) { + err(arg0, z143, 428, 0, 0, LEN1, 0x02) + } + if (LNotEqual(DAT1, 0xA1A0)) { + err(arg0, z143, 432, 0, 0, DAT1, 0xA1A0) + } +} + +// Block Process Call (AttribBlockProcessCall) +// m75e(CallChain) +// CallChain: String +Method(m75e, 1) +{ + Concatenate(arg0, "-m75e", arg0) + + OperationRegion(GSBD, GenericSerialBus, 0xa400, 0x100) + + Field(GSBD, BufferAcc, NoLock, Preserve) { + AccessAs(BufferAcc, AttribBlockProcessCall),// Use the Block Process Call protocol + + // A Connection is required + Connection ( + I2cSerialBus (0x1234, DeviceInitiated, 0x88775544, + AddressingMode10Bit, "\\GPI1", 0xEE, + ResourceConsumer)), + + FLD0, 8, // Virtual register at command value 0. + FLD1, 8} // Virtual register at command value 1. + + /* Create the GenericSerialBus data buffer */ + Name(BUFF, Buffer(34){}) // Create GenericSerialBus data buffer as BUFF + Name(BUFR, Buffer(34){}) // Create GenericSerialBus 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, 436, 0, 0, OB10, 0x00) + } + if (LNotEqual(LEN0, 0x04)) { + err(arg0, z143, 440, 0, 0, LEN0, 0x04) + } + Store(Buffer(0x20){"TEST"}, Local0) + if (LNotEqual(DAT0, Local0)) { + err(arg0, z143, 444, 0, 0, DAT0, Local0) + } + + if (LNotEqual(OB11, 0x7A)) { + err(arg0, z143, 448, 0, 0, OB11, 0x7A) + } + if (LNotEqual(LEN1, 0x20)) { + err(arg0, z143, 452, 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, 456, 0, 0, DAT1, Local1) + } +} + +// Read/Write N Bytes (AttribBytes) +// m75f(CallChain) +// CallChain: String +Method(m75f, 1) +{ + Concatenate(arg0, "-m75f", arg0) + + OperationRegion(GSBD, GenericSerialBus, 0xB400, 0x100) + + Field(GSBD, BufferAcc, NoLock, Preserve) { + AccessAs (BufferAcc, AttribBytes (34)), + + // A Connection is required + Connection ( + I2cSerialBus (0x1234, DeviceInitiated, 0x88775544, + AddressingMode10Bit, "\\GPI1", 0xEE, + ResourceConsumer)), + + FLD0, 8, // Virtual register at command value 0. + FLD1, 8} // Virtual register at command value 1. + + /* Create the GenericSerialBus data buffer */ + Name(BUFF, Buffer(34){}) // Create GenericSerialBus data buffer as BUFF + Name(BUFR, Buffer(34){}) // Create GenericSerialBus 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, 460, 0, 0, OB10, 0x00) + } + if (LNotEqual(LEN0, 0x04)) { + err(arg0, z143, 464, 0, 0, LEN0, 0x04) + } + Store(Buffer(0x20){"TEST"}, Local0) + if (LNotEqual(DAT0, Local0)) { + err(arg0, z143, 468, 0, 0, DAT0, Local0) + } + + if (LNotEqual(OB11, 0x7A)) { + err(arg0, z143, 472, 0, 0, OB11, 0x7A) + } + if (LNotEqual(LEN1, 0x20)) { + err(arg0, z143, 476, 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, 480, 0, 0, DAT1, Local1) + } +} + +// Raw Read/Write N Bytes (AttribRawBytes) +// m760(CallChain) +// CallChain: String +Method(m760, 1) +{ + Concatenate(arg0, "-m760", arg0) + + OperationRegion(GSBD, GenericSerialBus, 0xB400, 0x100) + + Field(GSBD, BufferAcc, NoLock, Preserve) { + AccessAs (BufferAcc, AttribRawBytes (34)), + + // A Connection is required + Connection ( + I2cSerialBus (0x1234, DeviceInitiated, 0x88775544, + AddressingMode10Bit, "\\GPI1", 0xEE, + ResourceConsumer)), + + FLD0, 8, // Virtual register at command value 0. + FLD1, 8} // Virtual register at command value 1. + + /* Create the GenericSerialBus data buffer */ + Name(BUFF, Buffer(34){}) // Create GenericSerialBus data buffer as BUFF + Name(BUFR, Buffer(34){}) // Create GenericSerialBus 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, 484, 0, 0, OB10, 0x00) + } + if (LNotEqual(LEN0, 0x04)) { + err(arg0, z143, 488, 0, 0, LEN0, 0x04) + } + Store(Buffer(0x20){"TEST"}, Local0) + if (LNotEqual(DAT0, Local0)) { + err(arg0, z143, 492, 0, 0, DAT0, Local0) + } + + if (LNotEqual(OB11, 0x7A)) { + err(arg0, z143, 496, 0, 0, OB11, 0x7A) + } + if (LNotEqual(LEN1, 0x20)) { + err(arg0, z143, 500, 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, 504, 0, 0, DAT1, Local1) + } +} + +// Raw Process Call (AttribRawProcessBytes) +// m761(CallChain) +// CallChain: String +Method(m761, 1) +{ + Concatenate(arg0, "-m761", arg0) + + OperationRegion(GSBD, GenericSerialBus, 0xB400, 0x100) + + Field(GSBD, BufferAcc, NoLock, Preserve) { + AccessAs (BufferAcc, AttribRawProcessBytes (34)), + + // A Connection is required + Connection ( + I2cSerialBus (0x1234, DeviceInitiated, 0x88775544, + AddressingMode10Bit, "\\GPI1", 0xEE, + ResourceConsumer)), + + FLD0, 8, // Virtual register at command value 0. + FLD1, 8} // Virtual register at command value 1. + + /* Create the GenericSerialBus data buffer */ + Name(BUFF, Buffer(34){}) // Create GenericSerialBus data buffer as BUFF + Name(BUFR, Buffer(34){}) // Create GenericSerialBus 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, 508, 0, 0, OB10, 0x00) + } + if (LNotEqual(LEN0, 0x04)) { + err(arg0, z143, 512, 0, 0, LEN0, 0x04) + } + Store(Buffer(0x20){"TEST"}, Local0) + if (LNotEqual(DAT0, Local0)) { + err(arg0, z143, 516, 0, 0, DAT0, Local0) + } + + if (LNotEqual(OB11, 0x7A)) { + err(arg0, z143, 520, 0, 0, OB11, 0x7A) + } + if (LNotEqual(LEN1, 0x20)) { + err(arg0, z143, 524, 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, 528, 0, 0, DAT1, Local1) + } +} + + +//**** GeneralPurposeIo (ACPI 5.0) ************************************** + +// +// Test the use of Connection() operator and simple ByteAcc +// +Method(m764, 1) +{ + Concatenate(arg0, "-m764", arg0) + + Store("TEST: m764, Check GeneralPurposeIo Region Fields (ByteAcc access)", Debug) + + //...Other required stuff for this device + Name (GMOD, ResourceTemplate () //An existing GPIO Connection (to be used later) + { + //2 Outputs that define the Power mode of the device + GpioIo (Exclusive, PullDown, , , , "\\_SB.GPI2") {10, 12} + }) + + // Offset is ignored (From ACPI spec) + + OperationRegion (GPO2, GeneralPurposeIO, 0, 64) + Method(_REG,2) {} + Name(_DEP, Package() {\_SB}) + + // Update rule must be Preserve + + Field(GPO2, ByteAcc, NoLock, Preserve) + { + Connection (GMOD), // Reuse an existing connection (defined above) + MODE, 2, // Power Mode + + Connection (GpioIo (Exclusive, PullUp, , , , "\\_SB.GPI2") {7}), + STAT, 1, // e.g. Status signal from the device + + Connection (GpioIo (Exclusive, PullUp, , , , "\\_SB.GPI2") {9}), + RSET, 1, // e.g. Reset signal to the device + + Offset (32), + BUFF, 128 + } + + Store(0x03, MODE) //Set both MODE bits. Power Mode 3 + Store (MODE, Local0) + if (LNotEqual(Local0, 0x03)) { + err(arg0, z143, 532, 0, 0, Local0, 0x03) + } + + Store(0x01, MODE) + Store (MODE, Local0) + if (LNotEqual(Local0, 0x01)) { + err(arg0, z143, 536, 0, 0, Local0, 0x01) + } + + Store(0x01, STAT) + Store (STAT, Local0) + if (LNotEqual(Local0, 0x01)) { + err(arg0, z143, 540, 0, 0, Local0, 0x01) + } + + Name (TBUF, Buffer(0x10) { + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, + 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF}) + + Store(TBUF, BUFF) + Store (BUFF, Local0) + if (LNotEqual(Local0, TBUF)) { + err(arg0, z143, 544, 0, 0, Local0, TBUF) + } +} + + +//**** IPMI (ACPI 4.0) - bidirectional buffer **************************** + +Method(m768, 1) +{ + Concatenate(arg0, "-m768", arg0) + + Store("TEST: m768, Check IPMI Region Fields (BufferAcc access)", Debug) + + OperationRegion(POWR, IPMI, 0x3000, 0x100) // Power network function + Field(POWR, BufferAcc, NoLock, Preserve) + { + Offset(0xC1), // Skip to command value 0xC1 + SPWL, 8, // Set power limit [command value 0xC1] + GPWL, 8, // Get power limit [command value 0xC2] + Offset(0xC8), // Skip to command value 0xC8 + GPMM, 8 // Get power meter measurement [command value 0xC8] + } + + /* Create the IPMI data buffer - ALWAYS 66 bytes */ + + Name(BUFF, Buffer(66){}) // Create IPMI data buffer as BUFF + + CreateByteField(BUFF, 0x00, STAT) // STAT = Status (Byte) + CreateByteField(BUFF, 0x01, LENG) // LENG = Length (Byte) + CreateByteField(BUFF, 0x02, MODE) // MODE = Mode (Byte) + CreateByteField(BUFF, 0x03, RESV) // RESV = Reserved (Byte) + + Store(0x2, LENG) // Request message is 2 bytes long + Store(0x1, MODE) // Set Mode to 1 + + Store(Store(BUFF, GPMM), BUFF) // Write the request into the GPMM command, + // then read the results + CreateByteField(BUFF, 0x02, CMPC) // CMPC = Completion code (Byte) + CreateWordField(BUFF, 0x03, RSVD) // Reserved + + /* Buffer expected back from ACPIEXEC utility */ + + Store (Buffer(66) {0, 0x40, 0, 0, + 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}, Local1) + + If (LNotEqual (STAT, 0)) + { + err(arg0, z143, 548, 0, 0, STAT, 0) + } + If (LNotEqual (CMPC, 0)) + { + err(arg0, z143, 552, 0, 0, CMPC, 0) + } + If (LNotEqual (BUFF, Local1)) + { + err(arg0, z143, 556, 0, 0, Local1, BUFF) + } +} + + +// 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, 560, z143, Local3, Local4, Local0) + } + Store(Derefof(Index(arg2, 1)), Local4) + if(LNotEqual(Local4, Local1)) { + err(arg0, z143, 564, z143, Local3, Local4, Local1) + } + Store(Derefof(Index(arg2, 2)), Local4) + if(LNotEqual(Local4, Local2)) { + err(arg0, z143, 568, z143, Local3, Local4, Local2) + } + + // 1-2 + Store(Derefof(Index(arg2, 3)), Local4) + if(LNotEqual(Local4, Local0)) { + err(arg0, z143, 572, z143, Local3, Local4, Local0) + } + Store(Derefof(Index(arg2, 4)), Local4) + Or(Local1, ShiftLeft(Local2, 1), Local5) + if(LNotEqual(Local4, Local5)) { + err(arg0, z143, 576, 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, 580, z143, Local3, Local4, Local5) + } + Store(Derefof(Index(arg2, 6)), Local4) + if(LNotEqual(Local4, Local2)) { + err(arg0, z143, 584, 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) + } +} + +// , +// , +// , +// , +// : +// +// +// +// 0 - AnyAcc, 1 - ByteAcc, 2 - WordAcc, +// 3 - DWordAcc, 4 - QWordAcc, 5 - BufferAcc +// +// 0 - Preserve, 1 - WriteAsOnes, 2 - WriteAsZeros +// +// 0 - Lock, 1 - NoLock +// +// Opcodes of size: +// 0 - Integer +// <=256 - Buffer +// >256 - String (size-256) +Method(m72e, 6, Serialized) +{ + 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, 588, 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 (ToString (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, 592, 0, 0, Local4, Local5) + return (Ones) + } + } + + return (Zero) +} + +// Create Region Field Unit +// (ByteAcc, NoLock, Preserve) +// +// , +// , +// , +// , +// +// Opcodes of size: +// 0 - Integer +// <=256 - Buffer +// >256 - String (size-256) +// +Method(m730, 6, Serialized) +{ + OperationRegion(OPR0, SystemMemory, 0, RS00) + + Field(OPR0, ByteAcc, NoLock, Preserve) { + g001, 2048, + } + + Concatenate(arg0, "-m730", arg0) + + switch(ToInteger (arg2)) { + case (0) { + switch(ToInteger (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, 596, 0, 0, arg2, arg3) + return + } + } + } + case (1) { + switch(ToInteger (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, 600, 0, 0, arg2, arg3) + return + } + } + } + case (2) { + switch(ToInteger (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, 604, 0, 0, arg2, arg3) + return + } + } + } + case (3) { + switch(ToInteger (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, 608, 0, 0, arg2, arg3) + return + } + } + } + case (4) { + switch(ToInteger (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, 612, 0, 0, arg2, arg3) + return + } + } + } + case (5) { + switch(ToInteger (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, 616, 0, 0, arg2, arg3) + return + } + } + } + case (6) { + switch(ToInteger (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, 620, 0, 0, arg2, arg3) + return + } + } + } + case (7) { + switch(ToInteger (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, 624, 0, 0, arg2, arg3) + return + } + } + } + case (8) { + switch(ToInteger (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, 628, 0, 0, arg2, arg3) + return + } + } + } + case (9) { + switch(ToInteger (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, 632, 0, 0, arg2, arg3) + return + } + } + } + case (31) { + switch(ToInteger (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, 636, 0, 0, arg2, arg3) + return + } + } + } + case (32) { + switch(ToInteger (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, 640, 0, 0, arg2, arg3) + return + } + } + } + case (33) { + switch(ToInteger (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, 644, 0, 0, arg2, arg3) + return + } + } + } + case (63) { + switch(ToInteger (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, 648, 0, 0, arg2, arg3) + return + } + } + } + case (64) { + switch(ToInteger (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, 652, 0, 0, arg2, arg3) + return + } + } + } + case (65) { + switch(ToInteger (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, 656, 0, 0, arg2, arg3) + return + } + } + } + default { + err(arg0, z143, 660, 0, 0, arg2, arg3) + return} + } + + m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001)) +} + +// Create Region Field Unit +// (ByteAcc, NoLock, WriteAsOnes) +Method(m731, 6, Serialized) +{ + OperationRegion(OPR0, SystemMemory, 0, RS00) + + Field(OPR0, ByteAcc, NoLock, Preserve) { + g001, 2048, + } + + Concatenate(arg0, "-m731", arg0) + + switch(ToInteger (arg2)) { + case (0) { + switch(ToInteger (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, 664, 0, 0, arg2, arg3) + return + } + } + } + case (1) { + switch(ToInteger (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, 668, 0, 0, arg2, arg3) + return + } + } + } + case (2) { + switch(ToInteger (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, 672, 0, 0, arg2, arg3) + return + } + } + } + case (3) { + switch(ToInteger (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, 676, 0, 0, arg2, arg3) + return + } + } + } + case (4) { + switch(ToInteger (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, 680, 0, 0, arg2, arg3) + return + } + } + } + case (5) { + switch(ToInteger (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, 684, 0, 0, arg2, arg3) + return + } + } + } + case (6) { + switch(ToInteger (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, 688, 0, 0, arg2, arg3) + return + } + } + } + case (7) { + switch(ToInteger (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, 692, 0, 0, arg2, arg3) + return + } + } + } + case (8) { + switch(ToInteger (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, 696, 0, 0, arg2, arg3) + return + } + } + } + case (9) { + switch(ToInteger (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, 700, 0, 0, arg2, arg3) + return + } + } + } + case (31) { + switch(ToInteger (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, 704, 0, 0, arg2, arg3) + return + } + } + } + case (32) { + switch(ToInteger (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, 708, 0, 0, arg2, arg3) + return + } + } + } + case (33) { + switch(ToInteger (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, 712, 0, 0, arg2, arg3) + return + } + } + } + case (63) { + switch(ToInteger (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, 716, 0, 0, arg2, arg3) + return + } + } + } + case (64) { + switch(ToInteger (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, 720, 0, 0, arg2, arg3) + return + } + } + } + case (65) { + switch(ToInteger (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, 724, 0, 0, arg2, arg3) + return + } + } + } + default { + err(arg0, z143, 728, 0, 0, arg2, arg3) + return} + } + + m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001)) +} + +// Create Region Field Unit +// (ByteAcc, NoLock, WriteAsZeros) +Method(m732, 6, Serialized) +{ + OperationRegion(OPR0, SystemMemory, 0, RS00) + + Field(OPR0, ByteAcc, NoLock, Preserve) { + g001, 2048, + } + + Concatenate(arg0, "-m732", arg0) + + switch(ToInteger (arg2)) { + case (0) { + switch(ToInteger (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, 732, 0, 0, arg2, arg3) + return + } + } + } + case (1) { + switch(ToInteger (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, 736, 0, 0, arg2, arg3) + return + } + } + } + case (2) { + switch(ToInteger (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, 740, 0, 0, arg2, arg3) + return + } + } + } + case (3) { + switch(ToInteger (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, 744, 0, 0, arg2, arg3) + return + } + } + } + case (4) { + switch(ToInteger (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, 748, 0, 0, arg2, arg3) + return + } + } + } + case (5) { + switch(ToInteger (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, 752, 0, 0, arg2, arg3) + return + } + } + } + case (6) { + switch(ToInteger (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, 756, 0, 0, arg2, arg3) + return + } + } + } + case (7) { + switch(ToInteger (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, 760, 0, 0, arg2, arg3) + return + } + } + } + case (8) { + switch(ToInteger (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, 764, 0, 0, arg2, arg3) + return + } + } + } + case (9) { + switch(ToInteger (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, 768, 0, 0, arg2, arg3) + return + } + } + } + case (31) { + switch(ToInteger (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, 772, 0, 0, arg2, arg3) + return + } + } + } + case (32) { + switch(ToInteger (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, 776, 0, 0, arg2, arg3) + return + } + } + } + case (33) { + switch(ToInteger (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, 780, 0, 0, arg2, arg3) + return + } + } + } + case (63) { + switch(ToInteger (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, 784, 0, 0, arg2, arg3) + return + } + } + } + case (64) { + switch(ToInteger (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, 788, 0, 0, arg2, arg3) + return + } + } + } + case (65) { + switch(ToInteger (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, 792, 0, 0, arg2, arg3) + return + } + } + } + default { + err(arg0, z143, 796, 0, 0, arg2, arg3) + return} + } + + m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001)) +} + +// Create Region Field Unit +// (WordAcc, NoLock, Preserve) +Method(m733, 6, Serialized) +{ + OperationRegion(OPR0, SystemMemory, 0, RS00) + + Field(OPR0, ByteAcc, NoLock, Preserve) { + g001, 2048, + } + + Concatenate(arg0, "-m733", arg0) + + switch(ToInteger (arg2)) { + case (0) { + switch(ToInteger (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, 800, 0, 0, arg2, arg3) + return + } + } + } + case (1) { + switch(ToInteger (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, 804, 0, 0, arg2, arg3) + return + } + } + } + case (2) { + switch(ToInteger (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, 808, 0, 0, arg2, arg3) + return + } + } + } + case (3) { + switch(ToInteger (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, 812, 0, 0, arg2, arg3) + return + } + } + } + case (4) { + switch(ToInteger (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, 816, 0, 0, arg2, arg3) + return + } + } + } + case (5) { + switch(ToInteger (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, 820, 0, 0, arg2, arg3) + return + } + } + } + case (6) { + switch(ToInteger (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, 824, 0, 0, arg2, arg3) + return + } + } + } + case (7) { + switch(ToInteger (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, 828, 0, 0, arg2, arg3) + return + } + } + } + case (8) { + switch(ToInteger (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, 832, 0, 0, arg2, arg3) + return + } + } + } + case (9) { + switch(ToInteger (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, 836, 0, 0, arg2, arg3) + return + } + } + } + case (31) { + switch(ToInteger (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, 840, 0, 0, arg2, arg3) + return + } + } + } + case (32) { + switch(ToInteger (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, 844, 0, 0, arg2, arg3) + return + } + } + } + case (33) { + switch(ToInteger (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, 848, 0, 0, arg2, arg3) + return + } + } + } + case (63) { + switch(ToInteger (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, 852, 0, 0, arg2, arg3) + return + } + } + } + case (64) { + switch(ToInteger (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, 856, 0, 0, arg2, arg3) + return + } + } + } + case (65) { + switch(ToInteger (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, 860, 0, 0, arg2, arg3) + return + } + } + } + default { + err(arg0, z143, 864, 0, 0, arg2, arg3) + return} + } + + m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001)) +} + +// Create Region Field Unit +// (WordAcc, NoLock, WriteAsOnes) +Method(m734, 6, Serialized) +{ + OperationRegion(OPR0, SystemMemory, 0, RS00) + + Field(OPR0, ByteAcc, NoLock, Preserve) { + g001, 2048, + } + + Concatenate(arg0, "-m734", arg0) + + switch(ToInteger (arg2)) { + case (0) { + switch(ToInteger (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, 868, 0, 0, arg2, arg3) + return + } + } + } + case (1) { + switch(ToInteger (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, 872, 0, 0, arg2, arg3) + return + } + } + } + case (2) { + switch(ToInteger (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, 876, 0, 0, arg2, arg3) + return + } + } + } + case (3) { + switch(ToInteger (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, 880, 0, 0, arg2, arg3) + return + } + } + } + case (4) { + switch(ToInteger (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, 884, 0, 0, arg2, arg3) + return + } + } + } + case (5) { + switch(ToInteger (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, 888, 0, 0, arg2, arg3) + return + } + } + } + case (6) { + switch(ToInteger (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, 892, 0, 0, arg2, arg3) + return + } + } + } + case (7) { + switch(ToInteger (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, 896, 0, 0, arg2, arg3) + return + } + } + } + case (8) { + switch(ToInteger (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, 900, 0, 0, arg2, arg3) + return + } + } + } + case (9) { + switch(ToInteger (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, 904, 0, 0, arg2, arg3) + return + } + } + } + case (31) { + switch(ToInteger (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, 908, 0, 0, arg2, arg3) + return + } + } + } + case (32) { + switch(ToInteger (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, 912, 0, 0, arg2, arg3) + return + } + } + } + case (33) { + switch(ToInteger (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, 916, 0, 0, arg2, arg3) + return + } + } + } + case (63) { + switch(ToInteger (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, 920, 0, 0, arg2, arg3) + return + } + } + } + case (64) { + switch(ToInteger (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, 924, 0, 0, arg2, arg3) + return + } + } + } + case (65) { + switch(ToInteger (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, 928, 0, 0, arg2, arg3) + return + } + } + } + default { + err(arg0, z143, 932, 0, 0, arg2, arg3) + return} + } + + m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001)) +} + +// Create Region Field Unit +// (WordAcc, NoLock, WriteAsZeros) +Method(m735, 6, Serialized) +{ + OperationRegion(OPR0, SystemMemory, 0, RS00) + + Field(OPR0, ByteAcc, NoLock, Preserve) { + g001, 2048, + } + + Concatenate(arg0, "-m735", arg0) + + switch(ToInteger (arg2)) { + case (0) { + switch(ToInteger (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, 936, 0, 0, arg2, arg3) + return + } + } + } + case (1) { + switch(ToInteger (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, 940, 0, 0, arg2, arg3) + return + } + } + } + case (2) { + switch(ToInteger (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, 944, 0, 0, arg2, arg3) + return + } + } + } + case (3) { + switch(ToInteger (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, 948, 0, 0, arg2, arg3) + return + } + } + } + case (4) { + switch(ToInteger (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, 952, 0, 0, arg2, arg3) + return + } + } + } + case (5) { + switch(ToInteger (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, 956, 0, 0, arg2, arg3) + return + } + } + } + case (6) { + switch(ToInteger (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, 960, 0, 0, arg2, arg3) + return + } + } + } + case (7) { + switch(ToInteger (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, 964, 0, 0, arg2, arg3) + return + } + } + } + case (8) { + switch(ToInteger (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, 968, 0, 0, arg2, arg3) + return + } + } + } + case (9) { + switch(ToInteger (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, 972, 0, 0, arg2, arg3) + return + } + } + } + case (31) { + switch(ToInteger (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, 976, 0, 0, arg2, arg3) + return + } + } + } + case (32) { + switch(ToInteger (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, 980, 0, 0, arg2, arg3) + return + } + } + } + case (33) { + switch(ToInteger (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, 984, 0, 0, arg2, arg3) + return + } + } + } + case (63) { + switch(ToInteger (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, 988, 0, 0, arg2, arg3) + return + } + } + } + case (64) { + switch(ToInteger (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, 992, 0, 0, arg2, arg3) + return + } + } + } + case (65) { + switch(ToInteger (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, 996, 0, 0, arg2, arg3) + return + } + } + } + default { + err(arg0, z143, 1000, 0, 0, arg2, arg3) + return} + } + + m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001)) +} + +// Create Region Field Unit +// (DWordAcc, NoLock, Preserve) +Method(m736, 6, Serialized) +{ + OperationRegion(OPR0, SystemMemory, 0, RS00) + + Field(OPR0, ByteAcc, NoLock, Preserve) { + g001, 2048, + } + + Concatenate(arg0, "-m736", arg0) + + switch(ToInteger (arg2)) { + case (0) { + switch(ToInteger (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, 1004, 0, 0, arg2, arg3) + return + } + } + } + case (1) { + switch(ToInteger (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, 1008, 0, 0, arg2, arg3) + return + } + } + } + case (2) { + switch(ToInteger (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, 1012, 0, 0, arg2, arg3) + return + } + } + } + case (3) { + switch(ToInteger (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, 1016, 0, 0, arg2, arg3) + return + } + } + } + case (4) { + switch(ToInteger (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, 1020, 0, 0, arg2, arg3) + return + } + } + } + case (5) { + switch(ToInteger (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, 1024, 0, 0, arg2, arg3) + return + } + } + } + case (6) { + switch(ToInteger (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, 1028, 0, 0, arg2, arg3) + return + } + } + } + case (7) { + switch(ToInteger (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, 1032, 0, 0, arg2, arg3) + return + } + } + } + case (8) { + switch(ToInteger (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, 1036, 0, 0, arg2, arg3) + return + } + } + } + case (9) { + switch(ToInteger (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, 1040, 0, 0, arg2, arg3) + return + } + } + } + case (31) { + switch(ToInteger (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, 1044, 0, 0, arg2, arg3) + return + } + } + } + case (32) { + switch(ToInteger (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, 1048, 0, 0, arg2, arg3) + return + } + } + } + case (33) { + switch(ToInteger (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, 1052, 0, 0, arg2, arg3) + return + } + } + } + case (63) { + switch(ToInteger (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, 1056, 0, 0, arg2, arg3) + return + } + } + } + case (64) { + switch(ToInteger (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, 1060, 0, 0, arg2, arg3) + return + } + } + } + case (65) { + switch(ToInteger (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, 1064, 0, 0, arg2, arg3) + return + } + } + } + default { + err(arg0, z143, 1068, 0, 0, arg2, arg3) + return} + } + + m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001)) +} + +// Create Region Field Unit +// (DWordAcc, NoLock, WriteAsOnes) +Method(m737, 6, Serialized) +{ + OperationRegion(OPR0, SystemMemory, 0, RS00) + + Field(OPR0, ByteAcc, NoLock, Preserve) { + g001, 2048, + } + + Concatenate(arg0, "-m737", arg0) + + switch(ToInteger (arg2)) { + case (0) { + switch(ToInteger (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, 1072, 0, 0, arg2, arg3) + return + } + } + } + case (1) { + switch(ToInteger (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, 1076, 0, 0, arg2, arg3) + return + } + } + } + case (2) { + switch(ToInteger (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, 1080, 0, 0, arg2, arg3) + return + } + } + } + case (3) { + switch(ToInteger (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, 1084, 0, 0, arg2, arg3) + return + } + } + } + case (4) { + switch(ToInteger (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, 1088, 0, 0, arg2, arg3) + return + } + } + } + case (5) { + switch(ToInteger (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, 1092, 0, 0, arg2, arg3) + return + } + } + } + case (6) { + switch(ToInteger (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, 1096, 0, 0, arg2, arg3) + return + } + } + } + case (7) { + switch(ToInteger (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, 1100, 0, 0, arg2, arg3) + return + } + } + } + case (8) { + switch(ToInteger (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, 1104, 0, 0, arg2, arg3) + return + } + } + } + case (9) { + switch(ToInteger (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, 1108, 0, 0, arg2, arg3) + return + } + } + } + case (31) { + switch(ToInteger (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, 1112, 0, 0, arg2, arg3) + return + } + } + } + case (32) { + switch(ToInteger (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, 1116, 0, 0, arg2, arg3) + return + } + } + } + case (33) { + switch(ToInteger (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, 1120, 0, 0, arg2, arg3) + return + } + } + } + case (63) { + switch(ToInteger (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, 1124, 0, 0, arg2, arg3) + return + } + } + } + case (64) { + switch(ToInteger (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, 1128, 0, 0, arg2, arg3) + return + } + } + } + case (65) { + switch(ToInteger (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, 1132, 0, 0, arg2, arg3) + return + } + } + } + default { + err(arg0, z143, 1136, 0, 0, arg2, arg3) + return} + } + + m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001)) +} + +// Create Region Field Unit +// (DWordAcc, NoLock, WriteAsZeros) +Method(m738, 6, Serialized) +{ + OperationRegion(OPR0, SystemMemory, 0, RS00) + + Field(OPR0, ByteAcc, NoLock, Preserve) { + g001, 2048, + } + + Concatenate(arg0, "-m738", arg0) + + switch(ToInteger (arg2)) { + case (0) { + switch(ToInteger (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, 1140, 0, 0, arg2, arg3) + return + } + } + } + case (1) { + switch(ToInteger (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, 1144, 0, 0, arg2, arg3) + return + } + } + } + case (2) { + switch(ToInteger (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, 1148, 0, 0, arg2, arg3) + return + } + } + } + case (3) { + switch(ToInteger (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, 1152, 0, 0, arg2, arg3) + return + } + } + } + case (4) { + switch(ToInteger (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, 1156, 0, 0, arg2, arg3) + return + } + } + } + case (5) { + switch(ToInteger (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, 1160, 0, 0, arg2, arg3) + return + } + } + } + case (6) { + switch(ToInteger (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, 1164, 0, 0, arg2, arg3) + return + } + } + } + case (7) { + switch(ToInteger (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, 1168, 0, 0, arg2, arg3) + return + } + } + } + case (8) { + switch(ToInteger (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, 1172, 0, 0, arg2, arg3) + return + } + } + } + case (9) { + switch(ToInteger (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, 1176, 0, 0, arg2, arg3) + return + } + } + } + case (31) { + switch(ToInteger (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, 1180, 0, 0, arg2, arg3) + return + } + } + } + case (32) { + switch(ToInteger (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, 1184, 0, 0, arg2, arg3) + return + } + } + } + case (33) { + switch(ToInteger (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, 1188, 0, 0, arg2, arg3) + return + } + } + } + case (63) { + switch(ToInteger (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, 1192, 0, 0, arg2, arg3) + return + } + } + } + case (64) { + switch(ToInteger (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, 1196, 0, 0, arg2, arg3) + return + } + } + } + case (65) { + switch(ToInteger (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, 1200, 0, 0, arg2, arg3) + return + } + } + } + default { + err(arg0, z143, 1204, 0, 0, arg2, arg3) + return} + } + + m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001)) +} + +// Create Region Field Unit +// (QWordAcc, NoLock, Preserve) +Method(m739, 6, Serialized) +{ + OperationRegion(OPR0, SystemMemory, 0, RS00) + + Field(OPR0, ByteAcc, NoLock, Preserve) { + g001, 2048, + } + + Concatenate(arg0, "-m739", arg0) + + switch(ToInteger (arg2)) { + case (0) { + switch(ToInteger (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, 1208, 0, 0, arg2, arg3) + return + } + } + } + case (1) { + switch(ToInteger (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, 1212, 0, 0, arg2, arg3) + return + } + } + } + case (2) { + switch(ToInteger (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, 1216, 0, 0, arg2, arg3) + return + } + } + } + case (3) { + switch(ToInteger (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, 1220, 0, 0, arg2, arg3) + return + } + } + } + case (4) { + switch(ToInteger (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, 1224, 0, 0, arg2, arg3) + return + } + } + } + case (5) { + switch(ToInteger (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, 1228, 0, 0, arg2, arg3) + return + } + } + } + case (6) { + switch(ToInteger (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, 1232, 0, 0, arg2, arg3) + return + } + } + } + case (7) { + switch(ToInteger (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, 1236, 0, 0, arg2, arg3) + return + } + } + } + case (8) { + switch(ToInteger (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, 1240, 0, 0, arg2, arg3) + return + } + } + } + case (9) { + switch(ToInteger (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, 1244, 0, 0, arg2, arg3) + return + } + } + } + case (31) { + switch(ToInteger (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, 1248, 0, 0, arg2, arg3) + return + } + } + } + case (32) { + switch(ToInteger (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, 1252, 0, 0, arg2, arg3) + return + } + } + } + case (33) { + switch(ToInteger (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, 1256, 0, 0, arg2, arg3) + return + } + } + } + case (63) { + switch(ToInteger (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, 1260, 0, 0, arg2, arg3) + return + } + } + } + case (64) { + switch(ToInteger (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, 1264, 0, 0, arg2, arg3) + return + } + } + } + case (65) { + switch(ToInteger (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, 1268, 0, 0, arg2, arg3) + return + } + } + } + default { + err(arg0, z143, 1272, 0, 0, arg2, arg3) + return} + } + + m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001)) +} + +// Create Region Field Unit +// (QWordAcc, NoLock, WriteAsOnes) +Method(m73a, 6, Serialized) +{ + OperationRegion(OPR0, SystemMemory, 0, RS00) + + Field(OPR0, ByteAcc, NoLock, Preserve) { + g001, 2048, + } + + Concatenate(arg0, "-m73a", arg0) + + switch(ToInteger (arg2)) { + case (0) { + switch(ToInteger (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, 1276, 0, 0, arg2, arg3) + return + } + } + } + case (1) { + switch(ToInteger (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, 1280, 0, 0, arg2, arg3) + return + } + } + } + case (2) { + switch(ToInteger (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, 1284, 0, 0, arg2, arg3) + return + } + } + } + case (3) { + switch(ToInteger (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, 1288, 0, 0, arg2, arg3) + return + } + } + } + case (4) { + switch(ToInteger (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, 1292, 0, 0, arg2, arg3) + return + } + } + } + case (5) { + switch(ToInteger (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, 1296, 0, 0, arg2, arg3) + return + } + } + } + case (6) { + switch(ToInteger (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, 1300, 0, 0, arg2, arg3) + return + } + } + } + case (7) { + switch(ToInteger (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, 1304, 0, 0, arg2, arg3) + return + } + } + } + case (8) { + switch(ToInteger (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, 1308, 0, 0, arg2, arg3) + return + } + } + } + case (9) { + switch(ToInteger (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, 1312, 0, 0, arg2, arg3) + return + } + } + } + case (31) { + switch(ToInteger (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, 1316, 0, 0, arg2, arg3) + return + } + } + } + case (32) { + switch(ToInteger (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, 1320, 0, 0, arg2, arg3) + return + } + } + } + case (33) { + switch(ToInteger (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, 1324, 0, 0, arg2, arg3) + return + } + } + } + case (63) { + switch(ToInteger (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, 1328, 0, 0, arg2, arg3) + return + } + } + } + case (64) { + switch(ToInteger (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, 1332, 0, 0, arg2, arg3) + return + } + } + } + case (65) { + switch(ToInteger (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, 1336, 0, 0, arg2, arg3) + return + } + } + } + default { + err(arg0, z143, 1340, 0, 0, arg2, arg3) + return} + } + + m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001)) +} + +// Create Region Field Unit +// (QWordAcc, NoLock, WriteAsZeros) +Method(m73b, 6, Serialized) +{ + OperationRegion(OPR0, SystemMemory, 0, RS00) + + Field(OPR0, ByteAcc, NoLock, Preserve) { + g001, 2048, + } + + Concatenate(arg0, "-m73b", arg0) + + switch(ToInteger (arg2)) { + case (0) { + switch(ToInteger (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, 1344, 0, 0, arg2, arg3) + return + } + } + } + case (1) { + switch(ToInteger (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, 1348, 0, 0, arg2, arg3) + return + } + } + } + case (2) { + switch(ToInteger (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, 1352, 0, 0, arg2, arg3) + return + } + } + } + case (3) { + switch(ToInteger (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, 1356, 0, 0, arg2, arg3) + return + } + } + } + case (4) { + switch(ToInteger (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, 1360, 0, 0, arg2, arg3) + return + } + } + } + case (5) { + switch(ToInteger (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, 1364, 0, 0, arg2, arg3) + return + } + } + } + case (6) { + switch(ToInteger (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, 1368, 0, 0, arg2, arg3) + return + } + } + } + case (7) { + switch(ToInteger (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, 1372, 0, 0, arg2, arg3) + return + } + } + } + case (8) { + switch(ToInteger (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, 1376, 0, 0, arg2, arg3) + return + } + } + } + case (9) { + switch(ToInteger (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, 1380, 0, 0, arg2, arg3) + return + } + } + } + case (31) { + switch(ToInteger (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, 1384, 0, 0, arg2, arg3) + return + } + } + } + case (32) { + switch(ToInteger (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, 1388, 0, 0, arg2, arg3) + return + } + } + } + case (33) { + switch(ToInteger (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, 1392, 0, 0, arg2, arg3) + return + } + } + } + case (63) { + switch(ToInteger (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, 1396, 0, 0, arg2, arg3) + return + } + } + } + case (64) { + switch(ToInteger (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, 1400, 0, 0, arg2, arg3) + return + } + } + } + case (65) { + switch(ToInteger (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, 1404, 0, 0, arg2, arg3) + return + } + } + } + default { + err(arg0, z143, 1408, 0, 0, arg2, arg3) + return} + } + + m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001)) +} + +// Create Region Field Unit +// (AnyAcc, NoLock, Preserve) +Method(m73c, 6, Serialized) +{ + OperationRegion(OPR0, SystemMemory, 0, RS00) + + Field(OPR0, ByteAcc, NoLock, Preserve) { + g001, 2048, + } + + Concatenate(arg0, "-m73c", arg0) + + switch(ToInteger (arg2)) { + case (0) { + switch(ToInteger (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, 1412, 0, 0, arg2, arg3) + return + } + } + } + case (1) { + switch(ToInteger (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, 1416, 0, 0, arg2, arg3) + return + } + } + } + case (2) { + switch(ToInteger (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, 1420, 0, 0, arg2, arg3) + return + } + } + } + case (3) { + switch(ToInteger (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, 1424, 0, 0, arg2, arg3) + return + } + } + } + case (4) { + switch(ToInteger (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, 1428, 0, 0, arg2, arg3) + return + } + } + } + case (5) { + switch(ToInteger (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, 1432, 0, 0, arg2, arg3) + return + } + } + } + case (6) { + switch(ToInteger (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, 1436, 0, 0, arg2, arg3) + return + } + } + } + case (7) { + switch(ToInteger (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, 1440, 0, 0, arg2, arg3) + return + } + } + } + case (8) { + switch(ToInteger (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, 1444, 0, 0, arg2, arg3) + return + } + } + } + case (9) { + switch(ToInteger (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, 1448, 0, 0, arg2, arg3) + return + } + } + } + case (31) { + switch(ToInteger (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, 1452, 0, 0, arg2, arg3) + return + } + } + } + case (32) { + switch(ToInteger (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, 1456, 0, 0, arg2, arg3) + return + } + } + } + case (33) { + switch(ToInteger (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, 1460, 0, 0, arg2, arg3) + return + } + } + } + case (63) { + switch(ToInteger (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, 1464, 0, 0, arg2, arg3) + return + } + } + } + case (64) { + switch(ToInteger (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, 1468, 0, 0, arg2, arg3) + return + } + } + } + case (65) { + switch(ToInteger (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, 1472, 0, 0, arg2, arg3) + return + } + } + } + default { + err(arg0, z143, 1476, 0, 0, arg2, arg3) + return} + } + + m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001)) +} + +// Create Region Field Unit +// (AnyAcc, NoLock, WriteAsOnes) +Method(m73d, 6, Serialized) +{ + OperationRegion(OPR0, SystemMemory, 0, RS00) + + Field(OPR0, ByteAcc, NoLock, Preserve) { + g001, 2048, + } + + Concatenate(arg0, "-m73d", arg0) + + switch(ToInteger (arg2)) { + case (0) { + switch(ToInteger (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, 1480, 0, 0, arg2, arg3) + return + } + } + } + case (1) { + switch(ToInteger (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, 1484, 0, 0, arg2, arg3) + return + } + } + } + case (2) { + switch(ToInteger (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, 1488, 0, 0, arg2, arg3) + return + } + } + } + case (3) { + switch(ToInteger (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, 1492, 0, 0, arg2, arg3) + return + } + } + } + case (4) { + switch(ToInteger (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, 1496, 0, 0, arg2, arg3) + return + } + } + } + case (5) { + switch(ToInteger (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, 1500, 0, 0, arg2, arg3) + return + } + } + } + case (6) { + switch(ToInteger (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, 1504, 0, 0, arg2, arg3) + return + } + } + } + case (7) { + switch(ToInteger (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, 1508, 0, 0, arg2, arg3) + return + } + } + } + case (8) { + switch(ToInteger (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, 1512, 0, 0, arg2, arg3) + return + } + } + } + case (9) { + switch(ToInteger (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, 1516, 0, 0, arg2, arg3) + return + } + } + } + case (31) { + switch(ToInteger (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, 1520, 0, 0, arg2, arg3) + return + } + } + } + case (32) { + switch(ToInteger (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, 1524, 0, 0, arg2, arg3) + return + } + } + } + case (33) { + switch(ToInteger (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, 1528, 0, 0, arg2, arg3) + return + } + } + } + case (63) { + switch(ToInteger (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, 1532, 0, 0, arg2, arg3) + return + } + } + } + case (64) { + switch(ToInteger (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, 1536, 0, 0, arg2, arg3) + return + } + } + } + case (65) { + switch(ToInteger (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, 1540, 0, 0, arg2, arg3) + return + } + } + } + default { + err(arg0, z143, 1544, 0, 0, arg2, arg3) + return} + } + + m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001)) +} + +// Create Region Field Unit +// (AnyAcc, Lock, WriteAsZeros) +Method(m73e, 6, Serialized) +{ + OperationRegion(OPR0, SystemMemory, 0, RS00) + + Field(OPR0, ByteAcc, Lock, Preserve) { + g001, 2048, + } + + Concatenate(arg0, "-m73e", arg0) + + switch(ToInteger (arg2)) { + case (0) { + switch(ToInteger (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, 1548, 0, 0, arg2, arg3) + return + } + } + } + case (1) { + switch(ToInteger (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, 1552, 0, 0, arg2, arg3) + return + } + } + } + case (2) { + switch(ToInteger (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, 1556, 0, 0, arg2, arg3) + return + } + } + } + case (3) { + switch(ToInteger (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, 1560, 0, 0, arg2, arg3) + return + } + } + } + case (4) { + switch(ToInteger (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, 1564, 0, 0, arg2, arg3) + return + } + } + } + case (5) { + switch(ToInteger (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, 1568, 0, 0, arg2, arg3) + return + } + } + } + case (6) { + switch(ToInteger (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, 1572, 0, 0, arg2, arg3) + return + } + } + } + case (7) { + switch(ToInteger (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, 1576, 0, 0, arg2, arg3) + return + } + } + } + case (8) { + switch(ToInteger (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, 1580, 0, 0, arg2, arg3) + return + } + } + } + case (9) { + switch(ToInteger (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, 1584, 0, 0, arg2, arg3) + return + } + } + } + case (31) { + switch(ToInteger (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, 1588, 0, 0, arg2, arg3) + return + } + } + } + case (32) { + switch(ToInteger (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, 1592, 0, 0, arg2, arg3) + return + } + } + } + case (33) { + switch(ToInteger (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, 1596, 0, 0, arg2, arg3) + return + } + } + } + case (63) { + switch(ToInteger (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, 1600, 0, 0, arg2, arg3) + return + } + } + } + case (64) { + switch(ToInteger (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, 1604, 0, 0, arg2, arg3) + return + } + } + } + case (65) { + switch(ToInteger (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, 1608, 0, 0, arg2, arg3) + return + } + } + } + default { + err(arg0, z143, 1612, 0, 0, arg2, arg3) + return} + } + + m72d(arg0, Local3, arg2, arg3, arg4, arg5, Refof(g001)) +} + +// Check Region Field Unit +Method(m72d, 7, Serialized) +{ + 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(ToInteger (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, 1616, 0, 0, Local0, 0xa5) + } + } + } + + Store(Refof(arg6), Local1) + Store(brG0, Derefof(Local1)) + + switch(ToInteger (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, 1620, 0, 0, Local0, Derefof(Index(fcp0, 2))) + } + } + } + + if (pr00) { + Store("==Ground==:", Debug) + Store(Derefof(arg6), Debug) + } + + // Fill into the field of region + + switch(ToInteger (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, 1624, 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(ToInteger (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, 1628, 0, 0, Local0, Derefof(Index(fcp0, 2))) + } + } + } + + // Check Type + + Store(ObjectType(arg1), Local0) + if (LNotEqual(Local0, c00d)) { + err(arg0, z143, 1632, 0, 0, Local0, c00d) + } + + // Retrieve the field back + + switch(ToInteger (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, 1636, 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, 1640, 0, 0, Local1, INT0) + } + + if (LNotEqual(Local0, arg5)) { + err(arg0, z143, 1644, 0, 0, Local0, arg5) + } + + switch(ToInteger (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, 1648, 0, 0, Local0, Derefof(Index(fcp0, 2))) + } + } + } + + // Check Contents of Region + + switch(ToInteger (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, 1652, 0, 0, Local0, 0xa5) + } + } + } + + Store(Derefof(arg6), Local1) + + switch(ToInteger (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, 1656, 0, 0, Local0, Derefof(Index(fcp0, 2))) + } + } + } + + if (LNotEqual(Local1, brB0)) { + err(arg0, z143, 1660, 0, 0, Local1, brB0) + } elseif (pr00) { + Store("==PostGround==:", Debug) + Store(Local1, Debug) + } +} + +// Fill the buffer +// +// +// +Method(m72c, 2, Serialized) +{ + Store(Sizeof(arg1), Local0) + + while(Local0) { + Decrement(Local0) + + switch(ToInteger (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, Serialized) +{ + 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(ToInteger (Local1)) { + case (0) { + switch(ToInteger (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, 1664, 0, 0, Local1, Local3) + return + } + } + } + case (1) { + switch(ToInteger (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, 1668, 0, 0, Local1, Local3) + return + } + } + } + case (2) { + switch(ToInteger (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, 1672, 0, 0, Local1, Local3) + return + } + } + } + case (3) { + switch(ToInteger (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, 1676, 0, 0, Local1, Local3) + return + } + } + } + default { + err(arg0, z143, 1680, 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, 1684, 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, 1688, 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, 1692, 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, 1696, 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, 1700, 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("TEST: m744, Check large Field offsets", Debug) + + Store(0x1, f001) + if (LNotEqual(f000, 0x08)) { + err(arg0, z143, 1704, 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 SMBus/BufferAcc access + SRMT("m71f") + m71f(ts) + + // Check GeneralPurposeIo/ByteAcc access + SRMT("m764") + m764(ts) + + // Check IPMI/BufferAcc access + SRMT("m768") + m768(ts) + + // Check GenericSerialBus/BufferAcc access + SRMT("m740") + m740(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 0000000..6a1ee83 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/synchronization/DECL.asl @@ -0,0 +1,34 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..e229faa --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/synchronization/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..6ae0e75 --- /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 0000000..565786d --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/synchronization/RUN.asl @@ -0,0 +1,36 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..f3556ce --- /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 0000000..d0738dd --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/synchronization/event.asl @@ -0,0 +1,267 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..dcd356d --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/synchronization/mutex.asl @@ -0,0 +1,751 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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(, , , , ) + +// Release methods +// m02X(, , , , ) + +// ================================================= 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) + } + CH03("MUX0", Z150, 0x000, 0, 0) +} + +Method(m033) { + Mutex(MTX0, 0) + Store (Acquire(MTX0, 0), Local0) + if (Local0) + { + Store ("M033: Could not acquire mutex", Debug) + Return + } + 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 0000000..ed33101 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/synchronization/mutex2.asl @@ -0,0 +1,2253 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 + +/* + * 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, Serialized) + { + /* 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 (ToInteger (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) + +} + +/* + * 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() + } + CH04 (ts, 1, 64, z150, 0x001, 0, 0) +} + +/* + * ///////////////////////////////////////////// + * + * 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 0000000..8726d70 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/synchronization/mutex_proc.asl @@ -0,0 +1,749 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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, Serialized) +{ + 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 (ToInteger (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 (ToInteger (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, Serialized) +{ + 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 (ToInteger (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 0000000..5878937 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/synchronization/serialized.asl @@ -0,0 +1,1321 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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, Serialized) + { + 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 (ToInteger (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, Serialized) + { + 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 (ToInteger (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 0000000..edc97f4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/table/DECL.asl @@ -0,0 +1,32 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..ec64886 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/table/MAIN.asl @@ -0,0 +1,56 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..9e82720 --- /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 0000000..0c5c195 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/table/RUN.asl @@ -0,0 +1,35 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..ddf0594 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/table/load.asl @@ -0,0 +1,2188 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 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 an SSDT, + * = 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") + */ + + // 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) + // Field Unit + External(\AUXD.FLU0) + // OpRegion + External(\AUXD.OPR0) + +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,0x53,0x30,0x00,0xA4,0x0D,0x5C,0x53, /* 00000028 "SS0...\S" */ + 0x53,0x53,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 + Method(m000, 2, Serialized) + { + 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 + } + + // 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 (ToInteger (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 (ToInteger (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 (ToInteger (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 + } + + // 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 + } + + // 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) + + // Global Named Integer + m000(arg0, 1) + } + + // DDBHandle storing into LocalX + Method(tst1, 1) + { + Concatenate(arg0, "-tst1", arg0) + + // LocalX + m000(arg0, 2) + } + + // 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) + } + } + + // 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, Serialized) + { + 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 (ToInteger (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 (ToInteger (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 (ToInteger (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 + } + + // 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) + } + + // Note: We load the table objects relative to the root of the namespace. + // This appears to go against the ACPI specification, but we do it for + // compatibility with other ACPI implementations. + + // 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) + } + //Note: We load the table objects relative to the root of the namespace. + if (CondRefof(\NCRR, Local0)) { + } else { + 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)) { + 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) + + 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 an SSDT + 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, 42, z174, 0x092, 0, 0) // AE_INVALID_TABLE_LENGTH + + 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, 42, z174, 0x096, 0, 0) // AE_INVALID_TABLE_LENGTH + + 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) + + 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 an SSDT + 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) +} 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 0000000..743b4c5 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/table/loadtable.asl @@ -0,0 +1,2339 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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) { + Store(LoadTable("OEM1X", "", "", RPST, PPST, 1), DDBH) + } else { + LoadTable("OEM1X", "", "", RPST, PPST, 1) + } + + CH04(arg0, 0, 61, z176, 0x0a0, 0, 0) // AE_AML_STRING_LIMIT + + 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, 61, z176, 0x0a2, 0, 0) // AE_AML_STRING_LIMIT + + 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, 61, z176, 0x0a4, 0, 0) // AE_AML_STRING_LIMIT + + 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, Serialized) + { + Name(DDBH, 2) + + Store(0, \DTM2.PLDT) + + Concatenate(arg0, "-m000.", arg0) + Concatenate(arg0, Mid(DSTR, arg2, 1), arg0) + + Switch(ToInteger (arg2)) { + Case(0) { + LoadTable(arg1, SOID, STID, RPST, PPST, 1) + return (CH04(arg0, 0, 61, z176, 0x0d0, 0, 0))// AE_AML_STRING_LIMIT + } + 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, 30, z176, 0x0d0, 0, 0)) // AE_BAD_PATHNAME + } + Case(4) { + LoadTable(SOEM, SOID, STID, RPST, arg1, 1) + return (CH04(arg0, 0, 30, z176, 0x0d1, 0, 0)) // AE_BAD_PATHNAME + } + } + + 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 + /* + * This test should never happen in real ASL code. So it is removed. + * + * The Load operation will add a table to global table list, which is + * the master list that can be find in XSDT. + * + * The Unload operation will just delete the namespace owned by the table, + * release OwnerId and reset the table flag, but the table remains in + * global table list. + * + * So, LoadTable after Load and UnLoad operation will cause exception. + * + * Nothing like this should happen in real ASL code. The BIOS writer + * knows whether the table is in the XSDT or not. + */ + /* + 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, 30, z176, 0x107, 0, 0) // AE_BAD_PATHNAME + } 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, 30, z176, 0x10a, 0, 0) // AE_BAD_PATHNAME + } 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 0000000..79b6592 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/table/oem1.asl @@ -0,0 +1,49 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..9c3c762 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/table/ssdt0.asl @@ -0,0 +1,48 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..b83c93c --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/table/ssdt1.asl @@ -0,0 +1,50 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..8bb9906 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/table/ssdt2.asl @@ -0,0 +1,93 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..94615ec --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/table/ssdt3.asl @@ -0,0 +1,93 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..c8aba54 --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/table/ssdt4.asl @@ -0,0 +1,47 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..6febb5a --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/table/unload.asl @@ -0,0 +1,699 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 auxiliary table Objects before Load + if (m001(Concatenate(arg0, ".before"))) { + return (1) + } + + // Load auxiliary 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 auxiliary 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 auxiliary 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 auxiliary 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, 28, z175, 0x03f, 5, Local0) // AE_BAD_PARAMETER + + 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, 28, z175, 0x041, 5, Local0) // AE_BAD_PARAMETER + + 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 (0) } + Method(m001) {Return (DDB0)} + + Concatenate(arg0, "-tst5", arg0) + + // Load auxiliary 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 0000000..75c8017 --- /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 0000000..6af55c2 --- /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 0000000..0bbab19 --- /dev/null +++ b/tests/aslts/src/runtime/collections/mt/mutex/MAIN.asl @@ -0,0 +1,94 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..6848eaa --- /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 0000000..6653625 --- /dev/null +++ b/tests/aslts/src/runtime/collections/mt/mutex/RUN.asl @@ -0,0 +1,43 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..ca9434f --- /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 . + +# ========================= # +# === 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 0000000..6009a85 --- /dev/null +++ b/tests/aslts/src/runtime/collections/mt/mutex/common.asl @@ -0,0 +1,1246 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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) // (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 0000000..8524317 --- /dev/null +++ b/tests/aslts/src/runtime/collections/mt/mutex/example0.asl @@ -0,0 +1,117 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..fbfc2e7 --- /dev/null +++ b/tests/aslts/src/runtime/collections/mt/mutex/mt_access.asl @@ -0,0 +1,230 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..f4b9e03 --- /dev/null +++ b/tests/aslts/src/runtime/collections/mt/mutex/mutex.asl @@ -0,0 +1,1064 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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) + + /* + * (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(0, vb04) // don't print statistics + Store(1, ctl0) // Slave threads - go! + + SRMT("mt_mutex_tests") + } + 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 0000000..da89641 --- /dev/null +++ b/tests/aslts/src/runtime/collections/mt/mutex/mxs.asl @@ -0,0 +1,1241 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..f621bde --- /dev/null +++ b/tests/aslts/src/runtime/collections/mt/mutex/service.asl @@ -0,0 +1,613 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..4dc0f9c --- /dev/null +++ b/tests/aslts/src/runtime/collections/mt/mutex/slave_thr.asl @@ -0,0 +1,398 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..1af299b --- /dev/null +++ b/tests/aslts/src/runtime/collections/mt/mutex/tests.asl @@ -0,0 +1,2393 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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) + } +} + +/* + * (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: (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) + + /* 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 + + + /* 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) + + /* 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 0000000..e0d4b37 --- /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 0000000..d07c4cc --- /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 0000000..95f69e4 --- /dev/null +++ b/tests/aslts/src/runtime/collections/service/condbranches/DECL.asl @@ -0,0 +1,30 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 0000000..822e75d --- /dev/null +++ b/tests/aslts/src/runtime/collections/service/condbranches/MAIN.asl @@ -0,0 +1,55 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * 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 0000000..ef2eb78 --- /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 0000000..70dbc9e --- /dev/null +++ b/tests/aslts/src/runtime/collections/service/condbranches/RUN.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE 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 0000000..9546d7d --- /dev/null +++ b/tests/aslts/src/runtime/collections/service/condbranches/condbranches.asl @@ -0,0 +1,209 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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") + /* + * X195 is about Increment and Decrement of an either String or Buffer + * Since object will not change the type of the Object to Integer + * So this conditional branches should be disabled. + */ + //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") +} + diff --git a/tests/aslts/src/runtime/common/README b/tests/aslts/src/runtime/common/README new file mode 100644 index 0000000..842bce7 --- /dev/null +++ b/tests/aslts/src/runtime/common/README @@ -0,0 +1,33 @@ + +CONTENTS + + Objects of common use which may be useful in more then one test + +conversion + + Objects applicable to Source Operand and Result + conversion tests (now not in use) + +operations.asl + + Methods allowing to handle particular ASL operators + +data.asl + + all the type objects + +dataproc.asl + + some common use methods which deal with the data of data.asl file + +datastproc.asl + + methods applied to the Standard Data (data of known type and value) + +TCI + + the Test Command Interface with the ACPI implemenntation (_TCI). + Provides interaction with the ACPI implementation basing on the + conditional insertions into ACPI implementation code. By now based + on it are implemented (in ACPICA) the memory leak detecting + instrumentation and multi-threading testing (just started). \ No newline at end of file diff --git a/tests/aslts/src/runtime/common/TCI/tcicmd.asl b/tests/aslts/src/runtime/common/TCI/tcicmd.asl new file mode 100644 index 0000000..9bf27d1 --- /dev/null +++ b/tests/aslts/src/runtime/common/TCI/tcicmd.asl @@ -0,0 +1,903 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 Command Interface with the ACPICA (_TCI) + * + * Note: _TCI and TCI mean the same in comments below. + * But, actually the name of the relevant predefined + * Method is _TCI. + */ + +Name(z128, 128) + +Name(DE00, 0) // Disable reporting errors from m3a4, needed in m3aa (not enough params) +Name(FOPT, 0) // Flag of optimization + + +/* + * Constants + */ + +// Opcodes of the Test Commands provided by _TCI + +Name(c200, 0xcd0000) // _TCI-end statistics +Name(c201, 0xcd0001) // _TCI-begin statistics +Name(c202, 0xcd0002) // TCI_CMD_CHECK_SUPPORTED +Name(c203, 0xcd0003) // TCI_CMD_GET_ID_OF_THREADS + +// Tags of commands (to be filled into TCI Package by aslts) + +Name(c208, 0xeeee0596) // TCI_TAG_GET_MC_STAT_AFTER_TCI_TERM +Name(c209, 0xbbbb063a) // TCI_TAG_GET_MC_STAT_BEFORE_TCI_RUN +Name(c20a, 0xcccc07b9) // TCI_TAG_CHECK_SUPPORTED +Name(c20b, 0xdddd01f5) // TCI_TAG_GET_ID_OF_THREADS + +/* + * The layout of the Package for Memory Consumption Statistics + * applied for TCI commands: + * _TCI-end statistics (command TCI_CMD_GET_MC_STAT_AFTER_TCI_TERM) + * _TCI-begin statistics (command TCI_CMD_GET_MC_STAT_BEFORE_TCI_RUN) + */ +Name(c210, 0) // Tittle +Name(c211, 4) // acq0 +Name(c212, 9) // acq1 (-) +Name(c213, 14) // acq2 (-) +Name(c214, 19) // acq3 +Name(c215, 24) // acq4 (-) +Name(c216, 29) // acq5 +Name(c217, 34) // rel0 +Name(c218, 39) // rel1 +Name(c219, 44) // rel2 (-) +Name(c21a, 49) // rel3 +Name(c21b, 54) // Created Objects +Name(c21c, 84) // Deleted Objects +Name(c21d, 114) // Miscellaneous Stat + +Name(c220, 121) // the length of the Package for + // Memory Consumption Statistics. + +// The layout of header of the common _TCI Package + +// Input, data of header passed to ACPICA +Name(c222, 0) // Tag of command (to be set up by aslts) + +// Output, data of header returned to aslts from ACPICA +Name(c223, 1) // Size (number of elements actually packed into TCI package, + // to be filled by ACPICA) +Name(c224, 2) // Cmd (command has been executed, to be filled by ACPICA) +Name(c225, 3) // CACHE_ENABLED (object cache is enabled info flag, + // to be filled by ACPICA) +Name(c22b, 4) // length of the common _TCI Package header + + +// The layout of header of TCI_CMD_GET_ID_OF_THREADS command +// (returned to aslts from ACPICA) +Name(c22c, 4) // TCI_PACKAGE_THR_NUM +Name(c22d, 5) // TCI_PACKAGE_THR_NUM_REAL +Name(c22e, 6) // TCI_PACKAGE_THR_ID +Name(c22f, 7) // length TCI_PACKAGE_THR_HEADER_SIZE + + +Name(c221, 5) // CACHE_LISTS_NUMBER (Object Caches): + // CLIST_ID_NAMESPACE 0 /* Acpi-Namespace */ + // CLIST_ID_STATE 1 /* Acpi-State */ + // CLIST_ID_OPERAND 2 /* Acpi-Operand */ + // CLIST_ID_PSNODE 3 /* Acpi-Parse */ + // CLIST_ID_PSNODE_EXT 4 /* Acpi-ParseExt */ + +Name(c226, 0) // CLIST_ID_NAMESPACE +Name(c227, 1) // CLIST_ID_STATE +Name(c228, 2) // CLIST_ID_OPERAND +Name(c229, 3) // CLIST_ID_PSNODE +Name(c22a, 4) // CLIST_ID_PSNODE_EXT + + +/* + * The main Test Command interface with the ACPICA + * + * arg0 - opcode of the Test Command + * arg1 - Package for different needs depending on the command. + * So, in case of the Memory Consumption Statistics commands it + * is filled by ACPICA with the Memory Consumption Statistics. + * The length of package in this case should be not less than c220, + * otherwise, no any failure arises but not all data are returned + * by Package just only the relevant part of it. It is true for all + * commands. + * Note: use m3a0 or m165 to prepare the arg1-package. + */ +Method(_TCI, 2) +{ + /* + * Before to run this method reset location + * of Command which is to be filled by ACPICA + * to acknowledge the interconnection. + * It is performed in m3a0 and m3a4. + */ + return (arg1) +} + +/* + * Create and initialize the Package for _TCI + * + * arg0 - opcode of the Test Command. + * Use 0 for allocation without initialization. + * arg1 - number of element of Package (for some of commands) + * + * Return the resulting Package: + * + * - if arg0 is zero - the Package of c220 length + * - otherwise - the Package of length depending on + * the command is additionally initialized + */ +Method(m165, 2, Serialized) +{ + Name(num, 0) + Name(tag, 0) + + if (arg0) { + + Switch (ToInteger (arg0)) { + Case (0xcd0000) { + // _TCI-end statistics + Store(c208, tag) + Store(c220, num) + } + Case (0xcd0001) { + // _TCI-begin statistics + Store(c209, tag) + Store(c220, num) + } + Case (0xcd0002) { + // TCI_CMD_CHECK_SUPPORTED + Store(c20a, tag) + Store(c22b, num) + } + Case (0xcd0003) { + // TCI_CMD_GET_ID_OF_THREADS + Store(c20b, tag) + Store(arg1, num) + } + Default { + err("m165", z128, 0, 0, 0, arg0, 0) + } + } + + if (LLess(num, c22b)) { + err("m165", z128, 0, 0, 0, num, c22b) + } else { + Name(p000, Package(num) {}) + Name(lpN0, 0) + Name(lpC0, 0) + Store(num, lpN0) + Store(0, lpC0) + While (lpN0) { + Store(0, Index(p000, lpC0)) + Decrement(lpN0) + Increment(lpC0) + } + Store(tag, Index(p000, 0)) + Return (p000) + } + } else { + Name(p001, Package(c220) {}) + Return (p001) + } + + Return (0) +} + +/* + * Create and initialize the Package for simple cases + * entirely specified by the opcode of command. + * + * a. for Memory Consumption Statistics + * (_TCI-begin or _TCI-end statistics). + * + * b. TCI_CMD_CHECK_SUPPORTED + * + * arg0 - opcode of the Test Command. + * Use 0 for allocation without initialization. + * + * Returns the TCI Package + */ +Method(m3a0, 1) +{ + Store(m165(arg0, 0), Local0) + + Return (Local0) +} + +Method(m3a1, 2) +{ + Store(DeRefOf(Index(NMTP, arg1)), Local0) + Concatenate("", arg0, Local2) + Concatenate(Local2, " ", Local1) + Concatenate(Local1, Local0, Debug) +} + +/* + * Print out the Memory Consumption Statistics Package + * + * arg0 - Memory Consumption Statistics Package + * arg1 - opcode of the tittle message + */ +Method(m3a2, 2) +{ + if (LEqual(arg1, 0)) { + Store("==== _TCI-end statistics", Debug) + } elseif (LEqual(arg1, 1)) { + Store("==== _TCI-begin statistics", Debug) + } elseif (LEqual(arg1, 2)) { + Store("==== _TCI-end-begin difference", Debug) + } else { + Store("???", Debug) + } + + Name(lpN0, 0) + Name(lpC0, 0) + + Store(c220, lpN0) + Store(0, lpC0) + + Store(0, Local1) + Store(0, Local2) + + While (lpN0) { + + if (LEqual(lpC0, c210)) { + Store("Tittle:", Debug) + } elseif (LEqual(lpC0, c211)) { + Store("acq0: all calls to AcpiUtAcquireFromCache", Debug) + } elseif (LEqual(lpC0, c212)) { + Store("acq1: +AcpiUtAcquireMutex", Debug) + } elseif (LEqual(lpC0, c213)) { + Store("acq2: +there is a cache object available", Debug) + } elseif (LEqual(lpC0, c214)) { + Store("acq3: +AcpiUtReleaseMutex", Debug) + } elseif (LEqual(lpC0, c215)) { + Store("acq4: +otherwise, the cache is empty, create a new object", Debug) + } elseif (LEqual(lpC0, c216)) { + Store("acq5: +AcpiUtReleaseMutex", Debug) + } elseif (LEqual(lpC0, c217)) { + Store("rel0: all calls to AcpiUtReleaseToCache", Debug) + } elseif (LEqual(lpC0, c218)) { + Store("rel1: +walk cache is full, just free this object", Debug) + } elseif (LEqual(lpC0, c219)) { + Store("rel2: +otherwise, put this object back into the cache", Debug) + } elseif (LEqual(lpC0, c21a)) { + Store("rel3: +AcpiUtAcquireMutex", Debug) + } elseif (LEqual(lpC0, c21b)) { + Store("Created Objects:", Debug) + } elseif (LEqual(lpC0, c21c)) { + Store("Deleted Objects:", Debug) + } elseif (LEqual(lpC0, c21d)) { + Store("Miscellaneous Stat:", Debug) + } + + if (LGreaterEqual(lpC0, c21d)) { + Store(DerefOf(Index(arg0, lpC0)), Debug) + } elseif (LGreaterEqual(lpC0, c21c)) { + Store(DerefOf(Index(arg0, lpC0)), Local0) + m3a1(Local0, Local1) + Increment(Local1) + } elseif (LGreaterEqual(lpC0, c21b)) { + Store(DerefOf(Index(arg0, lpC0)), Local0) + m3a1(Local0, Local2) + Increment(Local2) + } else { + Store(DerefOf(Index(arg0, lpC0)), Debug) + } + + Decrement(lpN0) + Increment(lpC0) + } +} + +/* + * Calculate the difference between the two + * Memory Consumption Statistics Packages. + * + * arg0 - Package of _TCI-end statistics + * arg1 - Package of _TCI-begin statistics + * arg2 - Package for _TCI-end-begin difference + */ +Method(m3a3, 3) +{ + Name(lpN0, 0) + Name(lpC0, 0) + + Store(c220, lpN0) + Store(0, lpC0) + + While (lpN0) { + Store(DerefOf(Index(arg0, lpC0)), Local0) + Store(DerefOf(Index(arg1, lpC0)), Local1) + Subtract(Local1, Local0, Local2) + Store(Local2, Index(arg2, lpC0)) + + Decrement(lpN0) + Increment(lpC0) + } +} + +/* + * Verify difference of Memory Consumption Statistics between + * two points: _TCI-end statistics and _TCI-begin statistics + * (and reset locations of Command of arg0 and arg1 Packages + * for the following run). + * + * Check that the Memory Consumption Statistics measured at the first point + * as '_TCI-end statistics' was then changed as expected to the second point + * where statistics was measured as '_TCI-begin statistics'. Between these + * two points we initiate some AML activity which involves the memory + * consumption acquire/release to be then analyzed and verified. + * + * + * arg0 - Package of _TCI-end statistics + * arg1 - Package of _TCI-begin statistics + * arg2 - Package for _TCI-end-begin difference + * arg3 - Package with the benchmark information on Created Objects + * arg4 - Package with the benchmark information on Deleted Objects + * (if non-Package, then arg3 is used) + * arg5 - Package with the benchmark information on memory acq0 and rel0 + * (if non-Package, then compare acq0 and rel0 of arg2, + * otherwise, arg5 is a Package with the expected per-memory + * type differencies, expected: acq0[i] - rel0[i] = arg5[i]) + * arg6 - index of checking (inside the file) + * + * Return: + * 0 - success + * 1 - incorrect Memory Consumption Statistics encountered + * otherwise - failed to determine the Memory Consumption Statistics + * + * See: the time of execution can be reduced (design and use additional flags): + * - exclude initialization before each operation + * (ACPICA writes all elements, benchmarks for the + * following sub-test mostly differ previous ones) + * - restrict checkings (use flag) by the acq0 & rel0, + * and add & del. + */ +Method(m3a4, 7) +{ + + // Flag of printing + Name(pr1, 0) + Name(pr2, 0) + + Name(lpN0, 0) + Name(lpC0, 0) + + if (pr1) { + m3a2(arg0, 0) + m3a2(arg1, 1) + } + + if (pr2) { + m3a2(arg2, 2) + } + + Store(0, Local7) + + + // Check headers of Packages + + + if (m3a6(arg0, 0, arg6)) { + Store(2, Local7) + } + + if (m3a6(arg1, 1, arg6)) { + Store(2, Local7) + } + + + // Check statistics specified by index + + + if (m3a7(arg0, 0, arg6)) { + Store(2, Local7) + } + + if (m3a7(arg1, 0, arg6)) { + Store(2, Local7) + } + + if (m3a7(arg2, 1, arg6)) { + Store(2, Local7) + } + + + /* + * acq0 and rel0 of arg2-difference + * are to be equal each to another + * (or correspond to arg5): + */ + + + if (LEqual(ObjectType(arg5), c00c)) { + Store(c211, Local0) + Store(c217, Local1) + Store(0, Local4) + + Store(c221, lpN0) + Store(0, lpC0) + While (lpN0) { + Store(DerefOf(Index(arg2, Local0)), Local2) + Store(DerefOf(Index(arg2, Local1)), Local3) + Store(DerefOf(Index(arg5, Local4)), Local5) + + Subtract(Local2, Local3, Local6) + + if (LNotEqual(Local6, Local5)) { + if (LNot(DE00)) { + err("m3a4", z128, 1, 0, arg6, Local6, Local5) + Store(lpC0, Debug) + Store(Local0, Debug) + Store(Local1, Debug) + Store(Local4, Debug) + Store(Local2, Debug) + Store(Local3, Debug) + Store(Local5, Debug) + Store(Local6, Debug) + } + Store(1, Local7) + } + + Increment(Local0) + Increment(Local1) + Increment(Local4) + + Decrement(lpN0) + Increment(lpC0) + } + } else { + Store(c211, Local0) + Store(c217, Local1) + Store(c221, lpN0) + Store(0, lpC0) + While (lpN0) { + Store(DerefOf(Index(arg2, Local0)), Local2) + Store(DerefOf(Index(arg2, Local1)), Local3) + if (LNotEqual(Local2, Local3)) { + if (LNot(DE00)) { + err("m3a4", z128, 2, 0, arg6, Local2, Local3) + } + Store(1, Local7) + } + Increment(Local0) + Increment(Local1) + Decrement(lpN0) + Increment(lpC0) + } + } + + + // arg2-difference: acq0 == acq3 + acq5 + + + Store(c211, Local0) + Store(c214, Local1) + Store(c216, Local2) + + Store(c221, lpN0) + Store(0, lpC0) + + While (lpN0) { + Store(DerefOf(Index(arg2, Local0)), Local3) + Store(DerefOf(Index(arg2, Local1)), Local4) + Store(DerefOf(Index(arg2, Local2)), Local5) + Add(Local4, Local5, Local6) + if (LNotEqual(Local3, Local6)) { + if (LNot(DE00)) { + err("m3a4", z128, 3, 0, arg6, Local3, Local6) + } + Store(1, Local7) + } + Increment(Local0) + Increment(Local1) + Increment(Local2) + + Decrement(lpN0) + Increment(lpC0) + } + + + // arg2-difference: rel0 == rel1 + rel3 + + + Store(c217, Local0) + Store(c218, Local1) + Store(c21a, Local2) + + Store(c221, lpN0) + Store(0, lpC0) + + While (lpN0) { + Store(DerefOf(Index(arg2, Local0)), Local3) + Store(DerefOf(Index(arg2, Local1)), Local4) + Store(DerefOf(Index(arg2, Local2)), Local5) + Add(Local4, Local5, Local6) + if (LNotEqual(Local3, Local6)) { + if (LNot(DE00)) { + err("m3a4", z128, 4, 0, arg6, Local3, Local6) + } + Store(1, Local7) + } + Increment(Local0) + Increment(Local1) + Increment(Local2) + + Decrement(lpN0) + Increment(lpC0) + } + + + // Check, created Objects are identical to the benchmark ones + + + if (LEqual(ObjectType(arg3), c00c)) { + + Store(c027, lpN0) + Store(c21b, Local0) + Store(0, Local1) + While (lpN0) { + Store(DerefOf(Index(arg2, Local0)), Local2) + Store(DerefOf(Index(arg3, Local1)), Local3) + if (LNotEqual(Local2, Local3)) { + if (LNot(DE00)) { + err("m3a4", z128, 5, 0, arg6, Local2, Local3) + } + Store(1, Local7) + } + + Increment(Local0) + Increment(Local1) + + Decrement(lpN0) + } + } + + + // Check, deleted Objects are identical to the benchmark ones + + + Store(c027, lpN0) + + Store(c21c, Local0) + Store(0, Local1) + Store(0, Local4) + + if (Lequal(ObjectType(arg4), c00c)) { + Store(arg4, Local4) + } elseif (Lequal(ObjectType(arg3), c00c)) { + Store(arg3, Local4) + } + + if (Lequal(ObjectType(Local4), c00c)) { + While (lpN0) { + Store(DerefOf(Index(arg2, Local0)), Local2) + Store(DerefOf(Index(Local4, Local1)), Local3) + if (LNotEqual(Local2, Local3)) { + if (LNot(DE00)) { + err("m3a4", z128, 6, 0, arg6, Local2, Local3) + } + Store(1, Local7) + } + + Increment(Local0) + Increment(Local1) + + Decrement(lpN0) + } + } + + /* + * Reset locations of Command of arg0 and arg1 + * Packages for the following run. + * Store(0, Index(arg0, c224)) + * Store(0, Index(arg1, c224)) + */ + + return (Local7) +} + +/* + * Return non-zero in case the Test Command interface + * with the ACPICA (_TCI) is supported. + */ +Method(m3a5) +{ + Store(m3a0(c202), Local0) // TCI_CMD_CHECK_SUPPORTED + + _TCI(c202, Local0) + + Store(DerefOf(Index(Local0, c224)), Local1) + + if (LNotEqual(Local1, c202)) { + return (0) + } + + return (1) +} + +/* + * Check header of Memory Consumption Statistics Package + * arg0 - Memory Consumption Statistics Package + * arg1 - Means: + * 0 - _TCI-end statistics + * otherwise - _TCI-begin statistics + * arg2 - index of checking (inside the file) + */ +Method(m3a6, 3) +{ + Store(0, Local7) + + // Tag of command + + if (arg1) { + Store(c209, Local0) + } else { + Store(c208, Local0) + } + + Store(DerefOf(Index(arg0, 0)), Local1) + if (LNotEqual(Local1, Local0)) { + err("m3a6", z128, 7, 0, arg2, Local1, Local0) + Store(1, Local7) + } + + // Number of elements actually packed + + Store(DerefOf(Index(arg0, 1)), Local1) + if (LNotEqual(Local1, c220)) { + err("m3a6", z128, 8, 0, arg2, Local1, c220) + Store(1, Local7) + } + + // Command has been executed + + if (arg1) { + Store(c201, Local0) + } else { + Store(c200, Local0) + } + + Store(DerefOf(Index(arg0, 2)), Local1) + if (LNotEqual(Local1, Local0)) { + err("m3a6", z128, 9, 0, arg2, Local1, Local0) + Store(1, Local7) + } + + // Object cache is enabled + + Store(DerefOf(Index(arg0, 3)), Local1) + if (LNot(Local1)) { + err("m3a6", z128, 10, 0, arg2, Local1, 1) + Store(1, Local7) + } + + return (Local7) +} + +/* + * Check statistics specified by index + * + * arg0 - Memory Consumption Statistics Package + * arg1 - Means: + * non-zero - _TCI-end-begin difference Package + * otherwise - usual Memory Consumption Statistics Package + * arg2 - index of checking (inside the file) + */ +Method(m3a7, 3) +{ + Store(0, Local7) + + if (arg1) { + +/* + // ACPI_STAT_SUCCESS_FREE == ACPI_STAT_SUCCESS_ALLOC + + Add(c21d, 5, Local0) + Store(DerefOf(Index(arg0, Local0)), Local1) + Increment(Local0) + Store(DerefOf(Index(arg0, Local0)), Local2) + + if (LNotEqual(Local2, Local1)) { + err("m3a7", z128, 11, 0, arg2, Local2, Local1) + Store(1, Local7) + } +*/ + + } else { + + // ACPI_STAT_INVALID_EXBUF + + Store(c21d, Local0) + Store(DerefOf(Index(arg0, Local0)), Local1) + if (Local1) { + err("m3a7", z128, 12, 0, arg2, Local1, 0) + Store(1, Local7) + } + + // ACPI_STAT_ZONE0_CORRUPTED + + Increment(Local0) + Store(DerefOf(Index(arg0, Local0)), Local1) + if (Local1) { + err("m3a7", z128, 13, 0, arg2, Local1, 0) + Store(1, Local7) + } + + // ACPI_STAT_ZONE1_CORRUPTED + + Increment(Local0) + Store(DerefOf(Index(arg0, Local0)), Local1) + if (Local1) { + err("m3a7", z128, 14, 0, arg2, Local1, 0) + Store(1, Local7) + } + + // ACPI_STAT_FAILED_ALLOC + + Increment(Local0) + Store(DerefOf(Index(arg0, Local0)), Local1) + if (Local1) { + err("m3a7", z128, 15, 0, arg2, Local1, 0) + Store(1, Local7) + } + + // ACPI_STAT_NULL_FREE + + Increment(Local0) + Store(DerefOf(Index(arg0, Local0)), Local1) + if (Local1) { + err("m3a7", z128, 16, 0, arg2, Local1, 0) + Store(1, Local7) + } + } + + return (Local7) +} + +/* + * Create and initialize the sample Package for the + * per-object type benchmark Memory Consumption Statistics + */ +Method(m3a8) +{ + Name(p000, 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}) + + return (p000) +} + +/* + * Create and initialize the sample Package for the + * per-memory type benchmark Memory Consumption Statistics + */ +Method(m3a9) +{ + Name(p000, Package() {0,0,0,0,0,0,0}) + + return (p000) +} + +/* + * Determine the flag of optimization: check that + * processing of the Add operation corresponds to + * the expectation: optimized/non-optimized. + * + * Mode of run, optimized/non-optimized, is essential + * for this kind tests (memory consumption). + * + * arg0 - Means: + * 0 - check for Optimization is tuned off + * otherwise - check for Optimization is tuned on + */ +Method(m3aa) +{ + Name(i000, 0) + Name(p000, Package(1) {}) + Name(p00b, Package(1) {}) + + Store(0xff, FOPT) + + Store(m3a0(c200), Local0) // _TCI-end statistics + Store(m3a0(c201), p00b) // _TCI-begin statistics + Store(m3a0(0), Local1) // difference + + _TCI(c200, Local0) + Store(Add(3, 4), i000) + _TCI(c201, p00b) + + m3a3(Local0, p00b, Local1) + + // Statistics expected in case Optimization is tuned off + Store(m3a8(), p000) + Store(4, Index(p000, c009)) // Integer + + Store(1, DE00) + Store(m3a4(Local0, p00b, Local1, p000, 0, 0, 0), Local6) + Store(0, DE00) + + if (LEqual(Local6, 2)) { + Store("Failed to determine the flag of optimization", Debug) + return + } else { + // Statistics expected in case Optimization is tuned on + Store(m3a8(), p000) + Store(1, Index(p000, c009)) // Integer + + Store(1, DE00) + Store(m3a4(Local0, p00b, Local1, p000, 0, 0, 1), Local7) + Store(0, DE00) + + if (LEqual(Local7, 2)) { + Store("Failed to determine the flag of optimization", Debug) + return + } + } + + if (LEqual(Local6, Local7)) { + Store("Internal error 0", Debug) + err("m3aa", z128, 17, 0, 0, Local6, Local7) + } elseif (Local6) { + Store(1, FOPT) + } else { + Store(0, FOPT) + } +} + +/* + * Return Package with the array of thread indexes + * otherwise Integer 0. + * + * arg0 - number of threads + */ +Method(m163, 1) +{ + Name(size, 0) + + Add(c22f, arg0, size) + + Store(m165(c203, size), Local0) // TCI_CMD_GET_ID_OF_THREADS + + _TCI(c203, Local0) + + Store(DerefOf(Index(Local0, c224)), Local1) + + if (LNotEqual(Local1, c203)) { + return (0) + } + + return (Local0) +} diff --git a/tests/aslts/src/runtime/common/conversion/oDECL.asl b/tests/aslts/src/runtime/common/conversion/oDECL.asl new file mode 100644 index 0000000..0419891 --- /dev/null +++ b/tests/aslts/src/runtime/common/conversion/oDECL.asl @@ -0,0 +1,33 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 + +Include("../../../../runtime/common/operations.asl") +Include("../../../../runtime/common/conversion/oproc.asl") +Include("../../../../runtime/common/conversion/otest.asl") diff --git a/tests/aslts/src/runtime/common/conversion/oproc.asl b/tests/aslts/src/runtime/common/conversion/oproc.asl new file mode 100644 index 0000000..1c41a2a --- /dev/null +++ b/tests/aslts/src/runtime/common/conversion/oproc.asl @@ -0,0 +1,1074 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + +/* + + ============================ + !!!!!!!!!!!!!!!!!!!!!!!!!!!! + IT IS IN PROGRESS !!!!!!!!!! + !!!!!!!!!!!!!!!!!!!!!!!!!!!! + ============================ + +SEE: ???????????? + +1) Add 0 into the middle of any Buffer +2) Do BOTH directions for Concatenation: + - First argument - String + - First argument - Buffer +3) Extend the test, if possible, for all the operators +4) add method m480 with the different objects creations. +5) change Name(ss08, "1234567890abCdeF") + to Name(ss08, "1234567830abCdeF") +6) do the same as m480() but use LocalX instead ArgX + in Operators invocations: + Store(Add(Local0, Local1, Local7), local7) +*/ + +// Methods for Conversion tests +// +// (low number of available arguments {Arg0-Arg6} complicates algorithms). +// +// Currently from the mask of exceptions to be forced are excluded bits +// corresponding to the following types ("dont know how" have to be added): +// +// - Method (dont know how) +// - Thermal Zones (dont know how) +// - DDB Handle (dont know how) +// - Debug Object (impossible, Compiler refuses) +// - Uninitialized (update needed, currently the test is implemented incorrectly. +// Uninitialized type have to be passed immediately as operands +// in m480). +// +// Currently excluded from all the total scales of unacceptable types +// (to be added later): +// +// 0x0100 - Method +// 0x2000 - Thermal Zone +// 0x8000 - DDB Handle +// +// Total scale of acceptable types: +// +// int - 0xc02e - Integer, String, Buffer, Field Unit, Buffer Field, DDB Handle +// + +// NOTE: many entries are commented not to cause crashes. +// Have to be uncommented after ACPICA will be fixed. +// + +Name(z064, 64) + +// Commutative two operands operation +// (CAUTION: dont forget to clean it) +Name(com2, 0) + +// Flags exception expected +// (needed due to the lack of Arguments number) +Name(FLG0, 0x19283746) + +// Flag - verify result with the contents of Package +Name(FLG1, 0) + +// Package contains benchmarks of results +Name(PKG0, Package(1) {0x10000001}) +Name(PKG1, Package(1) {0x11111111}) +Name(PKG2, Package(1) {0x22222222}) + +Name(df00, 0) +Name(df01, 0) +Name(df02, 0) +Name(df03, 0) +Name(df04, 0) +Event(e000) +Mutex(mx00, 0) +Name(i000, 0x58765432) +Name(i001, 0xabcdefabaabbccdd) +Name(s000, "qwrt") +Name(b001, Buffer() {0x91,0x22,0x83}) +Name(p08b, Package() {19,27}) +Device(dv00) {} +Method(m4a3) { return (0) } +OperationRegion(rg00, SystemMemory, 0x100, 0x100) +Field(rg00, ByteAcc, NoLock, Preserve) { fr20, 7 } +PowerResource(pwr0, 1, 0) {Method(m000){return (0)}} +Processor(prc0, 0, 0xFFFFFFFF, 0) {} +Name(b002, Buffer(100) {}) +CreateDWordField(b002, 3, bfz0) + + +// Return object of required type +// +// arg0 - type of object +Method(m484, 1, Serialized) +{ + Name(ts, "m484") + + Event(e001) + Mutex(mx01, 0) + + Name(ss01, "svnmjkl") + Name(ss02, "1234zyq") + Name(ss03, "abcdefzyq") + Name(ss04, "9876") + Name(ss05, "aBcD") + Name(ss06, "1234567890987654") + Name(ss07, "daFeCBaabbddffee") + Name(ss08, "1234567890abCdeF") + Name(ss09, "FdeAcb0132547698") + Name(ss0a, "12345678909876540") + Name(ss0b, "fdeacb01325476980") + Name(ss0c, "123456789011223344556677889998765432199983337744") + Name(ss0d, "abcdefaAbbccddeeffffeeddccaabbddeeffaaaabbbbeeefffdd") + Name(ss0e, "1234567890abcdef9876543210fedbca1122334455667788fdeacb") + Name(ss0f, "defa1234567890abcdef9876543210fedbca1122334455667788fdeacb") + Name(ss10, "123456789011223344556677889998765432199983337744z") + Name(ss11, "0xF1dAB98e0D794Bc5") + + Name(bb01, Buffer() {0x80}) + Name(bb02, Buffer() {0x81,0x82}) + Name(bb03, Buffer() {0x83,0x84,0x85,0x86}) + Name(bb04, Buffer() {0x87,0x98,0x99,0x9a,0x9b}) + Name(bb05, Buffer() {0x9c,0x9d,0x9e,0x9f,0xa0,0xa1,0xa2,0xa3}) + Name(bb06, Buffer() {0xa4,0xa5,0xa6,0xa7,0xb8,0xb9,0xba,0xbb,0xbc}) + Name(bb07, Buffer(200) { + 0x91, 0x92, 0x93, 0x94, 95, 96, 97, 98, 99, 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}) + Name(bb08, 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}) + + // Field Units + + OperationRegion(r001, SystemMemory, 0x100, 0x100) + + Field(r001, ByteAcc, NoLock, Preserve) { + f001, 3, + f002, 8, + f003, 16, + f004, 32, + f005, 33,//33 + f006, 63,//63 + f007, 64,//64 + f008, 65,//65 + f009, 127, + f00a, 257, + // f00b, 201*8, do it also + } + + // Buffer Fields + + Name(bb09, Buffer(200) {}) + + CreateField(bb09, 1, 3, bf01) + CreateField(bb09, 4, 8, bf02) + CreateField(bb09, 12, 16, bf03) + CreateField(bb09, 28, 32, bf04) + CreateField(bb09, 60, 33, bf05) + CreateField(bb09, 93, 63, bf06)//93 + CreateField(bb09, 156, 64, bf07)//156 + CreateField(bb09, 220, 65, bf08)//220 + CreateField(bb09, 285, 127, bf09)//285 + CreateField(bb09, 412, 257, bf0a)//412 + +// CreateField(bb09, xxx, 201*8, bf0b) + + CreateDWordField(bb09, 151, bf0b) + + ///////////////////////////////////////////////////////////////////// + + Store(0xff, fr20) + Store(0xff, f001) + Store(0x8a8b8c8d, f002) + Store(0x8a8b8c8d, f003) + Store(0x8a8b8c8d, f004) + Store(Buffer() {0xff,0xff,0xff,0xff,0xff}, f005) + Store(Buffer() {0x58,0x46,0x37,0x88,0x19,0xfa,0xde,0xdc,0xfa}, f006) + Store(Buffer() {0x58,0x9a,0x37,0x88,0x19,0xfa,0xde,0xdc,0xfa}, f007) + Store(Buffer() {0x58,0xc7,0x37,0x88,0x19,0xfa,0xde,0xdc,0xfa}, f008) + Store(Buffer() {0x82,0x34,0x56,0x78,0x90,0xab,0xcd,0xef,0x55}, f009) + Store(Buffer() {0x93,0xab,0xcd,0xef,0x99,0x12,0xcd,0x52,0x87}, f00a) + + Store(0x918654ab, bfz0) + Store(0xff, bf01) + Store(0x8a8b8c8d, bf02) + Store(0x8a8b8c8d, bf03) + Store(0x8a8b8c8d, bf04) + Store(Buffer() {0xff,0xff,0xff,0xff,0xff}, bf05) + Store(Buffer() {0x58,0x46,0x37,0x88,0x19,0xfa,0xde,0xdc,0xfa}, bf06) + Store(Buffer() {0x58,0x9a,0x37,0x88,0x19,0xfa,0xde,0xdc,0xfa}, bf07) + Store(Buffer() {0x58,0xc7,0x37,0x88,0x19,0xfa,0xde,0xdc,0xfa}, bf08) + Store(Buffer() {0x82,0x34,0x56,0x78,0x90,0xab,0xcd,0xef,0x55}, bf09) + Store(Buffer() {0x93,0xab,0xcd,0xef,0x99,0x12,0xcd,0x52,0x87}, bf0a) + + Store(0xa2b3c4d5, bf0b) + + ///////////////////////////////////////////////////////////////////// + + Name(pp01, Package() {19}) + Device(dv01) {} + Method(m001) { return (0) } + OperationRegion(r002, SystemMemory, 0x100, 0x100) + PowerResource(pwr1, 1, 0) {Method(m000){return (0)}} + Processor(pr01, 0, 0xFFFFFFFF, 0) {} + + Store(0, Local7) + + switch (ToInteger(Arg0)) { + + // Uninitialized + + /* + * case (0x000) { + * } + */ + + // Integers + + case (0x100) { + Store(i000, Local7) + } + case (0x101) { + Store(i001, Local7) + } + case (0x102) { + Store(0x12345678, Local7) + } + case (0x103) { + Store(0xabedf18942345678, Local7) + } + case (0x104) { + Store(Zero, Local7) + } + case (0x105) { + Store(One, Local7) + } + case (0x106) { + Store(Ones, Local7) + } + case (0x107) { + Store(Revision, Local7) + } + case (0x108) { + Store(0x123, Local7) + } + case (0x109) { + Store(11, Local7) + } + + // Strings + + case (0x200) { + Store(s000, Local7) + } + case (0x201) { + Store(ss01, Local7) + } + case (0x202) { + Store(ss02, Local7) + } + case (0x203) { + Store(ss03, Local7) + } + case (0x204) { + Store(ss04, Local7) + } + case (0x205) { + Store(ss05, Local7) + } + case (0x206) { + Store(ss06, Local7) + } + case (0x207) { + Store(ss07, Local7) + } + case (0x208) { + Store(ss08, Local7) + } + case (0x209) { + Store(ss09, Local7) + } + case (0x20a) { + Store(ss0a, Local7) + } + case (0x20b) { + Store(ss0b, Local7) + } + case (0x20c) { + Store(ss0c, Local7) + } + case (0x20d) { + Store(ss0d, Local7) + } + case (0x20e) { + Store(ss0e, Local7) + } + case (0x20f) { + Store(ss0f, Local7) + } + case (0x210) { + Store(ss10, Local7) + } + case (0x211) { + Store(ss11, Local7) + } + + // Buffers + + case (0x300) { + Store(b001, Local7) + } + case (0x301) { + Store(bb01, Local7) + } + case (0x302) { + Store(bb02, Local7) + } + case (0x303) { + Store(bb03, Local7) + } + case (0x304) { + Store(bb04, Local7) + } + case (0x305) { + Store(bb05, Local7) + } + case (0x306) { + Store(bb06, Local7) + } + case (0x307) { + Store(bb07, Local7) + } + case (0x308) { + Store(bb08, Local7) + } + + // Packages + + case (0x400) { + Store(p08b, Local7) + } + case (0x401) { + Store(pp01, Local7) + } + + // Field Units + + case (0x500) { + Store(fr20, Local7) + } + case (0x501) { + Store(f001, Local7) + } + case (0x502) { + Store(f002, Local7) + } + case (0x503) { + Store(f003, Local7) + } + case (0x504) { + Store(f004, Local7) + } + case (0x505) { + Store(f005, Local7) + } + case (0x506) { + Store(f006, Local7) + } + case (0x507) { + Store(f007, Local7) + } + case (0x508) { + Store(f008, Local7) + } + case (0x509) { + Store(f009, Local7) + } + case (0x50a) { + Store(f00a, Local7) + } + + // Devices + + case (0x600) { + Store(dv00, Local7) + } + case (0x601) { + Store(dv01, Local7) + } + + // Events + + case (0x700) { + Store(e000, Local7) + } + case (0x701) { + Store(e001, Local7) + } + + // Methods + + case (0x800) { + Store(m4a3, Local7) + } + case (0x801) { + Store(m001, Local7) + } + + // Mutexes + + case (0x900) { + Store(mx00, Local7) + } + case (0x901) { + Store(mx01, Local7) + } + + // Operation Regions + + case (0xa00) { + Store(rg00, Local7) + } + case (0xa01) { + Store(r001, Local7) + } + case (0xa02) { + Store(r002, Local7) + } + + // Power Resources + + case (0xb00) { + Store(pwr0, Local7) + } + case (0xb01) { + Store(pwr1, Local7) + } + + // Processor + + case (0xc00) { + Store(prc0, Local7) + } + case (0xc01) { + Store(pr01, Local7) + } + + // Thermal Zones + + /* + * case (0xd00) { + * Store(Debug, Local7) + * } + */ + + // Buffer Field + + case (0xe00) { + Store(bfz0, Local7) + } + case (0xe01) { + Store(bf01, Local7) + } + case (0xe02) { + Store(bf02, Local7) + } + case (0xe03) { + Store(bf03, Local7) + } + case (0xe04) { + Store(bf04, Local7) + } + case (0xe05) { + Store(bf05, Local7) + } + case (0xe06) { + Store(bf06, Local7) + } + case (0xe07) { + Store(bf07, Local7) + } + case (0xe08) { + Store(bf08, Local7) + } + case (0xe09) { + Store(bf09, Local7) + } + case (0xe0a) { + Store(bf0a, Local7) + } + case (0xe0b) { + Store(bf0b, Local7) + } + + // DDB Handle + + /* + * case (0xf00) { + * Store(Debug, Local7) + * } + */ + + // Debug Object + + /* + * case (0x1000) { + * Store(Debug, Local7) + * } + */ + + default { + if (LNotEqual(arg0, 0)) { + err("----------- ERROR, m484: incorrect Arg0:", z064, 0, 0, 0, 0, 0) + Store(arg0, Debug) + } + } + } + + return (Local7) +} + +// arg0 - opcode of operation +// arg1 - type of 0-th argument +// arg2 - type of 1-th argument +// arg3 - type of 2-th argument +// arg4 - type of 3-th argument +// arg5 - type of 4-th argument +// arg6 - {Ones - flag of exception, otherwise - index of result pair} +Method(m485, 7) +{ + if (0) { + Store("##################################################################", Debug) + Store(arg6, Debug) + } + + Name(ts, "m485") + Name(ex00, 0) + Name(tmp0, 0) + + if (LEqual(arg6, FLG0)) { + Store(1, ex00) + } else { + Store(m48c(PKG1, arg6), Local5) + Store(ObjectType(Local5), Local7) + if (LEqual(Local7, 2)) { + if (LEqual(Local5, "Exc")) { + Store(1, ex00) + } + } + } + + Store(0, Local7) + + // m482: + // + // arg0-arg4 - parameters of operators + // arg5 - miscellaneous + // arg6 - opcode of operation + + +/* + * //// ????????????????????????? + * Uninitialized data should be passed to the operators immediately + * in the m480 but not here to these Store opreations!!!!!!!!!!!!!! + * But this will a few complicate m480 !!!!!!!!!!!!!!!!!!!!!!!!!!!! + * //// ????????????????????????? + */ + + // Parameters (if not to save them Uninitialized) + if (LNotEqual(arg1, 0xfff)) { + Store(m484(arg1), Local0) + } + if (LNotEqual(arg2, 0xfff)) { + Store(m484(arg2), Local1) + } + if (LNotEqual(arg3, 0xfff)) { + Store(m484(arg3), Local2) + } + if (LNotEqual(arg4, 0xfff)) { + Store(m484(arg4), Local3) + } + if (LNotEqual(arg5, 0xfff)) { + Store(m484(arg5), Local4) + } + + if (ex00) { + Store(FLG2, tmp0) + CH03(ts, z064, 0, 0, 0) + } + + Store(m482(Local0, Local1, Local2, Local3, Local4, tmp0, arg0), Local7) + + if (ex00) { + CH04(ts, 0, 0xff, z064, 1, 0, 0) + } elseif (FLG1) { + // Verify the first result + m489(ts, Local7, Local5) + } + + if (com2) { + + // The same operation but the first two arguments interchange + + if (LNotEqual(arg6, FLG0)) { + if (LEqual(com2, 2)) { + Store(0, ex00) + Store(m48c(PKG2, arg6), Local5) + Store(ObjectType(Local5), Local7) + if (LEqual(Local7, 2)) { + if (LEqual(Local5, "Exc")) { + Store(1, ex00) + } + } + } + } + + if (ex00) { + CH03(ts, z064, 2, 0, 0) + } + + Store(m482(Local1, Local0, Local2, Local3, Local4, tmp0, arg0), Local7) + + if (ex00) { + CH04(ts, 0, 0xff, z064, 3, 0, 0) + } elseif (FLG1) { + // Verify the second result + m489(ts, Local7, Local5) + } + } + + return (Local7) +} + +// Init all parameters as non-usable +Method(m486) +{ + Store(0, df00) + Store(0, df01) + Store(0, df02) + Store(0, df03) + Store(0, df04) +} + +// Return the object of required type. +// Allowed types are {1-12,14}, == 0x5fff. +// Returned 0xfff is flag of "Uninitialized". +// +// These have to be implemented: +// +// Method, Thermal Zone, DDB Handle +// +Method(m487, 1, Serialized) +{ + switch (ToInteger (Arg0)) { + + case (0) { + // Uninitialized + Store(0xfff, Local7) + } + case (1) { + // Integers + Store(0x100, Local7) + } + case (2) { + // Strings + Store(0x204, Local7) + } + case (3) { + // Buffers + Store(0x300, Local7) + } + case (4) { + // Packages + Store(0x400, Local7) + } + case (5) { + // Field Units + Store(0x500, Local7) + } + case (6) { + // Devices + Store(0x600, Local7) + } + case (7) { + // Events + Store(0x700, Local7) + } + case (8) { + // Methods + Store(0x800, Local7) + } + case (9) { + // Mutexes + Store(0x900, Local7) + } + case (10) { + // Operation Regions + Store(0xa00, Local7) + } + case (11) { + // Power Resources + Store(0xb00, Local7) + } + case (12) { + // Processor + Store(0xc00, Local7) + } + /* + * case (0xd00) { + * // Thermal Zones + * Store(Debug, Local7) + * } + */ + case (14) { + // Buffer Field + Store(0xe00, Local7) + } + /* + * case (0xf00) { + * // DDB Handle + * Store(Debug, Local7) + * } + * + * + * case (0x1000) { + * // Debug Object + * Store(Debug, Local7) + * } + */ + + default { + if (LNotEqual(arg0, 0)) { + err("----------- ERROR, m487: incorrect Arg0:", z064, 1, 0, 0, 0, 0) + Store(arg0, Debug) + Store(0, Local7) + } + } + } + + return (Local7) +} + +// Initiate exception by inappropreate operand +Method(m488, 6) +{ + Store(0, Local7) + + Name(lpN0, 0) + Name(lpC0, 0) + + if (And(arg1, 0x5fff)) { + Store(16, lpN0) + Store(0, lpC0) + While (lpN0) { + ShiftLeft(1, lpC0, Local6) + if (And(arg1, Local6)) { + Store(m487(lpC0), Local5) + Store(m485(arg0, Local5, df01, df02, df03, df04, FLG0), Local7) + } + Decrement(lpN0) + Increment(lpC0) + } + } + + if (And(arg2, 0x5fff)) { + Store(16, lpN0) + Store(0, lpC0) + While (lpN0) { + ShiftLeft(1, lpC0, Local6) + if (And(arg2, Local6)) { + Store(m487(lpC0), Local5) + Store(m485(arg0, df00, Local5, df02, df03, df04, FLG0), Local7) + } + Decrement(lpN0) + Increment(lpC0) + } + } + + if (And(arg3, 0x5fff)) { + Store(16, lpN0) + Store(0, lpC0) + While (lpN0) { + ShiftLeft(1, lpC0, Local6) + if (And(arg3, Local6)) { + Store(m487(lpC0), Local5) + Store(m485(arg0, df00, df01, Local5, df03, df04, FLG0), Local7) + } + Decrement(lpN0) + Increment(lpC0) + } + } + + if (And(arg4, 0x5fff)) { + Store(16, lpN0) + Store(0, lpC0) + While (lpN0) { + ShiftLeft(1, lpC0, Local6) + if (And(arg4, Local6)) { + Store(m487(lpC0), Local5) + Store(m485(arg0, df00, df01, df02, Local5, df04, FLG0), Local7) + } + Decrement(lpN0) + Increment(lpC0) + } + } + + if (And(arg5, 0x5fff)) { + Store(16, lpN0) + Store(0, lpC0) + While (lpN0) { + ShiftLeft(1, lpC0, Local6) + if (And(arg5, Local6)) { + Store(m487(lpC0), Local5) + Store(m485(arg0, df00, df01, df02, df03, Local5, FLG0), Local7) + } + Decrement(lpN0) + Increment(lpC0) + } + } + + return (Local7) +} + +Method(m489, 3) +{ + Store(ObjectType(arg1), Local0) + Store(ObjectType(arg2), Local1) + + if (LNotEqual(Local0, Local1)) { + err(arg0, z064, 2, 0, 0, Local0, Local1) + } elseif (LNotEqual(arg1, arg2)) { + err(arg0, z064, 3, 0, 0, arg1, arg2) + } +} + +// Verify result +// ,,, +Method(m48a, 4) +{ + Multiply(arg3, 2, Local0) + Store(DeRefOf(Index(arg1, Local0)), Local7) + Increment(Local0) + Store(DeRefOf(Index(arg1, Local0)), Local6) + + if (F64) { + if (LNotEqual(arg2, Local7)) { + err(arg0, z064, 4, 0, 0, arg2, Local7) + } + } else { + if (LNotEqual(arg2, Local6)) { + err(arg0, z064, 5, 0, 0, arg2, Local6) + } + } +} + +// Integer two operands operation +// , +// +// NOTE: now it work only by particular parts, +// all together produce crashes. Uncomment +// in future. +Method(m48b, 2) +{ + // X - Integer + + Store(m485(arg0, arg1, 0x100, 0, 0, 0, 0), Local7) + + // X - String + + Store(m485(arg0, arg1, 0x200, 0, 0, 0, 1), Local7) + Store(m485(arg0, arg1, 0x201, 0, 0, 0, 2), Local7) + Store(m485(arg0, arg1, 0x202, 0, 0, 0, 3), Local7) + Store(m485(arg0, arg1, 0x203, 0, 0, 0, 4), Local7) + Store(m485(arg0, arg1, 0x204, 0, 0, 0, 5), Local7) + Store(m485(arg0, arg1, 0x205, 0, 0, 0, 6), Local7) + Store(m485(arg0, arg1, 0x206, 0, 0, 0, 7), Local7) + Store(m485(arg0, arg1, 0x207, 0, 0, 0, 8), Local7) + Store(m485(arg0, arg1, 0x208, 0, 0, 0, 9), Local7) + Store(m485(arg0, arg1, 0x209, 0, 0, 0, 10), Local7) + Store(m485(arg0, arg1, 0x20a, 0, 0, 0, 11), Local7) + Store(m485(arg0, arg1, 0x20b, 0, 0, 0, 12), Local7) + Store(m485(arg0, arg1, 0x20c, 0, 0, 0, 13), Local7) + Store(m485(arg0, arg1, 0x20d, 0, 0, 0, 14), Local7) + Store(m485(arg0, arg1, 0x20e, 0, 0, 0, 15), Local7) + Store(m485(arg0, arg1, 0x20f, 0, 0, 0, 16), Local7) + Store(m485(arg0, arg1, 0x210, 0, 0, 0, 17), Local7) + + // X - Buffer + + Store(m485(arg0, arg1, 0x300, 0, 0, 0, 18), Local7) + Store(m485(arg0, arg1, 0x301, 0, 0, 0, 19), Local7) + Store(m485(arg0, arg1, 0x302, 0, 0, 0, 20), Local7) + Store(m485(arg0, arg1, 0x303, 0, 0, 0, 21), Local7) + Store(m485(arg0, arg1, 0x304, 0, 0, 0, 22), Local7) + Store(m485(arg0, arg1, 0x305, 0, 0, 0, 23), Local7) + Store(m485(arg0, arg1, 0x306, 0, 0, 0, 24), Local7) + Store(m485(arg0, arg1, 0x307, 0, 0, 0, 25), Local7) + Store(m485(arg0, arg1, 0x308, 0, 0, 0, 26), Local7) + + // X - Field Unit + + Store(m485(arg0, arg1, 0x500, 0, 0, 0, 27), Local7) + Store(m485(arg0, arg1, 0x501, 0, 0, 0, 28), Local7) + Store(m485(arg0, arg1, 0x502, 0, 0, 0, 29), Local7) + Store(m485(arg0, arg1, 0x503, 0, 0, 0, 30), Local7) + Store(m485(arg0, arg1, 0x504, 0, 0, 0, 31), Local7) + Store(m485(arg0, arg1, 0x505, 0, 0, 0, 32), Local7) + Store(m485(arg0, arg1, 0x506, 0, 0, 0, 33), Local7) + Store(m485(arg0, arg1, 0x507, 0, 0, 0, 34), Local7) + Store(m485(arg0, arg1, 0x508, 0, 0, 0, 35), Local7) + Store(m485(arg0, arg1, 0x509, 0, 0, 0, 36), Local7) + Store(m485(arg0, arg1, 0x50a, 0, 0, 0, 37), Local7) + + // X - Buffer Field + + Store(m485(arg0, arg1, 0xe00, 0, 0, 0, 38), Local7) + Store(m485(arg0, arg1, 0xe01, 0, 0, 0, 39), Local7) + Store(m485(arg0, arg1, 0xe02, 0, 0, 0, 40), Local7) + Store(m485(arg0, arg1, 0xe03, 0, 0, 0, 41), Local7) + Store(m485(arg0, arg1, 0xe04, 0, 0, 0, 42), Local7) + Store(m485(arg0, arg1, 0xe05, 0, 0, 0, 43), Local7) + Store(m485(arg0, arg1, 0xe06, 0, 0, 0, 44), Local7) + Store(m485(arg0, arg1, 0xe07, 0, 0, 0, 45), Local7) + Store(m485(arg0, arg1, 0xe08, 0, 0, 0, 46), Local7) + Store(m485(arg0, arg1, 0xe09, 0, 0, 0, 47), Local7) + Store(m485(arg0, arg1, 0xe0a, 0, 0, 0, 48), Local7) +} + +// Return element of Package +// , +// pair: {F64-element, F32-element} +Method(m48c, 2) +{ + Multiply(arg1, 2, Local0) + + if (F64) { + Store(DeRefOf(Index(arg0, Local0)), Local7) + } else { + Increment(Local0) + Store(DeRefOf(Index(arg0, Local0)), Local7) + } + return (Local7) +} + +// arg0 - opcode of operation +// +// arg1 - type of 0-th argument +// arg2 - type of 1-th argument +// arg3 - type of 2-th argument +// arg4 - type of 3-th argument +// +// arg5 - expected 64-bit result +// arg6 - expected 32-bit result +Method(m48d, 7) +{ + Name(ts, "m48d") + Name(tmp0, 0) + + if (0) { + Store("##################################################################", Debug) + Store(arg6, Debug) + } + + Name(ex00, 0) + + if (F64) { + Store(ObjectType(arg5), Local0) + if (LEqual(Local0, 2)) { + if (LEqual(arg5, "Exc")) { + Store(1, ex00) + } + } + } else { + Store(ObjectType(arg6), Local0) + if (LEqual(Local0, 2)) { + if (LEqual(arg6, "Exc")) { + Store(1, ex00) + } + } + } + + Store(0, Local7) + + // m482: + // + // arg0-arg4 - parameters of operators + // arg5 - miscellaneous + // arg6 - opcode of operation + + Store(m484(arg1), Local0) + Store(m484(arg2), Local1) + Store(m484(arg3), Local2) + Store(m484(arg4), Local3) + + if (ex00) { + Store(FLG2, tmp0) + CH03(ts, z064, 4, 0, 0) + } + + Store(m482(Local0, Local1, Local2, Local3, 0, tmp0, arg0), Local7) + + if (ex00) { + CH04(ts, 0, 0xff, z064, 5, 0, 0) + } else { + + // Verify the result + + if (F64) { + m489(ts, Local7, arg5) + } else { + m489(ts, Local7, arg6) + } + } + + return (Local7) +} diff --git a/tests/aslts/src/runtime/common/conversion/otest.asl b/tests/aslts/src/runtime/common/conversion/otest.asl new file mode 100644 index 0000000..5096248 --- /dev/null +++ b/tests/aslts/src/runtime/common/conversion/otest.asl @@ -0,0 +1,4449 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + +/* + + ============================ + !!!!!!!!!!!!!!!!!!!!!!!!!!!! + IT IS IN PROGRESS !!!!!!!!!! + !!!!!!!!!!!!!!!!!!!!!!!!!!!! + ============================ + +SEE: LEqual (and LGreater ?) tests were mostly checked for 64-bit mode only. + Do that after ACPICA bugs are fixed. +SEE: what can be removed from m48b +*/ + +// +// Implicit Source Operand Conversion, complex test +// + +Name(z065, 65) + +// Acquire (mux, wrd) => Boolean +// +// Total scale of unacceptable types: +// SyncObject: 0x5cff +// Total scale of acceptable types: +// SyncObject: 0x0200 +Method(m400, 1) +{ + Name(op, 0) + + Name(ts, "m400") + + ts00(ts) + + if (arg0) { + m486() + Store(0x900, df00) + Store(m488(op, 0x5cff, 0, 0, 0, 0), Local7) + } else { + + Store(m48d(op, 0x900, 0, 0, 0, Zero, Zero), Local7) + Store(m48d(op, 0x901, 0, 0, 0, Zero, Zero), Local7) + } +} + +// Add, check all unavailable non-hex symbols +Method(m4a2, 1) +{ + Name(ts, "m4a2") + + Name(s000, "`-=qwrtyuiop[]\\sghjkl;'zxvnm,./~!@#$%^&*()_+QWRTYUIOP{}|SGHJKL:\"ZXVNM<>? ") + + Name(lpN0, 73) + Name(lpC0, 0) + + While (lpN0) { + + Store(m4a1(s000, lpC0), Local0) + + Store(ObjectType(Local0), Local1) + if (LNotEqual(Local1, 2)) { + err(arg0, z065, 0, 0, 0, Local1, 2) + } else { + Store(SizeOf(Local0), Local1) + if (LNotEqual(Local1, 1)) { + err(arg0, z065, 1, 0, 0, Local1, 1) + } else { + CH03(ts, z065, 0, 0, 0) + Add(Local0, 0, Local7) + CH04(arg0, 0, 34, z065, 1, 0, 0) // AE_BAD_HEX_CONSTANT + + CH03(ts, z065, 2, 0, 0) + Add(0, Local0, Local7) + CH04(arg0, 0, 34, z065, 3, 0, 0) // AE_BAD_HEX_CONSTANT + } + } + + Store(Local0, Debug) + + Decrement(lpN0) + Increment(lpC0) + } +} + +// Add, check all available hex symbols +Method(m4a4, 1) +{ + Name(ts, "m4a4") + + Name(s000, "0123456789abcdefABCDEF") + + Name(lpN0, 22) + Name(lpC0, 0) + + While (lpN0) { + + Store(m4a1(s000, lpC0), Local0) + + Store(ObjectType(Local0), Local1) + if (LNotEqual(Local1, 2)) { + err(arg0, z065, 2, 0, 0, Local1, 2) + } else { + Store(SizeOf(Local0), Local1) + if (LNotEqual(Local1, 1)) { + err(arg0, z065, 3, 0, 0, Local1, 1) + } else { + CH03(ts, z065, 4, 0, 0) + Add(Local0, 0, Local7) + CH03(ts, z065, 5, 0, 0) + + CH03(ts, z065, 6, 0, 0) + Add(0, Local0, Local7) + CH03(ts, z065, 7, 0, 0) + } + } + + Store(Local0, Debug) + + Decrement(lpN0) + Increment(lpC0) + } +} + +// Add, checkings in accordance with the Table 1 +Method(m4a0, 1) +{ + Name(ts, "m4a0") + + ts00(ts) + + if (arg0) { + + CH03(ts, z065, 8, 0, 0) + Add("fedcba98765432101", 0, Local7) + CH04(ts, 0, 34, z065, 9, 0, 0) // AE_BAD_HEX_CONSTANT + + CH03(ts, z065, 10, 0, 0) + Add(0, "fedcba98765432101", Local7) + CH04(ts, 0, 34, z065, 11, 0, 0) // AE_BAD_HEX_CONSTANT + + CH03(ts, z065, 12, 0, 0) + Add("1234q", 0, Local7) + CH04(ts, 0, 34, z065, 13, 0, 0) // AE_BAD_HEX_CONSTANT + + CH03(ts, z065, 14, 0, 0) + Add(0, "1234q", Local7) + CH04(ts, 0, 34, z065, 15, 0, 0) // AE_BAD_HEX_CONSTANT + + +if (0) { + + CH03(ts, z065, 16, 0, 0) + Add("0xfedcba98765432", 0, Local7) + CH04(ts, 0, 34, z065, 17, 0, 0) // AE_BAD_HEX_CONSTANT + + CH03(ts, z065, 18, 0, 0) + Add(0, "0xfedcba98765432", Local7) + CH04(ts, 0, 34, z065, 19, 0, 0) // AE_BAD_HEX_CONSTANT + + CH03(ts, z065, 20, 0, 0) + Add("", 0, Local7) + CH04(ts, 0, 34, z065, 21, 0, 0) // AE_BAD_HEX_CONSTANT + + CH03(ts, z065, 22, 0, 0) + Add(0, "", Local7) + CH04(ts, 0, 34, z065, 23, 0, 0) // AE_BAD_HEX_CONSTANT + + CH03(ts, z065, 24, 0, 0) + Add(" ", 0, Local7) + CH04(ts, 0, 34, z065, 25, 0, 0) // AE_BAD_HEX_CONSTANT + + CH03(ts, z065, 26, 0, 0) + Add(0, " ", Local7) + CH04(ts, 0, 34, z065, 27, 0, 0) // AE_BAD_HEX_CONSTANT +} + + m4a2(ts) + + } else { + + // Integers, directly + + Add(0321, 0, Local7) + m4c0(ts, Local7, 0xd1, 0xd1) + + Add(9876543210, 0, Local7) + m4c0(ts, Local7, 0x000000024CB016EA, 0x4CB016EA) + + Add(0xfedcba9876543210, 0, Local7) + m4c0(ts, Local7, 0xFEDCBA9876543210, 0x76543210) + + Add(0, 0, Local7) + m4c0(ts, Local7, 0, 0) + + Add(0xffffffffffffffff, 0, Local7) + m4c0(ts, Local7, 0xffffffffffffffff, 0xffffffff) + + Add(0, 0321, Local7) + m4c0(ts, Local7, 0xd1, 0xd1) + + Add(0, 9876543210, Local7) + m4c0(ts, Local7, 0x000000024CB016EA, 0x4CB016EA) + + Add(0, 0xfedcba9876543210, Local7) + m4c0(ts, Local7, 0xFEDCBA9876543210, 0x76543210) + + Add(0, 0xffffffffffffffff, Local7) + m4c0(ts, Local7, 0xffffffffffffffff, 0xffffffff) + + + // Strings, directly + + Add("0321", 0, Local7) + m4c0(ts, Local7, 0x321, 0x321) + + Add("9876543210", 0, Local7) + m4c0(ts, Local7, 0x9876543210, 0x76543210) + + Add("321", 0, Local7) + m4c0(ts, Local7, 0x321, 0x321) + + Add("fedcba9876543210", 0, Local7) + m4c0(ts, Local7, 0xfedcba9876543210, 0x76543210) + + m4a4(ts) + + // Buffers + // Buffer Units + + } + +/* + Add(xxxxxx, 0, Local7) + m4c0(ts, Local7, 0, 0) + + Add("xxxxxx", 0, Local7) + m4c0(ts, Local7, 0, 0) +*/ + +if (0) { + Store(9876543210, Debug) +} +} + +// Add (int, int, Result) => Integer +// +// Total scale of unacceptable types: +// Addend1: 0x1ed1 +// Addend2: 0x1ed1 +// Total scale of acceptable types: +// Addend1: 0x402e +// Addend1: 0x402e +Method(m401, 1) +{ + Name(op, 1) + + ts00("m401") + + // Expected results: 64-bit, 32-bit + Name(p000, Package() { + + // X - Integer + + 0x58765432, 0x58765432, + + // X - String + + "Exc", "Exc", + "Exc", "Exc", + "Exc", "Exc", + "Exc", "Exc", + + 0x9876, 0x9876, + 0xabcd, 0xabcd, + 0x1234567890987654, 0x90987654, + 0xdafecbaabbddffee, 0xbbddffee, + 0x1234567890abcdef, 0x90abcdef, + 0xfdeacb0132547698, 0x32547698, + + "Exc", "Exc", + "Exc", "Exc", + "Exc", "Exc", + "Exc", "Exc", + "Exc", "Exc", + "Exc", "Exc", + "Exc", "Exc", + + // X - Buffer + + 0x832291, 0x832291, + 0x80, 0x80, + 0x8281, 0x8281, + 0x86858483, 0x86858483, + 0x9b9A999887, 0x9A999887, + 0xa3a2a1a09F9E9D9C, 0x9F9E9D9C, + 0xbbbab9b8A7A6A5A4, 0xA7A6A5A4, + 0x6261605F94939291, 0x94939291, + 0x0807060504030201, 0x04030201, + + // X - Field Unit + + 0x7f, 0x7f, + 0x07, 0x07, + 0x8d, 0x8d, + 0x8c8d, 0x8c8d, + 0x8a8b8c8d, 0x8a8b8c8d, + 0x1ffffffff, 0xffffffff, + 0x5cdefa1988374658, 0x88374658, + 0xdcdefa1988379a58, 0x88379a58, + 0xdcdefa198837c758, 0x8837c758, + 0xEFCDAB9078563482, 0x78563482, + 0x52CD1299EFCDAB93, 0xEFCDAB93, + + // X - Buffer Field + + 0x918654ab, 0x918654ab, + 0x07, 0x07, + 0x8d, 0x8d, + 0x8c8d, 0x8c8d, + 0x8a8b8c8d, 0x8a8b8c8d, + 0x1ffffffff, 0xffffffff, + 0x5cdefa1988374658, 0x88374658, + 0xdcdefa1988379a58, 0x88379a58, + 0xdcdefa198837c758, 0x8837c758, + 0xEFCDAB9078563482, 0x78563482, + 0x52CD1299EFCDAB93, 0xEFCDAB93, + }) + + if (arg0) { + + if (0) { + m486() + Store(0x100, df00) + Store(0x100, df01) + Store(m488(op, 0x1ed1, 0x1ed1, 0, 0, 0), Local7) + } + m4a0(1) + } elseif (0) { + Store(1, FLG1) + Store(1, com2) + Store(p000, PKG1) + Store(PKG0, PKG2) + m48b(op, 0x104) + Store(PKG0, PKG1) + Store(PKG0, PKG2) + Store(0, com2) + Store(0, FLG1) + } else { + m4a0(0) + } +} + +// And (int, int, Result) => Integer +// +// Total scale of unacceptable types: +// Source1: 0x1ed1 +// Source2: 0x1ed1 +// Total scale of acceptable types: +// Source1: 0x402e +// Source2: 0x402e +Method(m402, 1) +{ + Name(op, 2) + + ts00("m402") + + // Expected results: 64-bit, 32-bit + Name(p000, Package() { + + // X - Integer + + 0x58765432, 0x58765432, + + // X - String + + "Exc", "Exc", + "Exc", "Exc", + "Exc", "Exc", + "Exc", "Exc", + + 0x9876, 0x9876, + 0xabcd, 0xabcd, + 0x1234567890987654, 0x90987654, + 0xdafecbaabbddffee, 0xbbddffee, + 0x1234567890abcdef, 0x90abcdef, + 0xfdeacb0132547698, 0x32547698, + + "Exc", "Exc", + "Exc", "Exc", + "Exc", "Exc", + "Exc", "Exc", + "Exc", "Exc", + "Exc", "Exc", + "Exc", "Exc", + + // X - Buffer + + 0x832291, 0x832291, + 0x80, 0x80, + 0x8281, 0x8281, + 0x86858483, 0x86858483, + 0x9b9A999887, 0x9A999887, + 0xa3a2a1a09F9E9D9C, 0x9F9E9D9C, + 0xbbbab9b8A7A6A5A4, 0xA7A6A5A4, + 0x6261605F94939291, 0x94939291, + 0x0807060504030201, 0x04030201, + + // X - Field Unit + + 0x7f, 0x7f, + 0x07, 0x07, + 0x8d, 0x8d, + 0x8c8d, 0x8c8d, + 0x8a8b8c8d, 0x8a8b8c8d, + 0x1ffffffff, 0xffffffff, + 0x5cdefa1988374658, 0x88374658, + 0xdcdefa1988379a58, 0x88379a58, + 0xdcdefa198837c758, 0x8837c758, + 0xEFCDAB9078563482, 0x78563482, + 0x52CD1299EFCDAB93, 0xEFCDAB93, + + // X - Buffer Field + + 0x918654ab, 0x918654ab, + 0x07, 0x07, + 0x8d, 0x8d, + 0x8c8d, 0x8c8d, + 0x8a8b8c8d, 0x8a8b8c8d, + 0x1ffffffff, 0xffffffff, + 0x5cdefa1988374658, 0x88374658, + 0xdcdefa1988379a58, 0x88379a58, + 0xdcdefa198837c758, 0x8837c758, + 0xEFCDAB9078563482, 0x78563482, + 0x52CD1299EFCDAB93, 0xEFCDAB93, + }) + + if (arg0) { + m486() + Store(0x100, df00) + Store(0x100, df01) + Store(m488(op, 0x1ed1, 0x1ed1, 0, 0, 0), Local7) + } else { + Store(1, FLG1) + Store(1, com2) + Store(p000, PKG1) + Store(PKG0, PKG2) + m48b(op, 0x106) + Store(PKG0, PKG1) + Store(PKG0, PKG2) + Store(0, com2) + Store(0, FLG1) + } +} + +// Concatenate({int|str|buf}, {int|str|buf}, Result) => ComputationalData +// +// Total scale of unacceptable types: +// Source1: 0x1ed1 +// Source2: 0x1ed1 +// Total scale of acceptable types: +// Source1: 0x402e +// Source2: 0x402e +Method(m403, 1) +{ + Name(op, 3) + + ts00("m403") + + // Expected results: 64-bit, 32-bit + Name(p000, Package() { + + // X - Integer + + Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB,0x32,0x54,0x76,0x58,0,0,0,0}, + Buffer() {0x78,0x56,0x34,0x42,0x32,0x54,0x76,0x58}, + + // X - String + + "Exc", "Exc", + "Exc", "Exc", + "Exc", "Exc", + "Exc", "Exc", + + Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB, + 0x76,0x98,0,0,0,0,0,0}, + Buffer() {0x78,0x56,0x34,0x42,0x76,0x98,0,0}, + + Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB, + 0xcd,0xab,0,0,0,0,0,0}, + Buffer() {0x78,0x56,0x34,0x42,0xcd,0xab,0,0}, + + Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB, + 0x54,0x76,0x98,0x90,0x78,0x56,0x34,0x12}, + Buffer() {0x78,0x56,0x34,0x42,0x54,0x76,0x98,0x90}, + + Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB, + 0xEE,0xFF,0xDD,0xBB,0xAA,0xCB,0xFE,0xDA}, + Buffer() {0x78,0x56,0x34,0x42,0xEE,0xFF,0xDD,0xBB}, + + Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB, + 0xEF,0xCD,0xAB,0x90,0x78,0x56,0x34,0x12}, + Buffer() {0x78,0x56,0x34,0x42,0xEF,0xCD,0xAB,0x90}, + + Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB, + 0x98,0x76,0x54,0x32,0x01,0xCB,0xEA,0xFD}, + Buffer() {0x78,0x56,0x34,0x42,0x98,0x76,0x54,0x32}, + + "Exc", "Exc", + "Exc", "Exc", + "Exc", "Exc", + "Exc", "Exc", + "Exc", "Exc", + "Exc", "Exc", + "Exc", "Exc", + + // X - Buffer + + Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB, + 0x91,0x22,0x83,0,0,0,0,0}, + Buffer() {0x78,0x56,0x34,0x42,0x91,0x22,0x83,0}, + + Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB, + 0x80,0,0,0,0,0,0,0}, + Buffer() {0x78,0x56,0x34,0x42,0x80,0,0,0}, + + Buffer() {0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB, + 0x81,0x82,0,0,0,0,0,0}, + Buffer() {0x78,0x56,0x34,0x42,0x81,0x82,0,0}, + + 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}, + }) + + // Expected results: 64-bit, 32-bit + Name(p001, Package() { + + // X - Integer + + Buffer() {0x32,0x54,0x76,0x58,0x00,0x00,0x00,0x00,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0x32,0x54,0x76,0x58,0x78,0x56,0x34,0x42}, + + // X - String + + "qwrtABEDF18942345678", + "qwrt42345678", + + "svnmjklABEDF18942345678", + "svnmjkl42345678", + + "1234zyqABEDF18942345678", + "1234zyq42345678", + + "abcdefzyqABEDF18942345678", + "abcdefzyq42345678", + + "9876ABEDF18942345678", + "987642345678", + + "aBcDABEDF18942345678", + "aBcD42345678", + + "1234567890987654ABEDF18942345678", + "123456789098765442345678", + + "daFeCBaabbddffeeABEDF18942345678", + "daFeCBaabbddffee42345678", + + "1234567890abCdeFABEDF18942345678", + "1234567890abCdeF42345678", + + "FdeAcb0132547698ABEDF18942345678", + "FdeAcb013254769842345678", + + "12345678909876540ABEDF18942345678", + "1234567890987654042345678", + + "fdeacb01325476980ABEDF18942345678", + "fdeacb0132547698042345678", + + "123456789011223344556677889998765432199983337744ABEDF18942345678", + "12345678901122334455667788999876543219998333774442345678", + + "abcdefaAbbccddeeffffeeddccaabbddeeffaaaabbbbeeefffddABEDF18942345678", + "abcdefaAbbccddeeffffeeddccaabbddeeffaaaabbbbeeefffdd42345678", + + "1234567890abcdef9876543210fedbca1122334455667788fdeacbABEDF18942345678", + "1234567890abcdef9876543210fedbca1122334455667788fdeacb42345678", + + "defa1234567890abcdef9876543210fedbca1122334455667788fdeacbABEDF18942345678", + "defa1234567890abcdef9876543210fedbca1122334455667788fdeacb42345678", + + "123456789011223344556677889998765432199983337744zABEDF18942345678", + "123456789011223344556677889998765432199983337744z42345678", + + // X - Buffer + + Buffer() {0x91,0x22,0x83,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0x91,0x22,0x83,0x78,0x56,0x34,0x42}, + + Buffer() {0x80,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0x80,0x78,0x56,0x34,0x42}, + + Buffer() {0x81,0x82,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0x81,0x82,0x78,0x56,0x34,0x42}, + + Buffer() {0x83,0x84,0x85,0x86,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0x83,0x84,0x85,0x86,0x78,0x56,0x34,0x42}, + + Buffer() {0x87,0x98,0x99,0x9A,0x9B,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0x87,0x98,0x99,0x9A,0x9B,0x78,0x56,0x34,0x42}, + + Buffer() {0x9C,0x9D,0x9E,0x9F,0xA0,0xA1,0xA2,0xA3,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0x9C,0x9D,0x9E,0x9F,0xA0,0xA1,0xA2,0xA3,0x78,0x56,0x34,0x42}, + + Buffer() {0xA4,0xA5,0xA6,0xA7,0xB8,0xB9,0xBA,0xBB,0xBC,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0xA4,0xA5,0xA6,0xA7,0xB8,0xB9,0xBA,0xBB,0xBC,0x78,0x56,0x34,0x42}, + + Buffer() { + 0x91, 0x92, 0x93, 0x94, 95, 96, 97, 98, 99, 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, + 0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() { + 0x91, 0x92, 0x93, 0x94, 95, 96, 97, 98, 99, 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, + 0x78,0x56,0x34,0x42}, + + 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,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, + 0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + 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,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, + 0x78,0x56,0x34,0x42}, + + // X - Field Unit + + Buffer() {0x7F,0,0,0,0,0,0,0,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0x7F,0,0,0,0x78,0x56,0x34,0x42}, + + Buffer() {0x07,0,0,0,0,0,0,0,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0x07,0,0,0,0x78,0x56,0x34,0x42}, + + Buffer() {0x8d,0,0,0,0,0,0,0,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0x8d,0,0,0,0x78,0x56,0x34,0x42}, + + Buffer() {0x8d,0x8c,0,0,0,0,0,0,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0x8d,0x8c,0,0,0x78,0x56,0x34,0x42}, + + Buffer() {0x8d,0x8c,0x8b,0x8a,0,0,0,0,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0x8d,0x8c,0x8b,0x8a,0x78,0x56,0x34,0x42}, + + Buffer() {0xFF,0xFF,0xFF,0xFF,0x01,0,0,0,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0xFF,0xFF,0xFF,0xFF,0x01,0x78,0x56,0x34,0x42}, + + Buffer() {0x58,0x46,0x37,0x88,0x19,0xFA,0xDE,0x5C,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0x58,0x46,0x37,0x88,0x19,0xFA,0xDE,0x5C,0x78,0x56,0x34,0x42}, + + + Buffer() {0x58,0x9A,0x37,0x88,0x19,0xFA,0xDE,0xDC,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0x58,0x9A,0x37,0x88,0x19,0xFA,0xDE,0xDC,0x78,0x56,0x34,0x42}, + + Buffer() {0x58,0xC7,0x37,0x88,0x19,0xFA,0xDE,0xDC,0x00,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0x58,0xC7,0x37,0x88,0x19,0xFA,0xDE,0xDC,0x00,0x78,0x56,0x34,0x42}, + + Buffer() {0x82,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF,0x55, + 0,0,0,0,0,0,0,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0x82,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF,0x55, + 0,0,0,0,0,0,0,0x78,0x56,0x34,0x42}, + + Buffer() {0x93,0xAB,0xCD,0xEF,0x99,0x12,0xCD,0x52,0x87, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0x93,0xAB,0xCD,0xEF,0x99,0x12,0xCD,0x52,0x87, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0x78,0x56,0x34,0x42}, + + // X - Buffer Field + + Buffer() {0xAB,0x54,0x86,0x91,0,0,0,0,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0xAB,0x54,0x86,0x91,0x78,0x56,0x34,0x42}, + + Buffer() {0x07,0,0,0,0,0,0,0,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0x07,0,0,0,0x78,0x56,0x34,0x42}, + + Buffer() {0x8D,0,0,0,0,0,0,0,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0x8D,0,0,0,0x78,0x56,0x34,0x42}, + + Buffer() {0x8D,0x8c,0,0,0,0,0,0,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0x8D,0x8c,0,0,0x78,0x56,0x34,0x42}, + + Buffer() {0x8D,0x8c,0x8b,0x8a,0,0,0,0,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0x8D,0x8c,0x8b,0x8a,0x78,0x56,0x34,0x42}, + + Buffer() {0xff,0xff,0xff,0xff,0x01,0,0,0,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0xff,0xff,0xff,0xff,0x01,0x78,0x56,0x34,0x42}, + + Buffer() {0x58,0x46,0x37,0x88,0x19,0xFA,0xDE,0x5C,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0x58,0x46,0x37,0x88,0x19,0xFA,0xDE,0x5C,0x78,0x56,0x34,0x42}, + + Buffer() {0x58,0x9A,0x37,0x88,0x19,0xFA,0xDE,0xDC,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0x58,0x9A,0x37,0x88,0x19,0xFA,0xDE,0xDC,0x78,0x56,0x34,0x42}, + + Buffer() {0x58,0xC7,0x37,0x88,0x19,0xFA,0xDE,0xDC,0x00,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0x58,0xC7,0x37,0x88,0x19,0xFA,0xDE,0xDC,0x00,0x78,0x56,0x34,0x42}, + + Buffer() {0x82,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF,0x55, + 0,0,0,0,0,0,0,0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0x82,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF,0x55, + 0,0,0,0,0,0,0,0x78,0x56,0x34,0x42}, + + Buffer() {0x93,0xAB,0xCD,0xEF,0x99,0x12,0xCD,0x52,0x87, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0x78,0x56,0x34,0x42,0x89,0xF1,0xED,0xAB}, + Buffer() {0x93,0xAB,0xCD,0xEF,0x99,0x12,0xCD,0x52,0x87, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0x78,0x56,0x34,0x42}, + }) + + // Expected results: 64-bit, 32-bit + Name(p002, Package() { + + // X - Integer + + "98760000000058765432", "987658765432", + + // X - String + + "9876qwrt", "9876qwrt", + "9876svnmjkl", "9876svnmjkl", + "98761234zyq", "98761234zyq", + "9876abcdefzyq", "9876abcdefzyq", + "98769876", "98769876", + "9876aBcD", "9876aBcD", + "98761234567890987654", "98761234567890987654", + "9876daFeCBaabbddffee", "9876daFeCBaabbddffee", + "98761234567890abCdeF", "98761234567890abCdeF", + "9876FdeAcb0132547698", "9876FdeAcb0132547698", + + "987612345678909876540", "987612345678909876540", + "9876fdeacb01325476980", "9876fdeacb01325476980", + + "9876123456789011223344556677889998765432199983337744", + "9876123456789011223344556677889998765432199983337744", + + "9876abcdefaAbbccddeeffffeeddccaabbddeeffaaaabbbbeeefffdd", + "9876abcdefaAbbccddeeffffeeddccaabbddeeffaaaabbbbeeefffdd", + + "98761234567890abcdef9876543210fedbca1122334455667788fdeacb", + "98761234567890abcdef9876543210fedbca1122334455667788fdeacb", + + "9876defa1234567890abcdef9876543210fedbca1122334455667788fdeacb", + "9876defa1234567890abcdef9876543210fedbca1122334455667788fdeacb", + + "9876123456789011223344556677889998765432199983337744z", + "9876123456789011223344556677889998765432199983337744z", + + // X - Buffer + + "987691 22 83", "987691 22 83", + "987680", "987680", + "987681 82", "987681 82", + "987683 84 85 86", "987683 84 85 86", + "987687 98 99 9A 9B", "987687 98 99 9A 9B", + "98769C 9D 9E 9F A0 A1 A2 A3", "98769C 9D 9E 9F A0 A1 A2 A3", + "9876A4 A5 A6 A7 B8 B9 BA BB BC", "9876A4 A5 A6 A7 B8 B9 BA BB BC", + "Exc", "Exc", + "Exc", "Exc", + + // X - Field Unit + + "9876000000000000007F", "98760000007F", + "98760000000000000007", "987600000007", + "9876000000000000008D", "98760000008D", + "98760000000000008C8D", "987600008C8D", + "9876000000008A8B8C8D", "98768A8B8C8D", + "987600000001FFFFFFFF", "9876FF FF FF FF 01", + "98765CDEFA1988374658", "987658 46 37 88 19 FA DE 5C", + "9876DCDEFA1988379A58", "987658 9A 37 88 19 FA DE DC", + "987658 C7 37 88 19 FA DE DC 00", "987658 C7 37 88 19 FA DE DC 00", + + "987682 34 56 78 90 AB CD EF 55 00 00 00 00 00 00 00", + "987682 34 56 78 90 AB CD EF 55 00 00 00 00 00 00 00", + + "987693 AB CD EF 99 12 CD 52 87 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00", + "987693 AB CD EF 99 12 CD 52 87 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00", + + // X - Buffer Field + + "987600000000918654AB", "9876918654AB", + "98760000000000000007", "987600000007", + "9876000000000000008D", "98760000008D", + "98760000000000008C8D", "987600008C8D", + "9876000000008A8B8C8D", "98768A8B8C8D", + "987600000001FFFFFFFF", "9876FF FF FF FF 01", + "98765CDEFA1988374658", "987658 46 37 88 19 FA DE 5C", + "9876DCDEFA1988379A58", "987658 9A 37 88 19 FA DE DC", + "987658 C7 37 88 19 FA DE DC 00", "987658 C7 37 88 19 FA DE DC 00", + + "987682 34 56 78 90 AB CD EF 55 00 00 00 00 00 00 00", + "987682 34 56 78 90 AB CD EF 55 00 00 00 00 00 00 00", + + "987693 AB CD EF 99 12 CD 52 87 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00", + "987693 AB CD EF 99 12 CD 52 87 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00", + }) + + // Expected results: 64-bit, 32-bit + Name(p003, Package() { + + // X - Integer + + Buffer() {0x32,0x54,0x76,0x58,0,0,0,0,0x76,0x98,0,0,0,0,0,0}, + Buffer() {0x32,0x54,0x76,0x58,0x76,0x98,0,0}, + + // X - String + + "qwrt9876", "qwrt9876", + "svnmjkl9876", "svnmjkl9876", + "1234zyq9876", "1234zyq9876", + "abcdefzyq9876", "abcdefzyq9876", + "98769876", "98769876", + "aBcD9876", "aBcD9876", + "12345678909876549876", "12345678909876549876", + "daFeCBaabbddffee9876", "daFeCBaabbddffee9876", + "1234567890abCdeF9876", "1234567890abCdeF9876", + "FdeAcb01325476989876", "FdeAcb01325476989876", + "123456789098765409876", "123456789098765409876", + "fdeacb013254769809876", "fdeacb013254769809876", + + "1234567890112233445566778899987654321999833377449876", + "1234567890112233445566778899987654321999833377449876", + + "abcdefaAbbccddeeffffeeddccaabbddeeffaaaabbbbeeefffdd9876", + "abcdefaAbbccddeeffffeeddccaabbddeeffaaaabbbbeeefffdd9876", + + "1234567890abcdef9876543210fedbca1122334455667788fdeacb9876", + "1234567890abcdef9876543210fedbca1122334455667788fdeacb9876", + + "defa1234567890abcdef9876543210fedbca1122334455667788fdeacb9876", + "defa1234567890abcdef9876543210fedbca1122334455667788fdeacb9876", + + "123456789011223344556677889998765432199983337744z9876", + "123456789011223344556677889998765432199983337744z9876", + + // X - Buffer + + Buffer() {0x91,0x22,0x83,0x39,0x38,0x37,0x36}, + Buffer() {0x91,0x22,0x83,0x39,0x38,0x37,0x36}, + + Buffer() {0x80,0x39,0x38,0x37,0x36}, + Buffer() {0x80,0x39,0x38,0x37,0x36}, + + Buffer() {0x81,0x82,0x39,0x38,0x37,0x36}, + Buffer() {0x81,0x82,0x39,0x38,0x37,0x36}, + + + Buffer() {0x83,0x84,0x85,0x86,0x39,0x38,0x37,0x36}, + Buffer() {0x83,0x84,0x85,0x86,0x39,0x38,0x37,0x36}, + + Buffer() {0x87,0x98,0x99,0x9A,0x9B,0x39,0x38,0x37,0x36}, + Buffer() {0x87,0x98,0x99,0x9A,0x9B,0x39,0x38,0x37,0x36}, + + + Buffer() {0x9C,0x9D,0x9E,0x9F,0xA0,0xA1,0xA2,0xA3,0x39,0x38,0x37,0x36}, + Buffer() {0x9C,0x9D,0x9E,0x9F,0xA0,0xA1,0xA2,0xA3,0x39,0x38,0x37,0x36}, + + Buffer() {0xA4,0xA5,0xA6,0xA7,0xB8,0xB9,0xBA,0xBB,0xBC,0x39,0x38,0x37,0x36}, + Buffer() {0xA4,0xA5,0xA6,0xA7,0xB8,0xB9,0xBA,0xBB,0xBC,0x39,0x38,0x37,0x36}, + + Buffer() {0x91,0x92,0x93,0x94,0x5F,0x60,0x61,0x62,0x63,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,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,0x39,0x38,0x37,0x36}, + Buffer() {0x91,0x92,0x93,0x94,0x5F,0x60,0x61,0x62,0x63,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,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,0x39,0x38,0x37,0x36}, + + Buffer() {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,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,0x00,0x01,0x39,0x38,0x37, + 0x36}, + Buffer() {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,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,0x00,0x01,0x39,0x38,0x37, + 0x36}, + + // X - Field Unit + + Buffer() {0x7F,0,0,0,0,0,0,0,0x76,0x98,0,0,0,0,0,0}, + Buffer() {0x7F,0,0,0,0x76,0x98,0,0}, + + Buffer() {0x07,0,0,0,0,0,0,0,0x76,0x98,0,0,0,0,0,0}, + Buffer() {0x07,0,0,0,0x76,0x98,0,0}, + + Buffer() {0x8d,0,0,0,0,0,0,0,0x76,0x98,0,0,0,0,0,0}, + Buffer() {0x8d,0,0,0,0x76,0x98,0,0}, + + Buffer() {0x8d,0x8c,0,0,0,0,0,0,0x76,0x98,0,0,0,0,0,0}, + Buffer() {0x8d,0x8c,0,0,0x76,0x98,0,0}, + + Buffer() {0x8d,0x8c,0x8b,0x8a,0,0,0,0,0x76,0x98,0,0,0,0,0,0}, + Buffer() {0x8d,0x8c,0x8b,0x8a,0x76,0x98,0,0}, + + Buffer() {0xff,0xff,0xff,0xff,0x01,0,0,0,0x76,0x98,0,0,0,0,0,0}, + Buffer() {0xff,0xff,0xff,0xff,0x01,0x39,0x38,0x37,0x36}, + + Buffer() {0x58,0x46,0x37,0x88,0x19,0xFA,0xDE,0x5C,0x76,0x98,0,0,0,0,0,0}, + Buffer() {0x58,0x46,0x37,0x88,0x19,0xFA,0xDE,0x5C,0x39,0x38,0x37,0x36}, + + Buffer() {0x58,0x9A,0x37,0x88,0x19,0xFA,0xDE,0xDC,0x76,0x98,0,0,0,0,0,0}, + Buffer() {0x58,0x9A,0x37,0x88,0x19,0xFA,0xDE,0xDC,0x39,0x38,0x37,0x36}, + + Buffer() {0x58,0xc7,0x37,0x88,0x19,0xFA,0xDE,0xDC,0,0x39,0x38,0x37,0x36}, + Buffer() {0x58,0xc7,0x37,0x88,0x19,0xFA,0xDE,0xDC,0,0x39,0x38,0x37,0x36}, + + Buffer() {0x82,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF,0x55,0,0,0,0,0,0,0,0x39,0x38,0x37,0x36}, + Buffer() {0x82,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF,0x55,0,0,0,0,0,0,0,0x39,0x38,0x37,0x36}, + + Buffer() {0x93,0xAB,0xCD,0xEF,0x99,0x12,0xCD,0x52,0x87,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x39,0x38,0x37,0x36}, + Buffer() {0x93,0xAB,0xCD,0xEF,0x99,0x12,0xCD,0x52,0x87,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x39,0x38,0x37,0x36}, + + // X - Buffer Field + + Buffer() {0xAB,0x54,0x86,0x91,0,0,0,0,0x76,0x98,0,0,0,0,0,0}, + Buffer() {0xAB,0x54,0x86,0x91,0x76,0x98,0,0}, + + Buffer() {0x07,0,0,0,0,0,0,0,0x76,0x98,0,0,0,0,0,0}, + Buffer() {0x07,0,0,0,0x76,0x98,0,0}, + + Buffer() {0x8d,0,0,0,0,0,0,0,0x76,0x98,0,0,0,0,0,0}, + Buffer() {0x8d,0,0,0,0x76,0x98,0,0}, + + Buffer() {0x8d,0x8c,0,0,0,0,0,0,0x76,0x98,0,0,0,0,0,0}, + Buffer() {0x8d,0x8c,0,0,0x76,0x98,0,0}, + + Buffer() {0x8d,0x8c,0x8b,0x8a,0,0,0,0,0x76,0x98,0,0,0,0,0,0}, + Buffer() {0x8d,0x8c,0x8b,0x8a,0x76,0x98,0,0}, + + Buffer() {0xff,0xff,0xff,0xff,0x01,0,0,0,0x76,0x98,0,0,0,0,0,0}, + Buffer() {0xff,0xff,0xff,0xff,0x01,0x39,0x38,0x37,0x36}, + + Buffer() {0x58,0x46,0x37,0x88,0x19,0xFA,0xDE,0x5C,0x76,0x98,0,0,0,0,0,0}, + Buffer() {0x58,0x46,0x37,0x88,0x19,0xFA,0xDE,0x5C,0x39,0x38,0x37,0x36}, + + Buffer() {0x58,0x9A,0x37,0x88,0x19,0xFA,0xDE,0xDC,0x76,0x98,0,0,0,0,0,0}, + Buffer() {0x58,0x9A,0x37,0x88,0x19,0xFA,0xDE,0xDC,0x39,0x38,0x37,0x36}, + + Buffer() {0x58,0xc7,0x37,0x88,0x19,0xFA,0xDE,0xDC,0,0x39,0x38,0x37,0x36}, + Buffer() {0x58,0xc7,0x37,0x88,0x19,0xFA,0xDE,0xDC,0,0x39,0x38,0x37,0x36}, + + Buffer() {0x82,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF,0x55,0,0,0,0,0,0,0,0x39,0x38,0x37,0x36}, + Buffer() {0x82,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF,0x55,0,0,0,0,0,0,0,0x39,0x38,0x37,0x36}, + + Buffer() {0x93,0xAB,0xCD,0xEF,0x99,0x12,0xCD,0x52,0x87,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x39,0x38,0x37,0x36}, + Buffer() {0x93,0xAB,0xCD,0xEF,0x99,0x12,0xCD,0x52,0x87,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x39,0x38,0x37,0x36}, + }) + + // Expected results: 64-bit, 32-bit + Name(p004, Package() { + + // X - Integer + + Buffer() {0x81,0x82,0x32,0x54,0x76,0x58,0,0,0,0}, + Buffer() {0x81,0x82,0x32,0x54,0x76,0x58}, + + // X - String + + Buffer() {0x81,0x82,0x71,0x77,0x72,0x74}, + Buffer() {0x81,0x82,0x71,0x77,0x72,0x74}, + + Buffer() {0x81,0x82,0x73,0x76,0x6E,0x6D,0x6A,0x6B,0x6C}, + Buffer() {0x81,0x82,0x73,0x76,0x6E,0x6D,0x6A,0x6B,0x6C}, + + Buffer() {0x81,0x82,0x31,0x32,0x33,0x34,0x7A,0x79,0x71}, + Buffer() {0x81,0x82,0x31,0x32,0x33,0x34,0x7A,0x79,0x71}, + + Buffer() {0x81,0x82,0x61,0x62,0x63,0x64,0x65,0x66,0x7A,0x79,0x71}, + Buffer() {0x81,0x82,0x61,0x62,0x63,0x64,0x65,0x66,0x7A,0x79,0x71}, + + Buffer() {0x81,0x82,0x39,0x38,0x37,0x36}, + Buffer() {0x81,0x82,0x39,0x38,0x37,0x36}, + + Buffer() {0x81,0x82,0x61,0x42,0x63,0x44}, + Buffer() {0x81,0x82,0x61,0x42,0x63,0x44}, + + Buffer() {0x81,0x82,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x39,0x38,0x37,0x36,0x35,0x34}, + Buffer() {0x81,0x82,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x39,0x38,0x37,0x36,0x35,0x34}, + + Buffer() {0x81,0x82,0x64,0x61,0x46,0x65,0x43,0x42,0x61,0x61,0x62,0x62,0x64,0x64,0x66,0x66,0x65,0x65}, + Buffer() {0x81,0x82,0x64,0x61,0x46,0x65,0x43,0x42,0x61,0x61,0x62,0x62,0x64,0x64,0x66,0x66,0x65,0x65}, + + Buffer() {0x81,0x82,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x61,0x62,0x43,0x64,0x65,0x46}, + Buffer() {0x81,0x82,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x61,0x62,0x43,0x64,0x65,0x46}, + + Buffer() {0x81,0x82,0x46,0x64,0x65,0x41,0x63,0x62,0x30,0x31,0x33,0x32,0x35,0x34,0x37,0x36,0x39,0x38}, + Buffer() {0x81,0x82,0x46,0x64,0x65,0x41,0x63,0x62,0x30,0x31,0x33,0x32,0x35,0x34,0x37,0x36,0x39,0x38}, + + Buffer() {0x81,0x82,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x39,0x38,0x37,0x36,0x35,0x34,0x30}, + Buffer() {0x81,0x82,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x39,0x38,0x37,0x36,0x35,0x34,0x30}, + + Buffer() {0x81,0x82,0x66,0x64,0x65,0x61,0x63,0x62,0x30,0x31,0x33,0x32,0x35,0x34,0x37,0x36,0x39,0x38,0x30}, + Buffer() {0x81,0x82,0x66,0x64,0x65,0x61,0x63,0x62,0x30,0x31,0x33,0x32,0x35,0x34,0x37,0x36,0x39,0x38,0x30}, + + Buffer() {0x81,0x82,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x31,0x31,0x32,0x32,0x33,0x33,0x34, + 0x34,0x35,0x35,0x36,0x36,0x37,0x37,0x38,0x38,0x39,0x39,0x39,0x38,0x37,0x36,0x35,0x34,0x33,0x32, + 0x31,0x39,0x39,0x39,0x38,0x33,0x33,0x33,0x37,0x37,0x34,0x34}, + Buffer() {0x81,0x82,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x31,0x31,0x32,0x32,0x33,0x33,0x34, + 0x34,0x35,0x35,0x36,0x36,0x37,0x37,0x38,0x38,0x39,0x39,0x39,0x38,0x37,0x36,0x35,0x34,0x33,0x32, + 0x31,0x39,0x39,0x39,0x38,0x33,0x33,0x33,0x37,0x37,0x34,0x34}, + + Buffer() {0x81,0x82,0x61,0x62,0x63,0x64,0x65,0x66,0x61,0x41,0x62,0x62,0x63,0x63,0x64,0x64,0x65,0x65, + 0x66,0x66,0x66,0x66,0x65,0x65,0x64,0x64,0x63,0x63,0x61,0x61,0x62,0x62,0x64,0x64,0x65,0x65, + 0x66,0x66,0x61,0x61,0x61,0x61,0x62,0x62,0x62,0x62,0x65,0x65,0x65,0x66,0x66,0x66,0x64,0x64}, + Buffer() {0x81,0x82,0x61,0x62,0x63,0x64,0x65,0x66,0x61,0x41,0x62,0x62,0x63,0x63,0x64,0x64,0x65,0x65, + 0x66,0x66,0x66,0x66,0x65,0x65,0x64,0x64,0x63,0x63,0x61,0x61,0x62,0x62,0x64,0x64,0x65,0x65, + 0x66,0x66,0x61,0x61,0x61,0x61,0x62,0x62,0x62,0x62,0x65,0x65,0x65,0x66,0x66,0x66,0x64,0x64}, + + Buffer() {0x81,0x82,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x61,0x62,0x63,0x64,0x65, + 0x66,0x39,0x38,0x37,0x36,0x35,0x34,0x33,0x32,0x31,0x30,0x66,0x65,0x64,0x62,0x63,0x61, + 0x31,0x31,0x32,0x32,0x33,0x33,0x34,0x34,0x35,0x35,0x36,0x36,0x37,0x37,0x38,0x38,0x66, + 0x64,0x65,0x61,0x63,0x62}, + Buffer() {0x81,0x82,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x61,0x62,0x63,0x64,0x65, + 0x66,0x39,0x38,0x37,0x36,0x35,0x34,0x33,0x32,0x31,0x30,0x66,0x65,0x64,0x62,0x63,0x61, + 0x31,0x31,0x32,0x32,0x33,0x33,0x34,0x34,0x35,0x35,0x36,0x36,0x37,0x37,0x38,0x38,0x66, + 0x64,0x65,0x61,0x63,0x62}, + + Buffer() {0x81,0x82,0x64,0x65,0x66,0x61,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x61, + 0x62,0x63,0x64,0x65,0x66,0x39,0x38,0x37,0x36,0x35,0x34,0x33,0x32,0x31,0x30,0x66,0x65, + 0x64,0x62,0x63,0x61,0x31,0x31,0x32,0x32,0x33,0x33,0x34,0x34,0x35,0x35,0x36,0x36,0x37, + 0x37,0x38,0x38,0x66,0x64,0x65,0x61,0x63,0x62}, + Buffer() {0x81,0x82,0x64,0x65,0x66,0x61,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x61, + 0x62,0x63,0x64,0x65,0x66,0x39,0x38,0x37,0x36,0x35,0x34,0x33,0x32,0x31,0x30,0x66,0x65, + 0x64,0x62,0x63,0x61,0x31,0x31,0x32,0x32,0x33,0x33,0x34,0x34,0x35,0x35,0x36,0x36,0x37, + 0x37,0x38,0x38,0x66,0x64,0x65,0x61,0x63,0x62}, + + Buffer() {0x81,0x82,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x31,0x31,0x32,0x32,0x33, + 0x33,0x34,0x34,0x35,0x35,0x36,0x36,0x37,0x37,0x38,0x38,0x39,0x39,0x39,0x38,0x37,0x36, + 0x35,0x34,0x33,0x32,0x31,0x39,0x39,0x39,0x38,0x33,0x33,0x33,0x37,0x37,0x34,0x34,0x7A}, + Buffer() {0x81,0x82,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x31,0x31,0x32,0x32,0x33, + 0x33,0x34,0x34,0x35,0x35,0x36,0x36,0x37,0x37,0x38,0x38,0x39,0x39,0x39,0x38,0x37,0x36, + 0x35,0x34,0x33,0x32,0x31,0x39,0x39,0x39,0x38,0x33,0x33,0x33,0x37,0x37,0x34,0x34,0x7A}, + + // X - Buffer + + Buffer() {0x81,0x82,0x91,0x22,0x83}, + Buffer() {0x81,0x82,0x91,0x22,0x83}, + + Buffer() {0x81,0x82,0x80}, + Buffer() {0x81,0x82,0x80}, + + Buffer() {0x81,0x82,0x81,0x82}, + Buffer() {0x81,0x82,0x81,0x82}, + + Buffer() {0x81,0x82,0x83,0x84,0x85,0x86}, + Buffer() {0x81,0x82,0x83,0x84,0x85,0x86}, + + Buffer() {0x81,0x82,0x87,0x98,0x99,0x9A,0x9B}, + Buffer() {0x81,0x82,0x87,0x98,0x99,0x9A,0x9B}, + + Buffer() {0x81,0x82,0x9C,0x9D,0x9E,0x9F,0xA0,0xA1,0xA2,0xA3}, + Buffer() {0x81,0x82,0x9C,0x9D,0x9E,0x9F,0xA0,0xA1,0xA2,0xA3}, + + Buffer() {0x81,0x82,0xA4,0xA5,0xA6,0xA7,0xB8,0xB9,0xBA,0xBB,0xBC}, + Buffer() {0x81,0x82,0xA4,0xA5,0xA6,0xA7,0xB8,0xB9,0xBA,0xBB,0xBC}, + + Buffer() {0x81,0x82,0x91,0x92,0x93,0x94,0x5F,0x60,0x61,0x62,0x63,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,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}, + Buffer() {0x81,0x82,0x91,0x92,0x93,0x94,0x5F,0x60,0x61,0x62,0x63,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,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}, + + Buffer() {0x81,0x82,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,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,0x00,0x01}, + Buffer() {0x81,0x82,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,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,0x00,0x01}, + + // X - Field Unit + + Buffer() {0x81,0x82,0x7F,0,0,0,0,0,0,0}, + Buffer() {0x81,0x82,0x7F,0,0,0}, + + Buffer() {0x81,0x82,0x07,0,0,0,0,0,0,0}, + Buffer() {0x81,0x82,0x07,0,0,0}, + + Buffer() {0x81,0x82,0x8D,0,0,0,0,0,0,0}, + Buffer() {0x81,0x82,0x8D,0,0,0}, + + Buffer() {0x81,0x82,0x8D,0x8C,0,0,0,0,0,0}, + Buffer() {0x81,0x82,0x8D,0x8C,0,0}, + + Buffer() {0x81,0x82,0x8D,0x8C,0x8B,0x8A,0,0,0,0}, + Buffer() {0x81,0x82,0x8D,0x8C,0x8B,0x8A}, + + Buffer() {0x81,0x82,0xFF,0xFF,0xFF,0xFF,0x01,0,0,0}, + Buffer() {0x81,0x82,0xFF,0xFF,0xFF,0xFF,0x01}, + + Buffer() {0x81,0x82,0x58,0x46,0x37,0x88,0x19,0xFA,0xDE,0x5C}, + Buffer() {0x81,0x82,0x58,0x46,0x37,0x88,0x19,0xFA,0xDE,0x5C}, + + Buffer() {0x81,0x82,0x58,0x9A,0x37,0x88,0x19,0xFA,0xDE,0xDC}, + Buffer() {0x81,0x82,0x58,0x9A,0x37,0x88,0x19,0xFA,0xDE,0xDC}, + + Buffer() {0x81,0x82,0x58,0xC7,0x37,0x88,0x19,0xFA,0xDE,0xDC,0}, + Buffer() {0x81,0x82,0x58,0xC7,0x37,0x88,0x19,0xFA,0xDE,0xDC,0}, + + Buffer() {0x81,0x82,0x82,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF,0x55,0,0,0,0,0,0,0}, + Buffer() {0x81,0x82,0x82,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF,0x55,0,0,0,0,0,0,0}, + + Buffer() {0x81,0x82,0x93,0xAB,0xCD,0xEF,0x99,0x12,0xCD,0x52,0x87, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, + Buffer() {0x81,0x82,0x93,0xAB,0xCD,0xEF,0x99,0x12,0xCD,0x52,0x87, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, + + // X - Buffer Field + + Buffer() {0x81,0x82,0xAB,0x54,0x86,0x91,0,0,0,0}, + Buffer() {0x81,0x82,0xAB,0x54,0x86,0x91}, + + Buffer() {0x81,0x82,0x07,0,0,0,0,0,0,0}, + Buffer() {0x81,0x82,0x07,0,0,0}, + + Buffer() {0x81,0x82,0x8D,0,0,0,0,0,0,0}, + Buffer() {0x81,0x82,0x8D,0,0,0}, + + Buffer() {0x81,0x82,0x8D,0x8C,0,0,0,0,0,0}, + Buffer() {0x81,0x82,0x8D,0x8C,0,0}, + + Buffer() {0x81,0x82,0x8D,0x8C,0x8B,0x8A,0,0,0,0}, + Buffer() {0x81,0x82,0x8D,0x8C,0x8B,0x8A}, + + Buffer() {0x81,0x82,0xFF,0xFF,0xFF,0xFF,0x01,0,0,0}, + Buffer() {0x81,0x82,0xFF,0xFF,0xFF,0xFF,0x01}, + + Buffer() {0x81,0x82,0x58,0x46,0x37,0x88,0x19,0xFA,0xDE,0x5C}, + Buffer() {0x81,0x82,0x58,0x46,0x37,0x88,0x19,0xFA,0xDE,0x5C}, + + Buffer() {0x81,0x82,0x58,0x9A,0x37,0x88,0x19,0xFA,0xDE,0xDC}, + Buffer() {0x81,0x82,0x58,0x9A,0x37,0x88,0x19,0xFA,0xDE,0xDC}, + + Buffer() {0x81,0x82,0x58,0xC7,0x37,0x88,0x19,0xFA,0xDE,0xDC,0}, + Buffer() {0x81,0x82,0x58,0xC7,0x37,0x88,0x19,0xFA,0xDE,0xDC,0}, + + Buffer() {0x81,0x82,0x82,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF,0x55,0,0,0,0,0,0,0}, + Buffer() {0x81,0x82,0x82,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF,0x55,0,0,0,0,0,0,0}, + + Buffer() {0x81,0x82,0x93,0xAB,0xCD,0xEF,0x99,0x12,0xCD,0x52,0x87, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, + Buffer() {0x81,0x82,0x93,0xAB,0xCD,0xEF,0x99,0x12,0xCD,0x52,0x87, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, + }) + + // Expected results: 64-bit, 32-bit + Name(p005, Package() { + + // X - Integer + + Buffer() {0x32,0x54,0x76,0x58,0,0,0,0,0x81,0x82,0,0,0,0,0,0}, + Buffer() {0x32,0x54,0x76,0x58,0x81,0x82,0,0}, + + // X - String + + "qwrt81 82", "qwrt81 82", + "svnmjkl81 82", "svnmjkl81 82", + "1234zyq81 82", "1234zyq81 82", + "abcdefzyq81 82", "abcdefzyq81 82", + "987681 82", "987681 82", + "aBcD81 82", "aBcD81 82", + "123456789098765481 82", "123456789098765481 82", + "daFeCBaabbddffee81 82", "daFeCBaabbddffee81 82", + "1234567890abCdeF81 82", "1234567890abCdeF81 82", + "FdeAcb013254769881 82", "FdeAcb013254769881 82", + "1234567890987654081 82", "1234567890987654081 82", + "fdeacb0132547698081 82", "fdeacb0132547698081 82", + + "12345678901122334455667788999876543219998333774481 82", + "12345678901122334455667788999876543219998333774481 82", + + "abcdefaAbbccddeeffffeeddccaabbddeeffaaaabbbbeeefffdd81 82", + "abcdefaAbbccddeeffffeeddccaabbddeeffaaaabbbbeeefffdd81 82", + + "1234567890abcdef9876543210fedbca1122334455667788fdeacb81 82", + "1234567890abcdef9876543210fedbca1122334455667788fdeacb81 82", + + "defa1234567890abcdef9876543210fedbca1122334455667788fdeacb81 82", + "defa1234567890abcdef9876543210fedbca1122334455667788fdeacb81 82", + + "123456789011223344556677889998765432199983337744z81 82", + "123456789011223344556677889998765432199983337744z81 82", + + // X - Buffer + + Buffer() {0x91,0x22,0x83,0x81,0x82}, + Buffer() {0x91,0x22,0x83,0x81,0x82}, + + Buffer() {0x80,0x81,0x82}, + Buffer() {0x80,0x81,0x82}, + + Buffer() {0x81,0x82,0x81,0x82}, + Buffer() {0x81,0x82,0x81,0x82}, + + Buffer() {0x83,0x84,0x85,0x86,0x81,0x82}, + Buffer() {0x83,0x84,0x85,0x86,0x81,0x82}, + + Buffer() {0x87,0x98,0x99,0x9A,0x9B,0x81,0x82}, + Buffer() {0x87,0x98,0x99,0x9A,0x9B,0x81,0x82}, + + Buffer() {0x9C,0x9D,0x9E,0x9F,0xA0,0xA1,0xA2,0xA3,0x81,0x82}, + Buffer() {0x9C,0x9D,0x9E,0x9F,0xA0,0xA1,0xA2,0xA3,0x81,0x82}, + + Buffer() {0xA4,0xA5,0xA6,0xA7,0xB8,0xB9,0xBA,0xBB,0xBC,0x81,0x82}, + Buffer() {0xA4,0xA5,0xA6,0xA7,0xB8,0xB9,0xBA,0xBB,0xBC,0x81,0x82}, + + Buffer() {0x91,0x92,0x93,0x94,0x5F,0x60,0x61,0x62,0x63,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,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,0x81,0x82}, + Buffer() {0x91,0x92,0x93,0x94,0x5F,0x60,0x61,0x62,0x63,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,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,0x81,0x82}, + + Buffer() {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,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,0x00,0x01,0x81,0x82}, + Buffer() {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,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,0x00,0x01,0x81,0x82}, + + // X - Field Unit + + Buffer() {0x7F,0,0,0,0,0,0,0,0x81,0x82,0,0,0,0,0,0}, + Buffer() {0x7F,0,0,0,0x81,0x82,0,0}, + + Buffer() {0x07,0,0,0,0,0,0,0,0x81,0x82,0,0,0,0,0,0}, + Buffer() {0x07,0,0,0,0x81,0x82,0,0}, + + Buffer() {0x8D,0,0,0,0,0,0,0,0x81,0x82,0,0,0,0,0,0}, + Buffer() {0x8D,0,0,0,0x81,0x82,0,0}, + + Buffer() {0x8D,0x8c,0,0,0,0,0,0,0x81,0x82,0,0,0,0,0,0}, + Buffer() {0x8D,0x8c,0,0,0x81,0x82,0,0}, + + Buffer() {0x8D,0x8c,0x8b,0x8a,0,0,0,0,0x81,0x82,0,0,0,0,0,0}, + Buffer() {0x8D,0x8c,0x8b,0x8a,0x81,0x82,0,0}, + + Buffer() {0xFF,0xFF,0xFF,0xFF,0x01,0,0,0,0x81,0x82,0,0,0,0,0,0}, + Buffer() {0xFF,0xFF,0xFF,0xFF,0x01,0x81,0x82}, + + Buffer() {0x58,0x46,0x37,0x88,0x19,0xFA,0xDE,0x5C,0x81,0x82,0,0,0,0,0,0}, + Buffer() {0x58,0x46,0x37,0x88,0x19,0xFA,0xDE,0x5C,0x81,0x82}, + + Buffer() {0x58,0x9A,0x37,0x88,0x19,0xFA,0xDE,0xDC,0x81,0x82,0,0,0,0,0,0}, + Buffer() {0x58,0x9A,0x37,0x88,0x19,0xFA,0xDE,0xDC,0x81,0x82}, + + Buffer() {0x58,0xC7,0x37,0x88,0x19,0xFA,0xDE,0xDC,0x00,0x81,0x82}, + Buffer() {0x58,0xC7,0x37,0x88,0x19,0xFA,0xDE,0xDC,0x00,0x81,0x82}, + + Buffer() {0x82,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF,0x55,0,0,0,0,0,0,0,0x81,0x82}, + Buffer() {0x82,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF,0x55,0,0,0,0,0,0,0,0x81,0x82}, + + Buffer() {0x93,0xAB,0xCD,0xEF,0x99,0x12,0xCD,0x52,0x87,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x81,0x82}, + Buffer() {0x93,0xAB,0xCD,0xEF,0x99,0x12,0xCD,0x52,0x87,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x81,0x82}, + + // X - Buffer Field + + Buffer() {0xAB,0x54,0x86,0x91,0,0,0,0,0x81,0x82,0,0,0,0,0,0}, + Buffer() {0xAB,0x54,0x86,0x91,0x81,0x82,0,0}, + + Buffer() {0x07,0,0,0,0,0,0,0,0x81,0x82,0,0,0,0,0,0}, + Buffer() {0x07,0,0,0,0x81,0x82,0,0}, + + Buffer() {0x8D,0,0,0,0,0,0,0,0x81,0x82,0,0,0,0,0,0}, + Buffer() {0x8D,0,0,0,0x81,0x82,0,0}, + + Buffer() {0x8D,0x8c,0,0,0,0,0,0,0x81,0x82,0,0,0,0,0,0}, + Buffer() {0x8D,0x8c,0,0,0x81,0x82,0,0}, + + Buffer() {0x8D,0x8c,0x8b,0x8a,0,0,0,0,0x81,0x82,0,0,0,0,0,0}, + Buffer() {0x8D,0x8c,0x8b,0x8a,0x81,0x82,0,0}, + + Buffer() {0xFF,0xFF,0xFF,0xFF,0x01,0,0,0,0x81,0x82,0,0,0,0,0,0}, + Buffer() {0xFF,0xFF,0xFF,0xFF,0x01,0x81,0x82}, + + Buffer() {0x58,0x46,0x37,0x88,0x19,0xFA,0xDE,0x5C,0x81,0x82,0,0,0,0,0,0}, + Buffer() {0x58,0x46,0x37,0x88,0x19,0xFA,0xDE,0x5C,0x81,0x82}, + + Buffer() {0x58,0x9A,0x37,0x88,0x19,0xFA,0xDE,0xDC,0x81,0x82,0,0,0,0,0,0}, + Buffer() {0x58,0x9A,0x37,0x88,0x19,0xFA,0xDE,0xDC,0x81,0x82}, + + Buffer() {0x58,0xC7,0x37,0x88,0x19,0xFA,0xDE,0xDC,0x00,0x81,0x82}, + Buffer() {0x58,0xC7,0x37,0x88,0x19,0xFA,0xDE,0xDC,0x00,0x81,0x82}, + + Buffer() {0x82,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF,0x55,0,0,0,0,0,0,0,0x81,0x82}, + Buffer() {0x82,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF,0x55,0,0,0,0,0,0,0,0x81,0x82}, + + Buffer() {0x93,0xAB,0xCD,0xEF,0x99,0x12,0xCD,0x52,0x87,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x81,0x82}, + Buffer() {0x93,0xAB,0xCD,0xEF,0x99,0x12,0xCD,0x52,0x87,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x81,0x82}, + }) + + if (arg0) { + m486() + Store(0x100, df00) + Store(0x100, df01) + Store(m488(op, 0x1ed1, 0x1ed1, 0, 0, 0), Local7) +// Store(0x200, df00) +// Store(m488(op, 0, 0x1ed1, 0, 0, 0), Local7) +// Store(0x300, df00) +// Store(m488(op, 0, 0x1ed1, 0, 0, 0), Local7) + + } else { + Store(1, FLG1) + + // (Integer ==> All other types) + // (All other types ==> Integer) + Store(2, com2) + Store(p000, PKG1) + Store(p001, PKG2) + m48b(op, 0x103) + + // (String ==> All other types) + // (All other types ==> String) + Store(2, com2) + Store(p002, PKG1) + Store(p003, PKG2) + m48b(op, 0x204) + + // (Buffer ==> All other types) + // (All other types ==> Buffer) + Store(2, com2) + Store(p004, PKG1) + Store(p005, PKG2) + m48b(op, 0x302) + + Store(PKG0, PKG1) + Store(PKG0, PKG2) + Store(0, com2) + Store(0, FLG1) + } +} + +// ConcatenateResTemplate (rtb, rtb, Result) => Buffer +// +// Total scale of unacceptable types: +// Source1: 0x5ef7 +// Source2: 0x5ef7 +// Total scale of acceptable types: +// Source1: 0x0008 +// Source2: 0x0008 +Method(m404, 1) +{ + Name(op, 4) + + ts00("m404") + + if (arg0) { + m486() + Store(0x30b, df00) + Store(0x30b, df01) + Store(m488(op, 0x5fff, 0x5fff, 0, 0, 0), Local7) + } else { + } +} + +// CondRefOf (any, Result) => Boolean +// +// Total scale of unacceptable types: +// Source: 0x0000 +// Total scale of acceptable types: +// Source: 0x5eff +Method(m405, 1) +{ + Name(op, 5) + + ts00("m405") + + if (arg0) { + m486() + +// Error: CondRefOf failes with the Unitialized type + Store(m488(op, 0x0001, 0, 0, 0, 0), Local7) + + } else { + } +} + +// CopyObject (any, Destination) => DataRefObject +// +// Total scale of unacceptable types: +// Source: 0x0000 +// Total scale of acceptable types: +// Source: 0x5eff +Method(m406, 1) +{ + Name(op, 6) + + ts00("m406") + + if (arg0) { + m486() + +// Error: CopyObject failes with the Unitialized type + Store(m488(op, 0x0001, 0, 0, 0, 0), Local7) + + } else { + } +} + +// Decrement (int) => Integer +// +// Total scale of unacceptable types: +// Minuend: 0x1ed1 +// Total scale of acceptable types: +// Minuend: 0x402e +Method(m407, 1) +{ + Name(op, 7) + + Name(ts, "m407") + + ts00(ts) + + if (arg0) { + m486() + Store(m488(op, 0x1ed1, 0, 0, 0, 0), Local7) + } else { + Store(m48d(op, 0x102, 0, 0, 0, 0x12345677, 0x12345677), Local7) + Store(m48d(op, 0x204, 0, 0, 0, 0x9875, 0x9875), Local7) + Store(m48d(op, 0x209, 0, 0, 0, 0xFdeAcb0132547697, 0x32547697), Local7) + Store(m48d(op, 0x302, 0, 0, 0, 0x8280, 0x8280), Local7) + Store(m48d(op, 0x308, 0, 0, 0, 0x0807060504030200, 0x04030200), Local7) + Store(m48d(op, 0x506, 0, 0, 0, 0x5CDEFA1988374657, 0x88374657), Local7) + Store(m48d(op, 0xe06, 0, 0, 0, 0x5CDEFA1988374657, 0x88374657), Local7) + + // Exceptions + + Store(m48d(op, 0x202, 0, 0, 0, "Exc", "Exc"), Local7) + Store(m48d(op, 0x20a, 0, 0, 0, "Exc", "Exc"), Local7) + Store(m48d(op, 0x210, 0, 0, 0, "Exc", "Exc"), Local7) + } +} + +// DerefOf ({ref|str}) => Object +// +// Total scale of unacceptable types: +// Source: 0x5fff +// Total scale of acceptable types: +// Source: 0x0000 +Method(m408, 1) +{ + Name(op, 8) + + ts00("m408") + + if (arg0) { + m486() + Store(m488(op, 0x5fff, 0, 0, 0, 0), Local7) + } else { + } +} + +// Divide (int, int, Remainder, Result) => Integer +// +// Total scale of unacceptable types: +// Dividend: 0x1ed1 +// Divisor: 0x1ed1 +// Total scale of acceptable types: +// Dividend: 0x402e +// Divisor: 0x402e +Method(m409, 1) +{ + Name(op, 9) + + ts00("m409") + + if (arg0) { + m486() + Store(0x100, df00) + Store(0x100, df01) + Store(m488(op, 0x1ed1, 0x1ed1, 0, 0, 0), Local7) + } else { + Store(m48d(op, 0x102, 0x102, 0, 0, 1, 1), Local7) + Store(m48d(op, 0x103, 0x102, 0, 0, 0x0000000971C214EA, 3), Local7) + Store(m48d(op, 0x204, 0x102, 0, 0, 0, 0), Local7) + Store(m48d(op, 0x209, 0x102, 0, 0, 0x0000000DF2B5C737, 2), Local7) + Store(m48d(op, 0x302, 0x102, 0, 0, 0, 0), Local7) + Store(m48d(op, 0x308, 0x102, 0, 0, 0x0000000070E2C4AA, 0), Local7) + Store(m48d(op, 0x506, 0x102, 0, 0, 0x0000000519FF9D32, 7), Local7) + Store(m48d(op, 0xe06, 0x102, 0, 0, 0x0000000519FF9D32, 7), Local7) + Store(m48d(op, 0x103, 0x204, 0, 0, 0x000120B0A1E2C2D5, 0x00006F2A), Local7) + + // Exceptions + + Store(m48d(op, 0x202, 0x102, 0, 0, "Exc", "Exc"), Local7) + Store(m48d(op, 0x20a, 0x102, 0, 0, "Exc", "Exc"), Local7) + Store(m48d(op, 0x210, 0x102, 0, 0, "Exc", "Exc"), Local7) + + Store(m48d(op, 0x102, 0x202, 0, 0, "Exc", "Exc"), Local7) + Store(m48d(op, 0x102, 0x20a, 0, 0, "Exc", "Exc"), Local7) + Store(m48d(op, 0x102, 0x210, 0, 0, "Exc", "Exc"), Local7) + } +} + +// Fatal (byt, dwd, int) +// +// iasl: "Fatal operator requires [Integer|String|Buffer]" +// Total scale of unacceptable types: +// Arg: 0x1ed1 +// Total scale of acceptable types: +// Arg: 0x402e +Method(m410, 1) +{ + Name(op, 10) + + ts00("m410") + + if (arg0) { + m486() + Store(m488(op, 0x1ed1, 0, 0, 0, 0), Local7) + } else { + } +} + +// FindSetLeftBit (int, Result) => Integer +// +// Total scale of unacceptable types: +// Source: 0x1ed1 +// Total scale of acceptable types: +// Source: 0x402e +Method(m411, 1) +{ + Name(op, 11) + + ts00("m411") + + if (arg0) { + m486() + Store(m488(op, 0x1ed1, 0, 0, 0, 0), Local7) + } else { + Store(m48d(op, 0x102, 0, 0, 0, 29, 29), Local7) + Store(m48d(op, 0x204, 0, 0, 0, 16, 16), Local7) + Store(m48d(op, 0x206, 0, 0, 0, 61, 32), Local7) + + // Exceptions + + Store(m48d(op, 0x202, 0, 0, 0, "Exc", "Exc"), Local7) + Store(m48d(op, 0x20a, 0, 0, 0, "Exc", "Exc"), Local7) + Store(m48d(op, 0x210, 0, 0, 0, "Exc", "Exc"), Local7) + } +} + +// FindSetRightBit (int, Result) => Integer +// +// Total scale of unacceptable types: +// Source: 0x1ed1 +// Total scale of acceptable types: +// Source: 0x402e +Method(m412, 1) +{ + Name(op, 12) + + ts00("m412") + + if (arg0) { + m486() + Store(m488(op, 0x1ed1, 0, 0, 0, 0), Local7) + } else { + Store(m48d(op, 0x102, 0, 0, 0, 4, 4), Local7) + Store(m48d(op, 0x204, 0, 0, 0, 2, 2), Local7) + Store(m48d(op, 0x206, 0, 0, 0, 3, 3), Local7) + + // Exceptions + + Store(m48d(op, 0x202, 0, 0, 0, "Exc", "Exc"), Local7) + Store(m48d(op, 0x20a, 0, 0, 0, "Exc", "Exc"), Local7) + Store(m48d(op, 0x210, 0, 0, 0, "Exc", "Exc"), Local7) + } +} + +// FromBCD (int, Result) => Integer +// +// Total scale of unacceptable types: +// BCDValue: 0x1ed1 +// Total scale of acceptable types: +// BCDValue: 0x402e +Method(m413, 1) +{ + Name(op, 13) + + ts00("m413") + + if (arg0) { + m486() + Store(m488(op, 0x1ed1, 0, 0, 0, 0), Local7) + } else { + } +} + +// Increment (int) => Integer +// +// Total scale of unacceptable types: +// Addend: 0x1ed1 +// Total scale of acceptable types: +// Addend: 0x402e +Method(m414, 1) +{ + Name(op, 14) + + ts00("m414") + + if (arg0) { + m486() + Store(m488(op, 0x1ed1, 0, 0, 0, 0), Local7) + } else { + + Store(m48d(op, 0x102, 0, 0, 0, 0x12345679, 0x12345679), Local7) + Store(m48d(op, 0x204, 0, 0, 0, 0x9877, 0x9877), Local7) + Store(m48d(op, 0x209, 0, 0, 0, 0xFdeAcb0132547699, 0x32547699), Local7) + Store(m48d(op, 0x302, 0, 0, 0, 0x8282, 0x8282), Local7) + Store(m48d(op, 0x308, 0, 0, 0, 0x0807060504030202, 0x04030202), Local7) + Store(m48d(op, 0x506, 0, 0, 0, 0x5CDEFA1988374659, 0x88374659), Local7) + Store(m48d(op, 0xe06, 0, 0, 0, 0x5CDEFA1988374659, 0x88374659), Local7) + + // Exceptions + + Store(m48d(op, 0x202, 0, 0, 0, "Exc", "Exc"), Local7) + Store(m48d(op, 0x20a, 0, 0, 0, "Exc", "Exc"), Local7) + Store(m48d(op, 0x210, 0, 0, 0, "Exc", "Exc"), Local7) + } +} + +// Index ({str|buf|pkg}, int, Destination) => ObjectReference +// +// Total scale of unacceptable types: +// Source: 0x5fe3 +// Index: 0x1ed1 +// Total scale of acceptable types: +// Source: 0x001c +// Index: 0x402e +Method(m415, 1) +{ + Name(op, 15) + + ts00("m415") + + if (arg0) { + m486() + Store(0x200, df00) + Store(0x104, df01) // Zero + Store(m488(op, 0x5fe3, 0x1ed1, 0, 0, 0), Local7) + +/* +// The action above together with those below generates exception + Store(0x300, df00) + Store(m488(op, 0, 0x1ed1, 0, 0, 0), Local7) + Store(0x400, df00) + Store(m488(op, 0, 0x1ed1, 0, 0, 0), Local7) +*/ + + } else { + } +} + +// LAnd (int, int) => Boolean +// +// Total scale of unacceptable types: +// Source1: 0x1ed1 +// Source2: 0x1ed1 +// Total scale of acceptable types: +// Source1: 0x402e +// Source2: 0x402e +Method(m416, 1) +{ + Name(op, 16) + + ts00("m416") + + if (arg0) { + m486() + Store(0x100, df00) + Store(0x100, df01) + Store(m488(op, 0x1ed1, 0x1ed1, 0, 0, 0), Local7) + } else { + } +} + +// LEqual ({int|str|buf}, {int|str|buf}) => Boolean +// +// Total scale of unacceptable types: +// Source1: 0x1ed1 +// Source2: 0x1ed1 +// Total scale of acceptable types: +// Source1: 0x402e +// Source2: 0x402e +Method(m417, 1) +{ + Name(op, 17) + + ts00("m417") + + // Expected results: 64-bit, 32-bit + Name(p000, Package() { + + // X - Integer + + Zero, Zero, + + // X - String + + "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", + + Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, + + + "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", + "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", + + // X - Buffer + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + + // X - Field Unit + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, + + // X - Buffer Field + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, + }) + + // Expected results: 64-bit, 32-bit + Name(p001, Package() { + + // X - Integer + + Zero, Zero, + + // X - String + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, + + // X - Buffer + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + + // X - Field Unit + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, + + // X - Buffer Field + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, + }) + + // Expected results: 64-bit, 32-bit + Name(p002, Package() { + + // X - Integer + + Zero, Zero, + + // X - String + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Ones, Ones, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, + + // X - Buffer + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, "Exc", "Exc", "Exc", "Exc", + + // X - Field Unit + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, + + // X - Buffer Field + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, + }) + + // Expected results: 64-bit, 32-bit + Name(p003, Package() { + + // X - Integer + + Zero, Zero, + + // X - String + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Ones, Ones, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, + + // X - Buffer + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + + // X - Field Unit + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, + + // X - Buffer Field + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, + }) + + // Expected results: 64-bit, 32-bit + Name(p004, Package() { + + // X - Integer + + Zero, Zero, + + // X - String + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, + + // X - Buffer + + Zero, Zero, Zero, Zero, Ones, Ones, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + + // X - Field Unit + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, + + // X - Buffer Field + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, + }) + + // Expected results: 64-bit, 32-bit + Name(p005, Package() { + + // X - Integer + + Zero, Zero, + + // X - String + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, + + // X - Buffer + + Zero, Zero, Zero, Zero, Ones, Ones, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + + // X - Field Unit + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, + + // X - Buffer Field + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, + }) + + if (arg0) { + m486() + Store(0x100, df00) + Store(0x100, df01) + Store(m488(op, 0x1ed1, 0x1ed1, 0, 0, 0), Local7) + } else { + Store(1, FLG1) + + // (Integer ==> All other types) + // (All other types ==> Integer) + Store(2, com2) + Store(p000, PKG1) + Store(p001, PKG2) + m48b(op, 0x103) + + // (String ==> All other types) + // (All other types ==> String) + Store(2, com2) + Store(p002, PKG1) + Store(p003, PKG2) + m48b(op, 0x204) + + // (Buffer ==> All other types) + // (All other types ==> Buffer) + Store(2, com2) + Store(p004, PKG1) + Store(p005, PKG2) + m48b(op, 0x302) + + Store(PKG0, PKG1) + Store(PKG0, PKG2) + Store(0, com2) + Store(0, FLG1) + } +} + +// LGreater ({int|str|buf}, {int|str|buf}) => Boolean +// +// Total scale of unacceptable types: +// Source1: 0x1ed1 +// Source2: 0x1ed1 +// Total scale of acceptable types: +// Source1: 0x402e +// Source2: 0x402e +Method(m418, 1) +{ + Name(op, 18) + + ts00("m418") + + // Expected results: 64-bit, 32-bit + Name(p000, Package() { + + // X - Integer, (0) + + Ones, Zero, + + // X - String, (1) + + "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", + + Ones, Ones, Ones, Ones, Ones, Zero, + Zero, Zero, Ones, Zero, Zero, Ones, + + + "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", + "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", + + // X - Buffer, (18) + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Zero, Ones, Zero, + Ones, Zero, Zero, Zero, Ones, Zero, Ones, Ones, + + // X - Field Unit, (27) + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Zero, + Ones, Zero, Ones, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Ones, Zero, + + // X - Buffer Field, (38) + + Ones, Zero, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Zero, + Ones, Zero, Ones, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Ones, Zero, + }) + + // Expected results: 64-bit, 32-bit + Name(p001, Package() { + + // X - Integer, (0) + + Zero, Ones, + + // X - String, (1) + + Ones, Ones, Ones, Ones, Zero, Zero, Ones, Ones, + + Zero, Ones, Ones, Ones, Zero, Zero, + Ones, Ones, Zero, Zero, Ones, Ones, + + Zero, Zero, Ones, Ones, Zero, Zero, Ones, Ones, Zero, Zero, + Ones, Ones, Zero, Zero, + + // X - Buffer, (18) + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Zero, Zero, + + // X - Field Unit, (27) + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Ones, + Zero, Ones, Zero, Zero, Ones, Zero, Zero, Zero, Ones, Ones, + Ones, Ones, + + // X - Buffer Field, (38) + + Zero, Ones, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Ones, + Zero, Ones, Zero, Zero, Ones, Zero, Zero, Zero, Ones, Ones, + Ones, Ones, + }) + + // Expected results: 64-bit, 32-bit + Name(p002, Package() { + + // X - Integer, (0) + + Ones, Ones, + + // X - String, (1) + + Zero, Zero, Zero, Zero, Ones, Ones, Zero, Zero, + + Zero, Zero, Zero, Zero, Ones, Ones, + Zero, Zero, Ones, Ones, Zero, Zero, + + + Ones, Ones, Zero, Zero, Ones, Ones, Zero, Zero, + Ones, Ones, Zero, Zero, Ones, Ones, + + // X - Buffer, (18) + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Zero, Zero, Zero, Zero, "Exc", "Exc", "Exc", "Exc", + + // X - Field Unit, (27) + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Zero, Ones, Ones, Zero, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, + + // X - Buffer Field, (38) + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Zero, Ones, Ones, Zero, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, + }) + + // Expected results: 64-bit, 32-bit + Name(p003, Package() { + + // X - Integer, (0) + + Ones, Ones, + + // X - String, (1) + + Ones, Ones, Ones, Ones, Zero, Zero, Ones, Ones, + + Zero, Zero, Ones, Ones, Zero, Zero, + Ones, Ones, Zero, Zero, Ones, Ones, + + + Zero, Zero, Ones, Ones, Zero, Zero, Ones, Ones, + Zero, Zero, Ones, Ones, Zero, Zero, + + // X - Buffer, (18) + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Zero, Zero, + + // X - Field Unit, (27) + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, + + // X - Buffer Field, (38) + + Ones, Ones, Zero, Zero, Zero, Zero, Zero, Zero, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, + }) + + // Expected results: 64-bit, 32-bit + Name(p004, Package() { + + // X - Integer, (0) + + Ones, Ones, + + // X - String, (1) + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + + Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, + + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, + + // X - Buffer, (18) + + Zero, Zero, Ones, Ones, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Ones, Ones, + + // X - Field Unit, (27) + + Ones, Ones, Ones, Ones, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Ones, Ones, Ones, Ones, Ones, Ones, Zero, Zero, + Zero, Zero, + + // X - Buffer Field, (38) + + Zero, Zero, Ones, Ones, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Ones, Ones, Ones, Ones, Ones, Ones, Zero, Zero, + Zero, Zero, + }) + + // Expected results: 64-bit, 32-bit + Name(p005, Package() { + + // X - Integer, (0) + + Ones, Ones, + + // X - String, (1) + + Ones, Ones, Ones, Ones, Zero, Zero, Ones, Ones, + + Ones, Ones, Ones, Ones, Zero, Zero, + Ones, Ones, Zero, Zero, Ones, Ones, + + Zero, Zero, Ones, Ones, Zero, Zero, Ones, Ones, + Zero, Zero, Ones, Ones, Zero, Zero, + + // X - Buffer, (18) + + Ones, Ones, Zero, Zero, Zero, Zero, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Zero, Zero, + + // X - Field Unit, (27) + + Zero, Zero, Zero, Zero, Zero, Zero, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Zero, Ones, Zero, Zero, Zero, Ones, Ones, + Ones, Ones, + + // X - Buffer Field, (38) + + Ones, Ones, Zero, Zero, Zero, Zero, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Zero, Ones, Zero, Zero, Zero, Ones, Ones, + Ones, Ones, + }) + + if (arg0) { + m486() + Store(0x100, df00) + Store(0x100, df01) + Store(m488(op, 0x1ed1, 0x1ed1, 0, 0, 0), Local7) + } else { + Store(1, FLG1) + + // (Integer ==> All other types) + // (All other types ==> Integer) + Store(2, com2) + Store(p000, PKG1) + Store(p001, PKG2) + m48b(op, 0x103) + + // (String ==> All other types) + // (All other types ==> String) + Store(2, com2) + Store(p002, PKG1) + Store(p003, PKG2) + m48b(op, 0x204) + + // (Buffer ==> All other types) + // (All other types ==> Buffer) + Store(2, com2) + Store(p004, PKG1) + Store(p005, PKG2) + m48b(op, 0x302) + + Store(PKG0, PKG1) + Store(PKG0, PKG2) + Store(0, com2) + Store(0, FLG1) + } +} + +// LGreaterEqual ({int|str|buf}, {int|str|buf}) => Boolean +// +// Total scale of unacceptable types: +// Source1: 0x1ed1 +// Source2: 0x1ed1 +// Total scale of acceptable types: +// Source1: 0x402e +// Source2: 0x402e +Method(m419, 1) +{ + Name(op, 19) + + ts00("m419") + + // Expected results: 64-bit, 32-bit + Name(p000, Package() { + + // X - Integer, (0) + + Ones, Zero, + + // X - String, (1) + + "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", + + Ones, Ones, Ones, Ones, Ones, Zero, + Zero, Zero, Ones, Zero, Zero, Ones, + + + "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", + "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", + + // X - Buffer, (18) + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Zero, Ones, Zero, + Ones, Zero, Zero, Zero, Ones, Zero, Ones, Ones, + + // X - Field Unit, (27) + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Zero, + Ones, Zero, Ones, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Ones, Zero, + + // X - Buffer Field, (38) + + Ones, Zero, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Zero, + Ones, Zero, Ones, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Ones, Zero, + }) + + // Expected results: 64-bit, 32-bit + Name(p001, Package() { + + // X - Integer, (0) + + Zero, Ones, + + // X - String, (1) + + Ones, Ones, Ones, Ones, Zero, Zero, Ones, Ones, + + Zero, Ones, Ones, Ones, Zero, Zero, + Ones, Ones, Zero, Zero, Ones, Ones, + + Zero, Zero, Ones, Ones, Zero, Zero, Ones, Ones, Zero, Zero, + Ones, Ones, Zero, Zero, + + // X - Buffer, (18) + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Zero, Zero, + + // X - Field Unit, (27) + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Ones, + Zero, Ones, Zero, Zero, Ones, Zero, Zero, Zero, Ones, Ones, + Ones, Ones, + + // X - Buffer Field, (38) + + Zero, Ones, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Ones, + Zero, Ones, Zero, Zero, Ones, Zero, Zero, Zero, Ones, Ones, + Ones, Ones, + }) + + // Expected results: 64-bit, 32-bit + Name(p002, Package() { + + // X - Integer, (0) + + Ones, Ones, + + // X - String, (1) + + Zero, Zero, Zero, Zero, Ones, Ones, Zero, Zero, + + Ones, Ones, Zero, Zero, Ones, Ones, + Zero, Zero, Ones, Ones, Zero, Zero, + + + Ones, Ones, Zero, Zero, Ones, Ones, Zero, Zero, + Ones, Ones, Zero, Zero, Ones, Ones, + + // X - Buffer, (18) + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Zero, Zero, Zero, Zero, "Exc", "Exc", "Exc", "Exc", + + // X - Field Unit, (27) + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Zero, Ones, Ones, Zero, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, + + // X - Buffer Field, (38) + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Zero, Ones, Ones, Zero, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, + }) + + // Expected results: 64-bit, 32-bit + Name(p003, Package() { + + // X - Integer, (0) + + Ones, Ones, + + // X - String, (1) + + Ones, Ones, Ones, Ones, Zero, Zero, Ones, Ones, + + Ones, Ones, Ones, Ones, Zero, Zero, + Ones, Ones, Zero, Zero, Ones, Ones, + + + Zero, Zero, Ones, Ones, Zero, Zero, Ones, Ones, + Zero, Zero, Ones, Ones, Zero, Zero, + + // X - Buffer, (18) + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Zero, Zero, + + // X - Field Unit, (27) + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, + + // X - Buffer Field, (38) + + Ones, Ones, Zero, Zero, Zero, Zero, Zero, Zero, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, + }) + + // Expected results: 64-bit, 32-bit + Name(p004, Package() { + + // X - Integer, (0) + + Ones, Ones, + + // X - String, (1) + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + + Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, + + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, + + // X - Buffer, (18) + + Zero, Zero, Ones, Ones, Ones, Ones, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Ones, Ones, + + // X - Field Unit, (27) + + Ones, Ones, Ones, Ones, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Ones, Ones, Ones, Ones, Ones, Ones, Zero, Zero, + Zero, Zero, + + // X - Buffer Field, (38) + + Zero, Zero, Ones, Ones, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Ones, Ones, Ones, Ones, Ones, Ones, Zero, Zero, + Zero, Zero, + }) + + // Expected results: 64-bit, 32-bit + Name(p005, Package() { + + // X - Integer, (0) + + Ones, Ones, + + // X - String, (1) + + Ones, Ones, Ones, Ones, Zero, Zero, Ones, Ones, + + Ones, Ones, Ones, Ones, Zero, Zero, + Ones, Ones, Zero, Zero, Ones, Ones, + + + Zero, Zero, Ones, Ones, Zero, Zero, Ones, Ones, + Zero, Zero, Ones, Ones, Zero, Zero, + + // X - Buffer, (18) + + Ones, Ones, Zero, Zero, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Zero, Zero, + + // X - Field Unit, (27) + + Zero, Zero, Zero, Zero, Zero, Zero, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Zero, Ones, Zero, Zero, Zero, Ones, Ones, + Ones, Ones, + + // X - Buffer Field, (38) + + Ones, Ones, Zero, Zero, Zero, Zero, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Zero, Ones, Zero, Zero, Zero, Ones, Ones, + Ones, Ones, + }) + + if (arg0) { + m486() + Store(0x100, df00) + Store(0x100, df01) + Store(m488(op, 0x1ed1, 0x1ed1, 0, 0, 0), Local7) + } else { + Store(1, FLG1) + + // (Integer ==> All other types) + // (All other types ==> Integer) + Store(2, com2) + Store(p000, PKG1) + Store(p001, PKG2) + m48b(op, 0x103) + + // (String ==> All other types) + // (All other types ==> String) + Store(2, com2) + Store(p002, PKG1) + Store(p003, PKG2) + m48b(op, 0x204) + + // (Buffer ==> All other types) + // (All other types ==> Buffer) + Store(2, com2) + Store(p004, PKG1) + Store(p005, PKG2) + m48b(op, 0x302) + + Store(PKG0, PKG1) + Store(PKG0, PKG2) + Store(0, com2) + Store(0, FLG1) + } +} + +// LLess ({int|str|buf}, {int|str|buf}) => Boolean +// +// Total scale of unacceptable types: +// Source1: 0x1ed1 +// Source2: 0x1ed1 +// Total scale of acceptable types: +// Source1: 0x402e +// Source2: 0x402e +Method(m420, 1) +{ + Name(op, 20) + + ts00("m420") + + // Expected results: 64-bit, 32-bit + Name(p000, Package() { + + // X - Integer, (0) + + Zero, Ones, + + // X - String, (1) + + "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", + + Zero, Zero, Zero, Zero, Zero, Ones, + Ones, Ones, Zero, Ones, Ones, Zero, + + + "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", + "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", + + // X - Buffer, (18) + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Ones, Zero, Ones, + Zero, Ones, Ones, Ones, Zero, Ones, Zero, Zero, + + // X - Field Unit, (27) + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Ones, + Zero, Ones, Zero, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Zero, Ones, + + // X - Buffer Field, (38) + + Zero, Ones, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Ones, + Zero, Ones, Zero, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Zero, Ones, + }) + + // Expected results: 64-bit, 32-bit + Name(p001, Package() { + + // X - Integer, (0) + + Ones, Zero, + + // X - String, (1) + + Zero, Zero, Zero, Zero, Ones, Ones, Zero, Zero, + + Ones, Zero, Zero, Zero, Ones, Ones, + Zero, Zero, Ones, Ones, Zero, Zero, + + Ones, Ones, Zero, Zero, Ones, Ones, Zero, Zero, Ones, Ones, + Zero, Zero, Ones, Ones, + + // X - Buffer, (18) + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Ones, Ones, + + // X - Field Unit, (27) + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Zero, + Ones, Zero, Ones, Ones, Zero, Ones, Ones, Ones, Zero, Zero, + Zero, Zero, + + // X - Buffer Field, (38) + + Ones, Zero, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Zero, + Ones, Zero, Ones, Ones, Zero, Ones, Ones, Ones, Zero, Zero, + Zero, Zero, + }) + + // Expected results: 64-bit, 32-bit + Name(p002, Package() { + + // X - Integer, (0) + + Zero, Zero, + + // X - String, (1) + + Ones, Ones, Ones, Ones, Zero, Zero, Ones, Ones, + + Zero, Zero, Ones, Ones, Zero, Zero, + Ones, Ones, Zero, Zero, Ones, Ones, + + + Zero, Zero, Ones, Ones, Zero, Zero, Ones, Ones, + Zero, Zero, Ones, Ones, Zero, Zero, + + // X - Buffer, (18) + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Ones, Ones, Ones, Ones, "Exc", "Exc", "Exc", "Exc", + + // X - Field Unit, (27) + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Ones, Zero, Zero, Ones, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, + + // X - Buffer Field, (38) + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Ones, Zero, Zero, Ones, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, + }) + + // Expected results: 64-bit, 32-bit + Name(p003, Package() { + + // X - Integer, (0) + + Zero, Zero, + + // X - String, (1) + + Zero, Zero, Zero, Zero, Ones, Ones, Zero, Zero, + + Zero, Zero, Zero, Zero, Ones, Ones, + Zero, Zero, Ones, Ones, Zero, Zero, + + + Ones, Ones, Zero, Zero, Ones, Ones, Zero, Zero, + Ones, Ones, Zero, Zero, Ones, Ones, + + // X - Buffer, (18) + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Ones, Ones, + + // X - Field Unit, (27) + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, + + // X - Buffer Field, (38) + + Zero, Zero, Ones, Ones, Ones, Ones, Ones, Ones, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, + }) + + // Expected results: 64-bit, 32-bit + Name(p004, Package() { + + // X - Integer, (0) + + Zero, Zero, + + // X - String, (1) + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + + Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, + + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, + + // X - Buffer, (18) + + Ones, Ones, Zero, Zero, Zero, Zero, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Zero, Zero, + + // X - Field Unit, (27) + + Zero, Zero, Zero, Zero, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Zero, Zero, Zero, Zero, Zero, Zero, Ones, Ones, + Ones, Ones, + + // X - Buffer Field, (38) + + Ones, Ones, Zero, Zero, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Zero, Zero, Zero, Zero, Zero, Zero, Ones, Ones, + Ones, Ones, + }) + + // Expected results: 64-bit, 32-bit + Name(p005, Package() { + + // X - Integer, (0) + + Zero, Zero, + + // X - String, (1) + + Zero, Zero, Zero, Zero, Ones, Ones, Zero, Zero, + + Zero, Zero, Zero, Zero, Ones, Ones, + Zero, Zero, Ones, Ones, Zero, Zero, + + + Ones, Ones, Zero, Zero, Ones, Ones, Zero, Zero, + Ones, Ones, Zero, Zero, Ones, Ones, + + // X - Buffer, (18) + + Zero, Zero, Ones, Ones, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Ones, Ones, + + // X - Field Unit, (27) + + Ones, Ones, Ones, Ones, Ones, Ones, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Ones, Zero, Ones, Ones, Ones, Zero, Zero, + Zero, Zero, + + // X - Buffer Field, (38) + + Zero, Zero, Ones, Ones, Ones, Ones, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Ones, Zero, Ones, Ones, Ones, Zero, Zero, + Zero, Zero, + }) + + if (arg0) { + m486() + Store(0x100, df00) + Store(0x100, df01) + Store(m488(op, 0x1ed1, 0x1ed1, 0, 0, 0), Local7) + } else { + Store(1, FLG1) + + // (Integer ==> All other types) + // (All other types ==> Integer) + Store(2, com2) + Store(p000, PKG1) + Store(p001, PKG2) + m48b(op, 0x103) + + // (String ==> All other types) + // (All other types ==> String) + Store(2, com2) + Store(p002, PKG1) + Store(p003, PKG2) + m48b(op, 0x204) + + // (Buffer ==> All other types) + // (All other types ==> Buffer) + Store(2, com2) + Store(p004, PKG1) + Store(p005, PKG2) + m48b(op, 0x302) + + Store(PKG0, PKG1) + Store(PKG0, PKG2) + Store(0, com2) + Store(0, FLG1) + } +} + +// LLessEqual ({int|str|buf}, {int|str|buf}) => Boolean +// +// Total scale of unacceptable types: +// Source1: 0x1ed1 +// Source2: 0x1ed1 +// Total scale of acceptable types: +// Source1: 0x402e +// Source2: 0x402e +Method(m421, 1) +{ + Name(op, 21) + + ts00("m421") + + // Expected results: 64-bit, 32-bit + Name(p000, Package() { + + // X - Integer, (0) + + Zero, Ones, + + // X - String, (1) + + "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", + + Zero, Zero, Zero, Zero, Zero, Ones, + Ones, Ones, Zero, Ones, Ones, Zero, + + + "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", + "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", + + // X - Buffer, (18) + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Ones, Zero, Ones, + Zero, Ones, Ones, Ones, Zero, Ones, Zero, Zero, + + // X - Field Unit, (27) + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Ones, + Zero, Ones, Zero, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Zero, Ones, + + // X - Buffer Field, (38) + + Zero, Ones, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Ones, + Zero, Ones, Zero, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Zero, Ones, + }) + + // Expected results: 64-bit, 32-bit + Name(p001, Package() { + + // X - Integer, (0) + + Ones, Zero, + + // X - String, (1) + + Zero, Zero, Zero, Zero, Ones, Ones, Zero, Zero, + + Ones, Zero, Zero, Zero, Ones, Ones, + Zero, Zero, Ones, Ones, Zero, Zero, + + Ones, Ones, Zero, Zero, Ones, Ones, Zero, Zero, Ones, Ones, + Zero, Zero, Ones, Ones, + + // X - Buffer, (18) + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Ones, Ones, + + // X - Field Unit, (27) + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Zero, + Ones, Zero, Ones, Ones, Zero, Ones, Ones, Ones, Zero, Zero, + Zero, Zero, + + // X - Buffer Field, (38) + + Ones, Zero, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Zero, + Ones, Zero, Ones, Ones, Zero, Ones, Ones, Ones, Zero, Zero, + Zero, Zero, + }) + + // Expected results: 64-bit, 32-bit + Name(p002, Package() { + + // X - Integer, (0) + + Zero, Zero, + + // X - String, (1) + + Ones, Ones, Ones, Ones, Zero, Zero, Ones, Ones, + + Ones, Ones, Ones, Ones, Zero, Zero, + Ones, Ones, Zero, Zero, Ones, Ones, + + + Zero, Zero, Ones, Ones, Zero, Zero, Ones, Ones, + Zero, Zero, Ones, Ones, Zero, Zero, + + // X - Buffer, (18) + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Ones, Ones, Ones, Ones, "Exc", "Exc", "Exc", "Exc", + + // X - Field Unit, (27) + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Ones, Zero, Zero, Ones, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, + + // X - Buffer Field, (38) + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Ones, Zero, Zero, Ones, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, + }) + + // Expected results: 64-bit, 32-bit + Name(p003, Package() { + + // X - Integer, (0) + + Zero, Zero, + + // X - String, (1) + + Zero, Zero, Zero, Zero, Ones, Ones, Zero, Zero, + + Ones, Ones, Zero, Zero, Ones, Ones, + Zero, Zero, Ones, Ones, Zero, Zero, + + + Ones, Ones, Zero, Zero, Ones, Ones, Zero, Zero, + Ones, Ones, Zero, Zero, Ones, Ones, + + // X - Buffer, (18) + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Ones, Ones, + + // X - Field Unit, (27) + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, + + // X - Buffer Field, (38) + + Zero, Zero, Ones, Ones, Ones, Ones, Ones, Ones, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, + }) + + // Expected results: 64-bit, 32-bit + Name(p004, Package() { + + // X - Integer, (0) + + Zero, Zero, + + // X - String, (1) + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + + Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, + + + Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, + + // X - Buffer, (18) + + Ones, Ones, Zero, Zero, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Zero, Zero, + + // X - Field Unit, (27) + + Zero, Zero, Zero, Zero, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Zero, Zero, Zero, Zero, Zero, Zero, Ones, Ones, + Ones, Ones, + + // X - Buffer Field, (38) + + Ones, Ones, Zero, Zero, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Zero, Zero, Zero, Zero, Zero, Zero, Ones, Ones, + Ones, Ones, + }) + + // Expected results: 64-bit, 32-bit + Name(p005, Package() { + + // X - Integer, (0) + + Zero, Zero, + + // X - String, (1) + + Zero, Zero, Zero, Zero, Ones, Ones, Zero, Zero, + + Zero, Zero, Zero, Zero, Ones, Ones, + Zero, Zero, Ones, Ones, Zero, Zero, + + + Ones, Ones, Zero, Zero, Ones, Ones, Zero, Zero, + Ones, Ones, Zero, Zero, Ones, Ones, + + // X - Buffer, (18) + + Zero, Zero, Ones, Ones, Ones, Ones, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Zero, Zero, Zero, Ones, Ones, + + // X - Field Unit, (27) + + Ones, Ones, Ones, Ones, Ones, Ones, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Ones, Zero, Ones, Ones, Ones, Zero, Zero, + Zero, Zero, + + // X - Buffer Field, (38) + + Zero, Zero, Ones, Ones, Ones, Ones, Zero, Zero, Zero, Zero, + Zero, Zero, Zero, Ones, Zero, Ones, Ones, Ones, Zero, Zero, + Zero, Zero, + }) + + if (arg0) { + m486() + Store(0x100, df00) + Store(0x100, df01) + Store(m488(op, 0x1ed1, 0x1ed1, 0, 0, 0), Local7) + } else { + Store(1, FLG1) + + // (Integer ==> All other types) + // (All other types ==> Integer) + Store(2, com2) + Store(p000, PKG1) + Store(p001, PKG2) + m48b(op, 0x103) + + // (String ==> All other types) + // (All other types ==> String) + Store(2, com2) + Store(p002, PKG1) + Store(p003, PKG2) + m48b(op, 0x204) + + // (Buffer ==> All other types) + // (All other types ==> Buffer) + Store(2, com2) + Store(p004, PKG1) + Store(p005, PKG2) + m48b(op, 0x302) + + Store(PKG0, PKG1) + Store(PKG0, PKG2) + Store(0, com2) + Store(0, FLG1) + } +} + +// LNot (int) => Boolean +// +// Total scale of unacceptable types: +// Source: 0x1ed1 +// Total scale of acceptable types: +// Source: 0x402e +Method(m422, 1) +{ + Name(op, 22) + + ts00("m422") + + if (arg0) { + m486() + Store(m488(op, 0x1ed1, 0, 0, 0, 0), Local7) + } else { + } +} + +// LNotEqual ({int|str|buf}, {int|str|buf}) => Boolean +// +// Total scale of unacceptable types: +// Source1: 0x1ed1 +// Source2: 0x1ed1 +// Total scale of acceptable types: +// Source1: 0x402e +// Source2: 0x402e +Method(m423, 1) +{ + Name(op, 23) + + ts00("m423") + + // Expected results: 64-bit, 32-bit + Name(p000, Package() { + + // X - Integer + + Ones, Ones, + + // X - String + + "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", + + Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, + + + "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", + "Exc", "Exc", "Exc", "Exc", "Exc", "Exc", + + // X - Buffer + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + + // X - Field Unit + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, + + // X - Buffer Field + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, + }) + + // Expected results: 64-bit, 32-bit + Name(p001, Package() { + + // X - Integer + + Ones, Ones, + + // X - String + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, + + // X - Buffer + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + + // X - Field Unit + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, + + // X - Buffer Field + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, + }) + + // Expected results: 64-bit, 32-bit + Name(p002, Package() { + + // X - Integer + + Ones, Ones, + + // X - String + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Zero, Zero, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, + + // X - Buffer + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, "Exc", "Exc", "Exc", "Exc", + + // X - Field Unit + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, + + // X - Buffer Field + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, + }) + + // Expected results: 64-bit, 32-bit + Name(p003, Package() { + + // X - Integer + + Ones, Ones, + + // X - String + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Zero, Zero, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, + + // X - Buffer + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + + // X - Field Unit + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, + + // X - Buffer Field + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, + }) + + // Expected results: 64-bit, 32-bit + Name(p004, Package() { + + // X - Integer + + Ones, Ones, + + // X - String + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, + + // X - Buffer + + Ones, Ones, Ones, Ones, Zero, Zero, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + + // X - Field Unit + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, + + // X - Buffer Field + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, + }) + + // Expected results: 64-bit, 32-bit + Name(p005, Package() { + + // X - Integer + + Ones, Ones, + + // X - String + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, + + // X - Buffer + + Ones, Ones, Ones, Ones, Zero, Zero, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + + // X - Field Unit + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, + + // X - Buffer Field + + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones, + Ones, Ones, + }) + + if (arg0) { + m486() + Store(0x100, df00) + Store(0x100, df01) + Store(m488(op, 0x1ed1, 0x1ed1, 0, 0, 0), Local7) + } else { + Store(1, FLG1) + + // (Integer ==> All other types) + // (All other types ==> Integer) + Store(2, com2) + Store(p000, PKG1) + Store(p001, PKG2) + m48b(op, 0x103) + + // (String ==> All other types) + // (All other types ==> String) + Store(2, com2) + Store(p002, PKG1) + Store(p003, PKG2) + m48b(op, 0x204) + + // (Buffer ==> All other types) + // (All other types ==> Buffer) + Store(2, com2) + Store(p004, PKG1) + Store(p005, PKG2) + m48b(op, 0x302) + + Store(PKG0, PKG1) + Store(PKG0, PKG2) + Store(0, com2) + Store(0, FLG1) + } +} + +// LOr (int, int) => Boolean +// +// Total scale of unacceptable types: +// Source1: 0x1ed1 +// Source2: 0x1ed1 +// Total scale of acceptable types: +// Source1: 0x402e +// Source2: 0x402e +Method(m424, 1) +{ + Name(op, 24) + + ts00("m424") + + if (arg0) { + m486() + Store(0x100, df00) + Store(0x100, df01) + Store(m488(op, 0x1ed1, 0x1ed1, 0, 0, 0), Local7) + } else { + } +} + +// Match (pkg, byt, int, byt, int, int) => Ones | Integer +// +// Total scale of unacceptable types: +// +// Total Currently excluded from it +// SearchPackage: 0x5eef +// MatchObject1: 0x1ed1 +// MatchObject2: 0x1ed1 0x1ed1 (causes error) +// StartIndex: 0x1ed1 0x1ed1 (causes error) +// Total scale of acceptable types: +// SearchPackage: 0x0010 +// MatchObject1: 0x402e +// MatchObject2: 0x402e +// StartIndex: 0x402e +Method(m425, 1) +{ + Name(op, 25) + + ts00("m425") + + if (arg0) { + m486() + Store(0x400, df00) + Store(0x100, df01) + Store(0x100, df02) + Store(0x100, df03) + Store(0x100, df04) + Store(m488(op, 0x5eef, 0, 0x1ed1, 0x0000, 0x0000), Local7) + } else { + } +} + +// Mid ({str|buf}, int, int, Result) => Buffer or String +// +// Total scale of unacceptable types: +// +// Total Currently excluded from it +// Source: 0x1ed1 +// Index: 0x1ed1 0x0400 Op.Region (causes error) +// Length: 0x1ed1 0x0400 Op.Region (causes error) +// Total scale of acceptable types: +// Source: 0x402e +// Index: 0x402e +// Length: 0x402e +Method(m426, 1) +{ + Name(op, 26) + + ts00("m426") + + if (arg0) { + m486() + Store(0x200, df00) + Store(0x100, df01) + Store(0x100, df02) + Store(m488(op, 0x1ed1, 0x1ad1, 0x1ad1, 0, 0), Local7) + } else { + } +} + +// Mod (int, int, Result) => Integer +// +// Total scale of unacceptable types: +// Dividend: 0x1ed1 +// Divisor: 0x1ed1 +// Total scale of acceptable types: +// Dividend: 0x402e +// Divisor: 0x402e +Method(m427, 1) +{ + Name(op, 27) + + ts00("m427") + + if (arg0) { + m486() + Store(0x100, df00) + Store(0x100, df01) + Store(m488(op, 0x1ed1, 0x1ed1, 0, 0, 0), Local7) + } else { + } +} + +// Multiply (int, int, Result) => Integer +// +// Total scale of unacceptable types: +// Multiplicand: 0x1ed1 +// Multiplier: 0x1ed1 +// Total scale of acceptable types: +// Multiplicand: 0x402e +// Multiplier: 0x402e +Method(m428, 1) +{ + Name(op, 28) + + ts00("m428") + + if (arg0) { + m486() + Store(0x100, df00) + Store(0x100, df01) + Store(m488(op, 0x1ed1, 0x1ed1, 0, 0, 0), Local7) + } else { + } +} + +// NAnd (int, int, Result) => Integer +// +// Total scale of unacceptable types: +// Source1: 0x1ed1 +// Source2: 0x1ed1 +// Total scale of acceptable types: +// Source1: 0x402e +// Source2: 0x402e +Method(m429, 1) +{ + Name(op, 29) + + ts00("m429") + + if (arg0) { + m486() + Store(0x100, df00) + Store(0x100, df01) + Store(m488(op, 0x1ed1, 0x1ed1, 0, 0, 0), Local7) + } else { + } +} + +// NOr (int, int, Result) => Integer +// +// Total scale of unacceptable types: +// Source1: 0x1ed1 +// Source2: 0x1ed1 +// Total scale of acceptable types: +// Source1: 0x402e +// Source2: 0x402e +Method(m430, 1) +{ + Name(op, 30) + + ts00("m430") + + if (arg0) { + m486() + Store(0x100, df00) + Store(0x100, df01) + Store(m488(op, 0x1ed1, 0x1ed1, 0, 0, 0), Local7) + } else { + } +} + +// Not (int, Result) => Integer +// +// Total scale of unacceptable types: +// Source: 0x1ed1 +// Total scale of acceptable types: +// Source: 0x402e +Method(m431, 1) +{ + Name(op, 31) + + ts00("m431") + + if (arg0) { + m486() + Store(m488(op, 0x1ed1, 0, 0, 0, 0), Local7) + } else { + } +} + +// ObjectType (any) => Integer +// +// Total scale of unacceptable types: +// Object: 0x0000 +// Total scale of acceptable types: +// Object: 0x5eff +Method(m432, 1) +{ + Name(op, 32) + + ts00("m432") + + if (arg0) { + m486() + +// Error: ObjectType failes with the Unitialized type + Store(m488(op, 0x0001, 0, 0, 0, 0), Local7) + + } else { + } +} + +// Or (int, int, Result) => Integer +// +// Total scale of unacceptable types: +// Source1: 0x1ed1 +// Source2: 0x1ed1 +// Total scale of acceptable types: +// Source1: 0x402e +// Source2: 0x402e +Method(m433, 1) +{ + Name(op, 33) + + ts00("m433") + + if (arg0) { + m486() + Store(0x100, df00) + Store(0x100, df01) + Store(m488(op, 0x1ed1, 0x1ed1, 0, 0, 0), Local7) + } else { + } +} + +// RefOf (any) => ObjectReference +// +// Total scale of unacceptable types: +// Object: 0x0000 +// Total scale of acceptable types: +// Object: 0x5eff +Method(m434, 1) +{ + Name(op, 34) + + ts00("m434") + + if (arg0) { + m486() + +// Error: RefOf failes with the Unitialized type + Store(m488(op, 0x0001, 0, 0, 0, 0), Local7) + + } else { + } +} + +// Release (mux) +// +// Total scale of unacceptable types: +// SyncObject: 0x5cff +// Total scale of acceptable types: +// SyncObject: 0x0200 +Method(m435, 1) +{ + Name(op, 35) + + ts00("m435") + + if (arg0) { + m486() + Store(m488(op, 0x5cff, 0, 0, 0, 0), Local7) + } else { + } +} + +// Reset (evt) +// +// Total scale of unacceptable types: +// SyncObject: 0x5e7f +// Total scale of acceptable types: +// SyncObject: 0x0080 +Method(m436, 1) +{ + Name(op, 36) + + ts00("m436") + + if (arg0) { + m486() + Store(m488(op, 0x5e7f, 0, 0, 0, 0), Local7) + } else { + } +} + +// Return ({any|ref}) +// +// Total scale of unacceptable types: +// Arg: 0x0000 +// Total scale of acceptable types: +// Arg: 0x5eff +Method(m437, 1) +{ + Name(op, 37) + + ts00("m437") + + if (arg0) { + m486() + +// Error: Return failes with the Unitialized type + Store(m488(op, 0x0001, 0, 0, 0, 0), Local7) + + } else { + } +} + +// ShiftLeft (int, int, Result) => Integer +// +// Total scale of unacceptable types: +// Source: 0x1ed1 +// ShiftCount: 0x1ed1 +// Total scale of acceptable types: +// Source: 0x402e +// ShiftCount: 0x402e +Method(m438, 1) +{ + Name(op, 38) + + ts00("m438") + + if (arg0) { + m486() + Store(0x100, df00) + Store(0x100, df01) + Store(m488(op, 0x1ed1, 0x1ed1, 0, 0, 0), Local7) + } else { + } +} + +// ShiftRight (int, int, Result) => Integer +// +// Total scale of unacceptable types: +// Source: 0x1ed1 +// ShiftCount: 0x1ed1 +// Total scale of acceptable types: +// Source: 0x402e +// ShiftCount: 0x402e +Method(m439, 1) +{ + Name(op, 39) + + ts00("m439") + + if (arg0) { + m486() + Store(0x100, df00) + Store(0x100, df01) + Store(m488(op, 0x1ed1, 0x1ed1, 0, 0, 0), Local7) + } else { + } +} + +// Signal (evt) +// +// Total scale of unacceptable types: +// SyncObject: 0x5e7f +// Total scale of acceptable types: +// SyncObject: 0x0080 +Method(m440, 1) +{ + Name(op, 40) + + ts00("m440") + + if (arg0) { + m486() + Store(m488(op, 0x5e7f, 0, 0, 0, 0), Local7) + } else { + } +} + +// SizeOf ({int|str|buf|pkg}) => Integer +// +// Total scale of unacceptable types: +// ObjectName: 0x5ee3 +// Total scale of acceptable types: +// ObjectName: 0x004c +Method(m441, 1) +{ + Name(op, 41) + + ts00("m441") + + if (arg0) { + m486() + Store(m488(op, 0x5ee3, 0, 0, 0, 0), Local7) + } else { + } +} + +// Sleep (int) +// +// Total scale of unacceptable types: +// MilliSeconds: 0x1ed1 +// Total scale of acceptable types: +// MilliSeconds: 0x402e +Method(m442, 1) +{ + Name(op, 42) + + ts00("m442") + + if (arg0) { + m486() + Store(m488(op, 0x1ed1, 0, 0, 0, 0), Local7) + } else { + } +} + +// Stall (int) +// +// Total scale of unacceptable types: +// MicroSeconds: 0x1ed1 +// Total scale of acceptable types: +// MicroSeconds: 0x402e +Method(m443, 1) +{ + Name(op, 43) + + ts00("m443") + + if (arg0) { + m486() + Store(m488(op, 0x1ed1, 0, 0, 0, 0), Local7) + } else { + } +} + +// Store (any, Destination) => DataRefObject +// +// Total scale of unacceptable types: +// Source: 0x0000 +// Total scale of acceptable types: +// Source: 0x5eff +Method(m444, 1) +{ + Name(op, 44) + + ts00("m444") + + if (arg0) { + m486() + +// Error: Store failes with the Unitialized type + Store(m488(op, 0x0001, 0, 0, 0, 0), Local7) + + } else { + } +} + +// Subtract (int, int, Result) => Integer +// +// Total scale of unacceptable types: +// Minuend: 0x1ed1 +// Subtrahend: 0x1ed1 +// Total scale of acceptable types: +// Minuend: 0x402e +// Subtrahend: 0x402e +Method(m445, 1) +{ + Name(op, 45) + + ts00("m445") + + if (arg0) { + m486() + Store(0x100, df00) + Store(0x100, df01) + Store(m488(op, 0x1ed1, 0x1ed1, 0, 0, 0), Local7) + } else { + } +} + +// ToBCD (int, Result) => Integer +// +// Total scale of unacceptable types: +// Value: 0x1ed1 +// Total scale of acceptable types: +// Value: 0x402e +Method(m446, 1) +{ + Name(op, 46) + + ts00("m446") + + if (arg0) { + m486() + Store(m488(op, 0x1ed1, 0, 0, 0, 0), Local7) + } else { + } +} + +// ToBuffer ({int|str|buf}, Result) => Buffer +// +// Total scale of unacceptable types: +// Data: 0x1ed1 +// Total scale of acceptable types: +// Data: 0x402e +Method(m447, 1) +{ + Name(op, 47) + + ts00("m447") + + if (arg0) { + m486() + Store(m488(op, 0x1ed1, 0, 0, 0, 0), Local7) + } else { + } +} + +// ToDecimalString ({int|str|buf}, Result) => String +// +// Total scale of unacceptable types: +// Data: 0x1ed1 +// Total scale of acceptable types: +// Data: 0x402e +Method(m448, 1) +{ + Name(op, 48) + + ts00("m448") + + if (arg0) { + m486() + Store(m488(op, 0x1ed1, 0, 0, 0, 0), Local7) + } else { + Store(m48d(op, 0x102, 0, 0, 0, "305419896", "305419896"), Local7) + Store(m48d(op, 0x204, 0, 0, 0, "9876", "9876"), Local7) + Store(m48d(op, 0x209, 0, 0, 0, "FdeAcb0132547698", "FdeAcb0132547698"), Local7) + Store(m48d(op, 0x302, 0, 0, 0, "129,130", "129,130"), Local7) + Store(m48d(op, 0x303, 0, 0, 0, "131,132,133,134", "131,132,133,134"), Local7) + Store(m48d(op, 0x506, 0, 0, 0, "6692061083885586008", "88,70,55,136,25,250,198,82"), Local7) + Store(m48d(op, 0xe06, 0, 0, 0, "6692061083885586008", "88,70,55,136,25,250,198,82"), Local7) + } +} + +// ToHexString ({int|str|buf}, Result) => String +// +// Total scale of unacceptable types: +// Data: 0x1ed1 +// Total scale of acceptable types: +// Data: 0x402e +Method(m449, 1) +{ + Name(op, 49) + + ts00("m449") + + if (arg0) { + m486() + Store(m488(op, 0x1ed1, 0, 0, 0, 0), Local7) + } else { + Store(m48d(op, 0x102, 0, 0, 0, "0000000012345678", "12345678"), Local7) + Store(m48d(op, 0x204, 0, 0, 0, "9876", "9876"), Local7) + Store(m48d(op, 0x209, 0, 0, 0, "FdeAcb0132547698", "FdeAcb0132547698"), Local7) + Store(m48d(op, 0x302, 0, 0, 0, "81,82", "81,82"), Local7) + Store(m48d(op, 0x303, 0, 0, 0, "83,84,85,86", "83,84,85,86"), Local7) + Store(m48d(op, 0x506, 0, 0, 0, "6692061083885586008", "58,46,37,88,19,FA,C6,52"), Local7) + Store(m48d(op, 0xe06, 0, 0, 0, "6692061083885586008", "58,46,37,88,19,FA,C6,52"), Local7) + } +} + +// ToInteger ({int|str|buf}, Result) => Integer +// +// Total scale of unacceptable types: +// Data: 0x1ed1 +// Total scale of acceptable types: +// Data: 0x402e +Method(m450, 1) +{ + Name(op, 50) + + ts00("m450") + + if (arg0) { + m486() + Store(m488(op, 0x1ed1, 0, 0, 0, 0), Local7) + } else { + Store(m48d(op, 0x102, 0, 0, 0, 0x12345678, 0x12345678), Local7) + Store(m48d(op, 0x204, 0, 0, 0, 0x9876, 0x9876), Local7) + Store(m48d(op, 0x211, 0, 0, 0, 0xF1dAB98e0D794Bc5, 0xD794BC5), Local7) + Store(m48d(op, 0x302, 0, 0, 0, 0x8281, 0x8281), Local7) + Store(m48d(op, 0x303, 0, 0, 0, 0x86858483, 0x86858483), Local7) + Store(m48d(op, 0x506, 0, 0, 0, 0x52C6FA1988374658, 0x88374658), Local7) + Store(m48d(op, 0xe06, 0, 0, 0, 0x52C6FA1988374658, 0x88374658), Local7) + } +} + +// ToString (buf, int, Result) => String +// +// Total scale of unacceptable types: +// Source: 0x1ed1 +// Length: 0x1ed1 +// Total scale of acceptable types: +// Source: 0x402e +// Length: 0x402e +Method(m451, 1) +{ + Name(op, 51) + + ts00("m451") + + if (arg0) { + m486() + Store(0x300, df00) + Store(0x100, df01) + Store(m488(op, 0x1ed1, 0x1ed1, 0, 0, 0), Local7) + } else { + } +} + +// Wait (evt, int) => Boolean +// +// Total scale of unacceptable types: +// SyncObject: 0x5e7f +// SyncObject: 0x1ed1 +// Total scale of acceptable types: +// SyncObject: 0x0080 +// SyncObject: 0x402e +Method(m452, 1) +{ + Name(op, 52) + + ts00("m452") + + if (arg0) { + m486() + Store(0x700, df00) + Store(0x100, df01) + Store(m488(op, 0x5e7f, 0x1ed1, 0, 0, 0), Local7) + } else { + } +} + +// XOr (int, int, Result) => Integer +// +// Total scale of unacceptable types: +// Source1: 0x1ed1 +// Source2: 0x1ed1 +// Total scale of acceptable types: +// Source1: 0x402e +// Source2: 0x402e +Method(m453, 1) +{ + Name(op, 53) + + ts00("m453") + + if (arg0) { + m486() + Store(0x100, df00) + Store(0x100, df01) + Store(m488(op, 0x1ed1, 0x1ed1, 0, 0, 0), Local7) + } else { + } +} + +Method(m460, 1) +{ +if (1) { + m400(arg0) + m401(arg0) + m402(arg0) + m403(arg0) + m404(arg0) + m405(arg0) + m406(arg0) + m407(arg0) + m408(arg0) + m409(arg0) + m410(arg0) + m411(arg0) + m412(arg0) + m413(arg0) + m414(arg0) + m415(arg0) + m416(arg0) + m417(arg0) + m418(arg0) + m419(arg0) + m420(arg0) + m421(arg0) + m422(arg0) + m423(arg0) + m424(arg0) + m425(arg0) + m426(arg0) + m427(arg0) + m428(arg0) + m429(arg0) + m430(arg0) + m431(arg0) + m432(arg0) + m433(arg0) + m434(arg0) + m435(arg0) + m436(arg0) + m437(arg0) + m438(arg0) + m439(arg0) + m440(arg0) + m441(arg0) + m442(arg0) + m443(arg0) + m444(arg0) + m445(arg0) + m446(arg0) + m447(arg0) + m448(arg0) + m449(arg0) + m450(arg0) + m451(arg0) + m452(arg0) + m453(arg0) +} else { +// m400(arg0) +// m401(arg0) +// m402(arg0) +// m403(arg0) +// m407(arg0) +// m409(arg0) +// m411(arg0) +// m412(arg0) +// m414(arg0) +// m417(arg0) +// m418(arg0) +// m448(arg0) +// m449(arg0) +// m450(arg0) + +// m400(arg0) + m401(arg0) +} + +if (0) { + +Name(xxxx, 0) +Name(b000, Buffer(10) {}) +Name(s000, "000000000000000000000000000000") + +Store("-=-=-=-=-=-=-=-=-=-=-=", Debug) + +Store(LGreater(10, 5), Local0) +Store(Local0, Debug) +Store(LGreater(5, 10), Local0) +Store(Local0, Debug) + +Store(LGreater("11", 0x11), Local0) +Store(Local0, Debug) + +Store(LEqual("11", 0x11), Local0) +Store(Local0, Debug) + +Store("11", xxxx) +Store(xxxx, Debug) + + +Store(LGreater("11", 0x0fffffff), Local0) +Store(Local0, Debug) + +Store(LGreater(0x12, "11"), Local0) +Store(Local0, Debug) + +Store("1234567890abCdeF", xxxx) +Store(xxxx, Debug) + +Store("FdeAcb0132547698", xxxx) +Store(xxxx, Debug) + +Store("FdeAcb0132547698", xxxx) +Store(xxxx, Debug) + +// [ACPI Debug] Integer: 0x90ABCDEF +// [ACPI Debug] Integer: 0x32547698 + +Store("qwrt", b000) +Store(b000, Debug) + +// 71 77 72 74 00 00 00 00 00 00 + +Store(0xABEDF18942345678, s000) +Store(s000, Debug) + +// "ABEDF18942345678" + +Store("ABEDF18942345678", b000) +Store(b000, Debug) + +// 41 42 45 44 46 31 38 39 34 32 +} + +} + diff --git a/tests/aslts/src/runtime/common/conversion/rDECL.asl b/tests/aslts/src/runtime/common/conversion/rDECL.asl new file mode 100644 index 0000000..55f4d89 --- /dev/null +++ b/tests/aslts/src/runtime/common/conversion/rDECL.asl @@ -0,0 +1,32 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 Result Object Conversion + +Include("../../../../runtime/common/conversion/rproc.asl") +Include("../../../../runtime/common/conversion/rtest.asl") diff --git a/tests/aslts/src/runtime/common/conversion/rproc.asl b/tests/aslts/src/runtime/common/conversion/rproc.asl new file mode 100644 index 0000000..be5fec8 --- /dev/null +++ b/tests/aslts/src/runtime/common/conversion/rproc.asl @@ -0,0 +1,108 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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(z066, 66) + +// Verify result +// +// arg0 - name of test +// arg1 - results Package +// arg2 - index of four results +// arg3 - indication of Result +// arg4 - indication of ComputationalData +// arg5 - Result +// arg6 - ComputationalData +Method(m4c1, 7) +{ + Name(tmp0, 0) + Name(tmp1, 0) + Name(lpC0, 0) + + Multiply(arg2, 4, lpC0) + + if (arg3) { + + // Result + + // Benchmark of Result + Store(DeRefOf(Index(arg1, lpC0)), Local0) + Increment(lpC0) + Store(DeRefOf(Index(arg1, lpC0)), Local1) + + Store(ObjectType(arg5), tmp0) + + if (F64) { + Store(ObjectType(Local0), tmp1) + if (LNotEqual(tmp0, tmp1)) { + err(arg0, z066, 0, 0, 0, tmp0, tmp1) + } elseif (LNotEqual(arg5, Local0)) { + err(arg0, z066, 1, 0, 0, arg5, Local0) + } + } else { + Store(ObjectType(Local1), tmp1) + if (LNotEqual(tmp0, tmp1)) { + err(arg0, z066, 2, 0, 0, tmp0, tmp1) + } elseif (LNotEqual(arg5, Local1)) { + err(arg0, z066, 3, 0, 0, arg5, Local1) + } + } + } else { + Increment(lpC0) + } + + if (arg4) { + + // ComputationalData + + // Benchmark of ComputationalData + + Increment(lpC0) + Store(DeRefOf(Index(arg1, lpC0)), Local2) + Increment(lpC0) + Store(DeRefOf(Index(arg1, lpC0)), Local3) + + Store(ObjectType(arg6), tmp0) + + if (F64) { + Store(ObjectType(Local2), tmp1) + if (LNotEqual(tmp0, tmp1)) { + err(arg0, z066, 4, 0, 0, tmp0, tmp1) + } elseif (LNotEqual(arg6, Local2)) { + err(arg0, z066, 5, 0, 0, arg6, Local2) + } + } else { + Store(ObjectType(Local3), tmp1) + if (LNotEqual(tmp0, tmp1)) { + err(arg0, z066, 6, 0, 0, tmp0, tmp1) + } elseif (LNotEqual(arg6, Local3)) { + err(arg0, z066, 7, 0, 0, arg6, Local3) + } + } + } +} diff --git a/tests/aslts/src/runtime/common/conversion/rtest.asl b/tests/aslts/src/runtime/common/conversion/rtest.asl new file mode 100644 index 0000000..51eab53 --- /dev/null +++ b/tests/aslts/src/runtime/common/conversion/rtest.asl @@ -0,0 +1,1412 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + ============================ + !!!!!!!!!!!!!!!!!!!!!!!!!!!! + IT IS IN PROGRESS !!!!!!!!!! + !!!!!!!!!!!!!!!!!!!!!!!!!!!! + ============================ +*/ + +// Implicit Result Object Conversion, complex test + +Name(z067, 67) + +// Integers +Name(ii00, 0) +Name(ii10, 0) + +// Strings +Name(ss00, "") +Name(ss10, "!@#$%^&*()_+=-[]{}") + +// Buffers +Name(bb00, Buffer(1) {}) +Name(bb80, Buffer(1) {}) +// Inside 32-bit Integer +Name(bb01, Buffer(3) {}) +Name(bb81, Buffer(3) {}) +// 32-bit Integer +Name(bb02, Buffer(4) {}) +Name(bb82, Buffer(4) {}) +// Inside 64-bit Integer +Name(bb03, Buffer(5) {}) +Name(bb83, Buffer(5) {}) +// Inside 64-bit Integer +Name(bb04, Buffer(8) {}) +Name(bb84, Buffer(8) {}) +// Size exceeding result +Name(bb05, Buffer(20) {}) +Name(bb85, Buffer(20) {}) + +// Buffer Fields +Name(bbff, Buffer(160) {}) +CreateField(bbff, 5, 27, bf00) +CreateField(bbff, 32, 47, bf01) +CreateField(bbff, 79, 27, bf10) +CreateField(bbff, 106, 47, bf11) +// Incomplete last byte +CreateField(bbff, 153, 111, bf02) +CreateField(bbff, 264, 111, bf12) +// Incomplete extra byte +CreateField(bbff, 375, 119, bf03) +CreateField(bbff, 494, 119, bf13) +// Size exceeding result +CreateField(bbff, 654, 160, bf04) +CreateField(bbff, 814, 160, bf14) +// 32-bit Integer +CreateField(bbff, 974, 32, bf05) +CreateField(bbff, 1006, 32, bf15) +// 64-bit Integer +CreateField(bbff, 1038, 64, bf06) +CreateField(bbff, 1102, 64, bf16) + +// Set all bytes of Buffer bbff to 0xff +Method(m565) +{ + Name(lpN0, 160) + Name(lpC0, 0) + + While (lpN0) { + + Store(0xff, Index(bbff, lpC0)) + + Decrement(lpN0) + Increment(lpC0) + } +} + +// Acquire (mux, wrd) => Boolean +Method(m500, 1) +{ + Name(ts, "m500") + ts00(ts) + + Mutex(mt00, 0) + Name(b000, Buffer() {0x00}) + + Store(Acquire(mt00, 0), ii10) + m4c0(ts, ii10, ZERO, ZERO) + + Store(Acquire(mt00, 0x0010), ss10) + m4c0(ts, ss10, "0000000000000000", "00000000") + + Store(Acquire(mt00, 0x0020), bb80) + m4c0(ts, bb80, b000, b000) +} + +// Add (int, int, Result) => Integer +Method(m501, 1) +{ + Name(ts, "m501") + ts00(ts) + + Name(b000, Buffer() {0x63}) + Name(b001, Buffer() {0x63}) + Name(b002, Buffer() {0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17, + 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}) + Name(b003, Buffer() {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27, + 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}) + Name(b004, Buffer() {0x63,0xF4,0x9C,0x52,0x13,0xCF,0x8A,0,0,0,0,0,0,0,0,0}) + Name(b005, Buffer() {0x63,0xF4,0x9C,0x52,0,0,0,0,0,0,0,0,0,0,0,0}) + + // Integers + Store(Add(0x123456789abcda, 0x789abcda023789, ii00), ii10) + m4c0(ts, ii00, 0x008ACF13529CF463, 0x529CF463) + m4c0(ts, ii10, 0x008ACF13529CF463, 0x529CF463) + + // Strings + Store(Add(0x123456789abcda, 0x789abcda023789, ss00), ss10) + m4c0(ts, ss00, "008ACF13529CF463", "529CF463") + m4c0(ts, ss10, "008ACF13529CF463", "529CF463") + + // Buffers smaller than result + Store(Add(0x123456789abcda, 0x789abcda023789, bb00), bb80) + m4c0(ts, bb00, b000, b001) + m4c0(ts, bb80, b000, b001) + + // Buffers greater than result + Store(Add(0x123456789abcda, 0x789abcda023789, b002), b003) + m4c0(ts, b002, b004, b005) + m4c0(ts, b003, b004, b005) + + // Set fields (their source buffer) to zero + +// Store(bbff, Debug) + + m565() + Store(Add(0x123456789abcda, 0x789abcda023789, bf00), bf10) + m4c0(ts, bf00, b004, b005) + m4c0(ts, bf10, b004, b005) + +// !!! check the contents of bbff !!!!!!!!! + +// Store(bbff, Debug) +} + +// And (int, int, Result) => Integer +Method(m502, 1) +{ + Name(ts, "m502") + ts00(ts) +} + +// Concatenate ({int|str|buf}, {int|str|buf}, Result) => ComputationalData +Method(m503, 1) +{ + m563() + m564() +} + +Method(m563) +{ + Name(ts, "m503,s+s") + + // s+s -->> s -->> all combinations of Result and ComputationalData + + // Result 64-bit, 32-bit, ComputationalData 64-bit, 32-bit + Name(p000, Package() { + + // ============= With Result + + 0x00ABCDEF12345678, 0x12345678, 0x00ABCDEF12345678, 0x12345678, + 0x00ABCDEF12345678, 0x12345678, "abcdef12345678", "abcdef12345678", + 0x00ABCDEF12345678, 0x12345678, Buffer() {0x61}, Buffer() {0x61}, + 0x00ABCDEF12345678, 0x12345678, 0x04636261, 0x04636261, + 0x00ABCDEF12345678, 0x12345678, 0x0000666564636261, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66}, + "abcdef12345678", "abcdef12345678", 0x00ABCDEF12345678, 0x12345678, + "abcdef12345678", "abcdef12345678", "abcdef12345678", "abcdef12345678", + "abcdef12345678", "abcdef12345678", Buffer() {0x61}, Buffer() {0x61}, + "abcdef12345678", "abcdef12345678", 0x04636261, 0x04636261, + "abcdef12345678", "abcdef12345678", 0x0000666564636261, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66}, + Buffer() {0x61}, Buffer() {0x61}, 0x00ABCDEF12345678, 0x12345678, + Buffer() {0x61}, Buffer() {0x61}, "abcdef12345678", "abcdef12345678", + Buffer() {0x61}, Buffer() {0x61}, Buffer() {0x61}, Buffer() {0x61}, + Buffer() {0x61}, Buffer() {0x61}, 0x04636261, 0x04636261, + Buffer() {0x61}, Buffer() {0x61}, 0x0000666564636261, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66}, + 0x0000000004636261, 0x04636261, 0x00ABCDEF12345678, 0x12345678, + 0x0000000004636261, 0x04636261, "abcdef12345678", "abcdef12345678", + 0x0000000004636261, 0x04636261, Buffer() {0x61}, Buffer() {0x61}, + 0x0000000004636261, 0x04636261, 0x0000000004636261, 0x04636261, + 0x0000000004636261, 0x04636261, 0x0000666564636261, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66}, + 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66}, + 0x00ABCDEF12345678, 0x12345678, + 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66}, + "abcdef12345678", "abcdef12345678", + 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66}, + Buffer() {0x61}, Buffer() {0x61}, + 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66}, + 0x0000000004636261, 0x04636261, + 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66}, + 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66}, + + // ============= Result omited + + 0,0, 0x00ABCDEF12345678, 0x12345678, + 0,0, "abcdef12345678", "abcdef12345678", + 0,0, Buffer() {0x61}, Buffer() {0x61}, + 0,0, 0x04636261, 0x04636261, + 0,0, 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66}, + + // ============= Store omited + + 0x00ABCDEF12345678, 0x12345678, 0,0, + "abcdef12345678", "abcdef12345678", 0,0, + Buffer() {0x61}, Buffer() {0x61}, 0,0, + 0x04636261, 0x04636261, 0,0, + 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66}, 0,0, + + // ============= Particular additional cases + + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38,0x00}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38,0x00}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38,0x00}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38,0x00}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00, + 0x00,0x00,0x00,0x00}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00, + 0x00,0x00,0x00,0x00}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00, + 0x00,0x00,0x00,0x00}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00, + 0x00,0x00,0x00,0x00}, + Buffer() {0x61,0x62,0x63}, Buffer() {0x61,0x62,0x63}, + Buffer() {0x61,0x62,0x63}, Buffer() {0x61,0x62,0x63}, + Buffer() {0x61,0x62,0x63,0x64}, Buffer() {0x61,0x62,0x63,0x64}, + Buffer() {0x61,0x62,0x63,0x64}, Buffer() {0x61,0x62,0x63,0x64}, + + Buffer() {0x61,0x62,0x63,0x64,0x65}, Buffer() {0x61,0x62,0x63,0x64,0x65}, + Buffer() {0x61,0x62,0x63,0x64,0x65}, Buffer() {0x61,0x62,0x63,0x64,0x65}, + + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00, + 0x00,0x00,0x00,0x00}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00, + 0x00,0x00,0x00,0x00}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00, + 0x00,0x00,0x00,0x00}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00, + 0x00,0x00,0x00,0x00}, + }) + + Store("abcdef", Local0) + Store("12345678", Local1) + + m562(ts, Local0, Local1, p000) + + // Source values are not corrupted + + Store(ObjectType(Local0), Local2) + if (LNotEqual(Local2, 2)) { + err(ts, z067, 0, 0, 0, Local2, 2) + } elseif (LNotEqual(Local0, "abcdef")) { + err(ts, z067, 1, 0, 0, Local0, "abcdef") + } + + Store(ObjectType(Local1), Local2) + if (LNotEqual(Local2, 2)) { + err(ts, z067, 2, 0, 0, Local2, 2) + } elseif (LNotEqual(Local1, "12345678")) { + err(ts, z067, 3, 0, 0, Local1, "12345678") + } +} + +Method(m564) +{ + Name(ts, "m503,b+b") + + // b+b -->> b -->> all combinations of Result and ComputationalData + + // Result 64-bit, 32-bit, ComputationalData 64-bit, 32-bit + Name(p000, Package() { + + // ============= With Result + + // i,i + 0x3231666564636261, 0x64636261, 0x3231666564636261, 0x64636261, + // i,s + 0x3231666564636261, 0x64636261, + "61 62 63 64 65 66 31 32 33 34 35 36 37 38", + "61 62 63 64 65 66 31 32 33 34 35 36 37 38", + // i,b + 0x3231666564636261, 0x64636261, Buffer() {0x61}, Buffer() {0x61}, + // i,bf(i,i) + 0x3231666564636261, 0x64636261, 0x04636261, 0x04636261, + // i,bf(i,b) + 0x3231666564636261, 0x64636261, + 0x0000666564636261, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66}, + // s,i + "61 62 63 64 65 66 31 32 33 34 35 36 37 38", + "61 62 63 64 65 66 31 32 33 34 35 36 37 38", + 0x3231666564636261, 0x64636261, + // s,s + "61 62 63 64 65 66 31 32 33 34 35 36 37 38", + "61 62 63 64 65 66 31 32 33 34 35 36 37 38", + "61 62 63 64 65 66 31 32 33 34 35 36 37 38", + "61 62 63 64 65 66 31 32 33 34 35 36 37 38", + // s,b + "61 62 63 64 65 66 31 32 33 34 35 36 37 38", + "61 62 63 64 65 66 31 32 33 34 35 36 37 38", + Buffer() {0x61}, + Buffer() {0x61}, + // s,bf(i,i) + "61 62 63 64 65 66 31 32 33 34 35 36 37 38", + "61 62 63 64 65 66 31 32 33 34 35 36 37 38", + 0x0000000004636261, + 0x04636261, + // s,bf(i,b) + "61 62 63 64 65 66 31 32 33 34 35 36 37 38", + "61 62 63 64 65 66 31 32 33 34 35 36 37 38", + 0x0000666564636261, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66}, + // b,i + Buffer() {0x61}, Buffer() {0x61}, 0x3231666564636261, 0x64636261, + // b,s + Buffer() {0x61}, Buffer() {0x61}, + "61 62 63 64 65 66 31 32 33 34 35 36 37 38", + "61 62 63 64 65 66 31 32 33 34 35 36 37 38", + // b,b + Buffer() {0x61}, Buffer() {0x61}, Buffer() {0x61}, Buffer() {0x61}, + // b,bf(i,i) + Buffer() {0x61}, Buffer() {0x61}, 0x04636261, 0x04636261, + // b,bf(i,b) + Buffer() {0x61}, Buffer() {0x61}, 0x0000666564636261, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66}, + // bf(i,i),i + 0x0000000004636261, 0x04636261, 0x3231666564636261, 0x64636261, + // bf(i,i),s + 0x0000000004636261, 0x04636261, + "61 62 63 64 65 66 31 32 33 34 35 36 37 38", + "61 62 63 64 65 66 31 32 33 34 35 36 37 38", + // bf(i,i),b + 0x0000000004636261, 0x04636261, Buffer() {0x61}, Buffer() {0x61}, + // bf(i,i),bf(i,i) + 0x0000000004636261, 0x04636261, 0x0000000004636261, 0x04636261, + // bf(i,i),bf(i,b) + 0x0000000004636261, 0x04636261, 0x0000666564636261, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66}, + // bf(i,b),i + 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66}, + 0x3231666564636261, 0x64636261, + // bf(i,b),s + 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66}, + "61 62 63 64 65 66 31 32 33 34 35 36 37 38", + "61 62 63 64 65 66 31 32 33 34 35 36 37 38", + // bf(i,b),b + 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66}, + Buffer() {0x61}, Buffer() {0x61}, + // bf(i,b),bf(i,i) + 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66}, + 0x0000000004636261, 0x04636261, + // bf(i,b),bf(i,b) + 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66}, + 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66}, + + // ============= Result omited + + // ,i + 0,0, 0x3231666564636261, 0x64636261, + // ,s + 0,0, "61 62 63 64 65 66 31 32 33 34 35 36 37 38", + "61 62 63 64 65 66 31 32 33 34 35 36 37 38", + // ,b + 0,0, Buffer() {0x61}, Buffer() {0x61}, + // ,bf(i,i) + 0,0, 0x04636261, 0x04636261, + // b,bf(i,b) + 0,0, 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66}, + + // ============= Store omited + + // i, + 0x3231666564636261, 0x64636261, 0,0, + // s, + "61 62 63 64 65 66 31 32 33 34 35 36 37 38", + "61 62 63 64 65 66 31 32 33 34 35 36 37 38", + 0,0, + // b, + Buffer() {0x61}, Buffer() {0x61}, 0,0, + // bf(i,i), + 0x04636261, 0x04636261, 0,0, + // bf(i,b), + 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66}, 0,0, + + // ============= Particular additional cases + + // Buffer Field, incomplete last byte + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38}, + // Buffer Field, incomplete extra byte + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38,0x00}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38,0x00}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38,0x00}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38,0x00}, + // Buffer Field, size exceeding result + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00, + 0x00,0x00,0x00,0x00}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00, + 0x00,0x00,0x00,0x00}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00, + 0x00,0x00,0x00,0x00}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00, + 0x00,0x00,0x00,0x00}, + // Buffer, inside 32-bit Integer + Buffer() {0x61,0x62,0x63}, Buffer() {0x61,0x62,0x63}, + Buffer() {0x61,0x62,0x63}, Buffer() {0x61,0x62,0x63}, + // Buffer, 32-bit Integer + Buffer() {0x61,0x62,0x63,0x64}, Buffer() {0x61,0x62,0x63,0x64}, + Buffer() {0x61,0x62,0x63,0x64}, Buffer() {0x61,0x62,0x63,0x64}, + // Buffer, inside 64-bit Integer + Buffer() {0x61,0x62,0x63,0x64,0x65}, Buffer() {0x61,0x62,0x63,0x64,0x65}, + Buffer() {0x61,0x62,0x63,0x64,0x65}, Buffer() {0x61,0x62,0x63,0x64,0x65}, + // Buffer, 64-bit Integer + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32}, + // Buffer, size exceeding result + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00, + 0x00,0x00,0x00,0x00}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00, + 0x00,0x00,0x00,0x00}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00, + 0x00,0x00,0x00,0x00}, + Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32, + 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00, + 0x00,0x00,0x00,0x00}, + }) + + Name(b000, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66}) + Name(b001, Buffer() {0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38}) + + Store(b000, Local0) + Store(b001, Local1) + + m562(ts, Local0, Local1, p000) + + // Source values are not corrupted + + Store(ObjectType(Local0), Local2) + if (LNotEqual(Local2, 3)) { + err(ts, z067, 4, 0, 0, Local2, 3) + } elseif (LNotEqual(Local0, b000)) { + err(ts, z067, 5, 0, 0, Local0, b000) + } + + Store(ObjectType(Local1), Local2) + if (LNotEqual(Local2, 3)) { + err(ts, z067, 6, 0, 0, Local2, 3) + } elseif (LNotEqual(Local1, b001)) { + err(ts, z067, 7, 0, 0, Local1, b001) + } +} + +// arg0 - name of test +// arg1 - Source1 +// arg2 - Source2 +// arg3 - results +Method(m562, 4) +{ + ts00(arg0) + + // ============= With Result + // ii,is,ib,ibf + // si,ss,sb,sbf + // bi,bs,bb,bbf + // bfi,bfs,bfb,bfbf + + // i,i + Store(Concatenate(arg1, arg2, ii00), ii10) + m4c1(arg0, arg3, 0, 1, 1, ii00, ii10) + // i,s + Store(Concatenate(arg1, arg2, ii00), ss10) + m4c1(arg0, arg3, 1, 1, 1, ii00, ss10) + // i,b + Store(Concatenate(arg1, arg2, ii00), bb80) + m4c1(arg0, arg3, 2, 1, 1, ii00, bb80) + // i,bf(i,i) + Store(Concatenate(arg1, arg2, ii00), bf10) + m4c1(arg0, arg3, 3, 1, 1, ii00, bf10) + // i,bf(i,b) + Store(Concatenate(arg1, arg2, ii00), bf11) + m4c1(arg0, arg3, 4, 1, 1, ii00, bf11) + + // s,i + Store(Concatenate(arg1, arg2, ss00), ii10) + m4c1(arg0, arg3, 5, 1, 1, ss00, ii10) + // s,s + Store(Concatenate(arg1, arg2, ss00), ss10) + m4c1(arg0, arg3, 6, 1, 1, ss00, ss10) + // s,b + Store(Concatenate(arg1, arg2, ss00), bb80) + m4c1(arg0, arg3, 7, 1, 1, ss00, bb80) + // s,bf(i,i) + Store(Concatenate(arg1, arg2, ss00), bf10) + m4c1(arg0, arg3, 8, 1, 1, ss00, bf10) + // s,bf(i,b) + Store(Concatenate(arg1, arg2, ss00), bf11) + m4c1(arg0, arg3, 9, 1, 1, ss00, bf11) + + // b,i + Store(Concatenate(arg1, arg2, bb00), ii10) + m4c1(arg0, arg3, 10, 1, 1, bb00, ii10) + // b,s + Store(Concatenate(arg1, arg2, bb00), ss10) + m4c1(arg0, arg3, 11, 1, 1, bb00, ss10) + // b,b + Store(Concatenate(arg1, arg2, bb00), bb80) + m4c1(arg0, arg3, 12, 1, 1, bb00, bb80) + // b,bf(i,i) + Store(Concatenate(arg1, arg2, bb00), bf10) + m4c1(arg0, arg3, 13, 1, 1, bb00, bf10) + // b,bf(i,b) + Store(Concatenate(arg1, arg2, bb00), bf11) + m4c1(arg0, arg3, 14, 1, 1, bb00, bf11) + + // bf(i,i),i + Store(Concatenate(arg1, arg2, bf00), ii10) + m4c1(arg0, arg3, 15, 1, 1, bf00, ii10) + // bf(i,i),s + Store(Concatenate(arg1, arg2, bf00), ss10) + m4c1(arg0, arg3, 16, 1, 1, bf00, ss10) + // bf(i,i),b + Store(Concatenate(arg1, arg2, bf00), bb80) + m4c1(arg0, arg3, 17, 1, 1, bf00, bb80) + // bf(i,i),bf(i,i) + Store(Concatenate(arg1, arg2, bf00), bf10) + m4c1(arg0, arg3, 18, 1, 1, bf00, bf10) + // bf(i,i),bf(i,b) + Store(Concatenate(arg1, arg2, bf00), bf11) + m4c1(arg0, arg3, 19, 1, 1, bf00, bf11) + + // bf(i,b),i + Store(Concatenate(arg1, arg2, bf01), ii10) + m4c1(arg0, arg3, 20, 1, 1, bf01, ii10) + // bf(i,b),s + Store(Concatenate(arg1, arg2, bf01), ss10) + m4c1(arg0, arg3, 21, 1, 1, bf01, ss10) + // bf(i,b),b + Store(Concatenate(arg1, arg2, bf01), bb80) + m4c1(arg0, arg3, 22, 1, 1, bf01, bb80) + // bf(i,b),bf(i,i) + Store(Concatenate(arg1, arg2, bf01), bf10) + m4c1(arg0, arg3, 23, 1, 1, bf01, bf10) + // bf(i,b),bf(i,b) + Store(Concatenate(arg1, arg2, bf01), bf11) + m4c1(arg0, arg3, 24, 1, 1, bf01, bf11) + + // ============= Result omited + // ,i,s,b,bf + + // ,i + Store(Concatenate(arg1, arg2), ii10) + m4c1(arg0, arg3, 25, 0, 1, 0, ii10) + // ,s + Store(Concatenate(arg1, arg2), ss10) + m4c1(arg0, arg3, 26, 0, 1, 0, ss10) + // ,b + Store(Concatenate(arg1, arg2), bb80) + m4c1(arg0, arg3, 27, 0, 1, 0, bb80) + // ,bf(i,i) + Store(Concatenate(arg1, arg2), bf10) + m4c1(arg0, arg3, 28, 0, 1, 0, bf10) + // b,bf(i,b) + Store(Concatenate(arg1, arg2), bf11) + m4c1(arg0, arg3, 29, 0, 1, 0, bf11) + + // ============= Store omited + // i,s,b,bf, + + // i, + Concatenate(arg1, arg2, ii00) + m4c1(arg0, arg3, 30, 1, 0, ii00, 0) + // s, + Concatenate(arg1, arg2, ss00) + m4c1(arg0, arg3, 31, 1, 0, ss00, 0) + // b, + Concatenate(arg1, arg2, bb00) + m4c1(arg0, arg3, 32, 1, 0, bb00, 0) + // bf(i,i), + Concatenate(arg1, arg2, bf00) + m4c1(arg0, arg3, 33, 1, 0, bf00, 0) + // bf(i,b), + Concatenate(arg1, arg2, bf01) + m4c1(arg0, arg3, 34, 1, 0, bf01, 0) + + // ============= Particular additional cases + + // Buffer Field, incomplete last byte + Store(Concatenate(arg1, arg2, bf02), bf12) + m4c1(arg0, arg3, 35, 1, 1, bf02, bf12) + + // Buffer Field, incomplete extra byte + Store(Concatenate(arg1, arg2, bf03), bf13) + m4c1(arg0, arg3, 36, 1, 1, bf03, bf13) + + // Buffer Field, size exceeding result + Store(Concatenate(arg1, arg2, bf04), bf14) + m4c1(arg0, arg3, 37, 1, 1, bf04, bf14) + + // Buffer, inside 32-bit Integer + Store(Concatenate(arg1, arg2, bb01), bb81) + m4c1(arg0, arg3, 38, 1, 1, bb01, bb81) + + // Buffer, 32-bit Integer + Store(Concatenate(arg1, arg2, bb02), bb82) + m4c1(arg0, arg3, 39, 1, 1, bb02, bb82) + + // Buffer, inside 64-bit Integer + Store(Concatenate(arg1, arg2, bb03), bb83) + m4c1(arg0, arg3, 40, 1, 1, bb03, bb83) + + // Buffer, 64-bit Integer + Store(Concatenate(arg1, arg2, bb04), bb84) + m4c1(arg0, arg3, 41, 1, 1, bb04, bb84) + + // Buffer, size exceeding result + Store(Concatenate(arg1, arg2, bb05), bb85) + m4c1(arg0, arg3, 42, 1, 1, bb05, bb85) +} + +// ConcatenateResTemplate (rtb, rtb, Result) => Buffer +Method(m504, 1) +{ + Name(op, 4) + + Name(ts, "m504") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// CondRefOf (any, Result) => Boolean +Method(m505, 1) +{ + Name(op, 0) + + Name(ts, "m505") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// CopyObject (any, Destination) => DataRefObject +Method(m506, 1) +{ + Name(op, 0) + + Name(ts, "m506") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// Decrement (int) => Integer +Method(m507, 1) +{ + Name(op, 0) + + Name(ts, "m507") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// DerefOf ({ref|str}) => Object +Method(m508, 1) +{ + Name(op, 0) + + Name(ts, "m508") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// Divide (int, int, Remainder, Result) => Integer +Method(m509, 1) +{ + Name(op, 0) + + Name(ts, "m509") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// FindSetLeftBit (int, Result) => Integer +Method(m511, 1) +{ + Name(op, 0) + + Name(ts, "m511") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// FindSetRightBit (int, Result) => Integer +Method(m512, 1) +{ + Name(op, 0) + + Name(ts, "m512") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// FromBCD (int, Result) => Integer +Method(m513, 1) +{ + Name(op, 0) + + Name(ts, "m513") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// Increment (int) => Integer +Method(m514, 1) +{ + Name(op, 0) + + Name(ts, "m514") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// Index ({str|buf|pkg}, int, Destination) => ObjectReference +Method(m515, 1) +{ + Name(op, 0) + + Name(ts, "m515") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// LAnd (int, int) => Boolean +Method(m516, 1) +{ + Name(op, 0) + + Name(ts, "m516") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// LEqual ({int|str|buf}, {int|str|buf}) => Boolean +Method(m517, 1) +{ + Name(op, 0) + + Name(ts, "m517") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// LGreater ({int|str|buf}, {int|str|buf}) => Boolean +Method(m518, 1) +{ + Name(op, 0) + + Name(ts, "m518") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// LGreaterEqual ({int|str|buf}, {int|str|buf}) => Boolean +Method(m519, 1) +{ + Name(op, 0) + + Name(ts, "m519") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// LLess ({int|str|buf}, {int|str|buf}) => Boolean +Method(m520, 1) +{ + Name(op, 0) + + Name(ts, "m520") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// LLessEqual ({int|str|buf}, {int|str|buf}) => Boolean +Method(m521, 1) +{ + Name(op, 0) + + Name(ts, "m521") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// LNot (int) => Boolean +Method(m522, 1) +{ + Name(op, 0) + + Name(ts, "m522") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// LNotEqual ({int|str|buf}, {int|str|buf}) => Boolean +Method(m523, 1) +{ + Name(op, 0) + + Name(ts, "m523") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// LOr (int, int) => Boolean +Method(m524, 1) +{ + Name(op, 0) + + Name(ts, "m524") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// Match (pkg, byt, int, byt, int, int) => Ones | Integer +Method(m525, 1) +{ + Name(op, 0) + + Name(ts, "m525") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// Mid ({str|buf}, int, int, Result) => Buffer or String +Method(m526, 1) +{ + Name(op, 0) + + Name(ts, "m526") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// Mod (int, int, Result) => Integer +Method(m527, 1) +{ + Name(op, 0) + + Name(ts, "m527") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// Multiply (int, int, Result) => Integer +Method(m528, 1) +{ + Name(op, 0) + + Name(ts, "m528") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// NAnd (int, int, Result) => Integer +Method(m529, 1) +{ + Name(op, 0) + + Name(ts, "m529") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// NOr (int, int, Result) => Integer +Method(m530, 1) +{ + Name(op, 0) + + Name(ts, "m530") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// Not (int, Result) => Integer +Method(m531, 1) +{ + Name(op, 0) + + Name(ts, "m531") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// ObjectType (any) => Integer +Method(m532, 1) +{ + Name(op, 0) + + Name(ts, "m532") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// Or (int, int, Result) => Integer +Method(m533, 1) +{ + Name(op, 0) + + Name(ts, "m533") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// RefOf (any) => ObjectReference +Method(m534, 1) +{ + Name(op, 0) + + Name(ts, "m534") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// Return ({any|ref}) +Method(m537, 1) +{ + Name(op, 0) + + Name(ts, "m537") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// ShiftLeft (int, int, Result) => Integer +Method(m538, 1) +{ + Name(op, 0) + + Name(ts, "m538") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// ShiftRight (int, int, Result) => Integer +Method(m539, 1) +{ + Name(op, 0) + + Name(ts, "m539") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// SizeOf ({int|str|buf|pkg}) => Integer +Method(m541, 1) +{ + Name(op, 0) + + Name(ts, "m541") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// Store (any, Destination) => DataRefObject +Method(m544, 1) +{ + Name(ts, "m544") + + ts00(ts) + + Name(ss00, "DEF") + Store("ABC", ss00) + + Store(ObjectType(ss00), Local0) + if (LNotEqual(Local0, 2)) { + err(ts, z067, 8, 0, 0, Local0, 2) + } elseif (LNotEqual(ss00, "ABC")) { + err(ts, z067, 9, 0, 0, ss00, "ABC") + } + + // If the string is shorter than the buffer, the buffer size is reduced. + + Name(b000, Buffer(200) {}) + Name(b001, Buffer() {0x41,0x42,0x43,0x44,0x45,0x46}) + + Store("ABCDEF", b000) + Store(ObjectType(b000), Local0) + Store(SizeOf(b000), Local1) + + if (LNotEqual(Local0, 3)) { + err(ts, z067, 10, 0, 0, Local0, 3) + } elseif (LNotEqual(Local1, 6)) { + err(ts, z067, 11, 0, 0, Local1, 6) + } elseif (LNotEqual(b000, b001)) { + err(ts, z067, 12, 0, 0, b000, b001) + } + +/* + Store("================ 000000000:", Debug) + Store(Local0, Debug) + Store(Local1, Debug) + + + CopyObject("ABC", b000) + Store(SizeOf(b000), Local0) + Store(ObjectType(b000), Local1) + + Store("================ 000000000:", Debug) + Store(Local0, Debug) + Store(Local1, Debug) +*/ +} + +// Subtract (int, int, Result) => Integer +Method(m545, 1) +{ + Name(op, 0) + + Name(ts, "m545") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// ToBCD (int, Result) => Integer +Method(m546, 1) +{ + Name(op, 0) + + Name(ts, "m546") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// ToBuffer ({int|str|buf}, Result) => Buffer +Method(m547, 1) +{ + Name(op, 0) + + Name(ts, "m547") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// ToDecimalString ({int|str|buf}, Result) => String +Method(m548, 1) +{ + Name(op, 0) + + Name(ts, "m548") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// ToHexString ({int|str|buf}, Result) => String +Method(m549, 1) +{ + Name(op, 0) + + Name(ts, "m549") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// ToInteger ({int|str|buf}, Result) => Integer +Method(m550, 1) +{ + Name(op, 0) + + Name(ts, "m550") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// ToString (buf, int, Result) => String +Method(m551, 1) +{ + Name(op, 0) + + Name(ts, "m551") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// Wait (evt, int) => Boolean +Method(m552, 1) +{ + Name(op, 0) + + Name(ts, "m552") + + ts00(ts) + + if (arg0) { + } else { + } +} + +// XOr (int, int, Result) => Integer +Method(m553, 1) +{ + Name(op, 0) + + Name(ts, "m553") + + ts00(ts) + + if (arg0) { + } else { + } +} + +Method(m560, 1) +{ +/* + m500(arg0) + m501(arg0) + m502(arg0) + m503(arg0) + m504(arg0) + m505(arg0) + m506(arg0) + m507(arg0) + m508(arg0) + m509(arg0) + m511(arg0) + m512(arg0) + m513(arg0) + m514(arg0) + m515(arg0) + m516(arg0) + m517(arg0) + m518(arg0) + m519(arg0) + m520(arg0) + m521(arg0) + m522(arg0) + m523(arg0) + m524(arg0) + m525(arg0) + m526(arg0) + m527(arg0) + m528(arg0) + m529(arg0) + m530(arg0) + m531(arg0) + m532(arg0) + m533(arg0) + m534(arg0) + m537(arg0) + m538(arg0) + m539(arg0) + m541(arg0) + m544(arg0) + m545(arg0) + m546(arg0) + m547(arg0) + m548(arg0) + m549(arg0) + m550(arg0) + m551(arg0) + m552(arg0) + m553(arg0) +*/ + + m500(arg0) + m501(arg0) + m502(arg0) + m503(arg0) + m544(arg0) +} diff --git a/tests/aslts/src/runtime/common/data.asl b/tests/aslts/src/runtime/common/data.asl new file mode 100644 index 0000000..2e9be06 --- /dev/null +++ b/tests/aslts/src/runtime/common/data.asl @@ -0,0 +1,279 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * + * Different type data for different needs + * + */ + +/* +SEE: uncomment m918 after fixing bug (?) of ACPICA +SEE: uncomment below: +// Method(m918) { return (tz90) } +*/ + +Name(z113, 113) + + // Not Computational Data + + 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)}} + + // Computational Data + + Name(i900, 0xfe7cb391d65a0000) + Name(i9Z0, 0xfe7cb391d65a0000) + Name(i901, 0xc1790001) + Name(i9Z1, 0xc1790001) + Name(i902, 0) + Name(i903, 0xffffffffffffffff) + Name(i904, 0xffffffff) + Name(s900, "12340002") + Name(s9Z0, "12340002") + Name(s901, "qwrtyu0003") + Name(s9Z1, "qwrtyu0003") + Name(b900, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}) + Name(b9Z0, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}) + + 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() {0xabcd0004, 0x1122334455660005}) + Name(p902, Package() {"12340006", "q1w2e3r4t5y6u7i80007"}) + Name(p903, Package() {"qwrtyuiop0008", "1234567890abdef0250009"}) + Name(p904, Package() {Buffer() {0xb5,0xb6,0xb7}, Buffer() {0xb8,0xb9}}) + Name(p905, Package() {Package() {0xabc000a, "0xabc000b", "abc000c"}}) + Name(p906, Package() {Package() {"abc000d"}}) + Name(p907, Package() {Package() {"aqwevbgnm000e"}}) + Name(p908, Package() {Package() {Buffer() {0xba,0xbb,0xbc,0xbd,0xbe}}}) + Name(p909, Package() {Package() {Package() {0xabc000f}}}) + Name(p90a, Package() {Package() {Package() {"12340010"}}}) + Name(p90b, Package() {Package() {Package() {"zxswefas0011"}}}) + Name(p90c, Package() {Package() {Package() {Buffer() {0xbf,0xc0,0xc1}}}}) + + 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 (0xabc0012) } + Method(m902) { return ("zxvgswquiy0013") } + Method(m903) { return (Buffer() {0xc2}) } + Method(m904) { return (Package() {0xabc0014}) } + Method(m905) { return (Package() {"lkjhgtre0015"}) } + Method(m906) { return (Package() {Buffer() {0xc3}}) } + Method(m907) { return (Package() {Package() {0xabc0016}}) } + + 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(m918) { return (0) } + + 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() {0xabcd0018, 0xabcd0019}) + Name(p954, Package() {0xabcd0018, 0xabcd0019}) + + Name(i905, 0xabcd001a) + Name(i9Z5, 0xabcd001a) + + Method(m936) { + Store(0, i905) + return (mx90) + } + + Name(p955, Package(18) { + 0,i900,s900,b900,p953,f900,d900,e900, + m936,mx90,r900,pw90,pr90,tz90,bf90,15,16}) + Name(p956, Package(18) { + 0,i900,s900,b900,p953,f900,d900,e900, + m936,mx90,r900,pw90,pr90,tz90,bf90,15,16}) + + // Global Standard Data + + Name(ia00, 0x77) + Name(sa00, "qwer0000") + Name(ba00, Buffer(4) {1,0x77,3,4}) + Name(pa00, Package(3) {5,0x77,7}) + + Name(ia10, 0x77) + Name(sa10, "qwer0000") + Name(ba10, Buffer(4) {1,0x77,3,4}) + Name(pa10, Package(3) {5,0x77,7}) + + Name(ia01, 0x2b) + Name(sa01, "qw+r0000") + Name(ba01, Buffer(4) {1,0x2b,3,4}) + Name(pa01, Package(3) {5,0x2b,7}) + + Name(ia11, 0x2b) + Name(sa11, "qw+r0000") + Name(ba11, Buffer(4) {1,0x2b,3,4}) + Name(pa11, Package(3) {5,0x2b,7}) + diff --git a/tests/aslts/src/runtime/common/dataproc.asl b/tests/aslts/src/runtime/common/dataproc.asl new file mode 100644 index 0000000..d700b01 --- /dev/null +++ b/tests/aslts/src/runtime/common/dataproc.asl @@ -0,0 +1,750 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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(z114, 114) + +// Check the type of Object +// arg0 - Object +// arg1 - expected type +// arg2 - absolute index of file initiating the checking +// arg3 - the name of Method initiating the checking +// arg4 - index of checking (inside the file) +Method(m1a3, 5) +{ + Store(1, Local7) + + Store(ObjectType(arg0), Local0) + + if (LNotEqual(Local0, arg1)) { + err("m1a3", z114, 0, arg2, arg4, Local0, arg1) + Store(0, Local7) + } + + return (Local7) +} + +// Check that all the data (global) are not corrupted +Method(m1a6) +{ + Name(ts, "m1a6") + + // Computational Data + + // Integer + + Store(ObjectType(i900), Local0) + if (LNotEqual(Local0, c009)) { + err(ts, z114, 0x100, 0, 0, Local0, c009) + } + if (LNotEqual(i900, 0xfe7cb391d65a0000)) { + err(ts, z114, 0x101, 0, 0, i900, 0xfe7cb391d65a0000) + } + + Store(ObjectType(i901), Local0) + if (LNotEqual(Local0, c009)) { + err(ts, z114, 0x102, 0, 0, Local0, c009) + } + if (LNotEqual(i901, 0xc1790001)) { + err(ts, z114, 0x103, 0, 0, i901, 0xc1790001) + } + + Store(ObjectType(i902), Local0) + if (LNotEqual(Local0, c009)) { + err(ts, z114, 0x104, 0, 0, Local0, c009) + } + if (LNotEqual(i902, 0)) { + err(ts, z114, 0x105, 0, 0, i902, 0) + } + + Store(ObjectType(i903), Local0) + if (LNotEqual(Local0, c009)) { + err(ts, z114, 0x106, 0, 0, Local0, c009) + } + if (LNotEqual(i903, 0xffffffffffffffff)) { + err(ts, z114, 0x107, 0, 0, i903, 0xffffffffffffffff) + } + + Store(ObjectType(i904), Local0) + if (LNotEqual(Local0, c009)) { + err(ts, z114, 0x108, 0, 0, Local0, c009) + } + if (LNotEqual(i904, 0xffffffff)) { + err(ts, z114, 0x109, 0, 0, i904, 0xffffffff) + } + + // String + + Store(ObjectType(s900), Local0) + if (LNotEqual(Local0, c00a)) { + err(ts, z114, 0x10a, 0, 0, Local0, c00a) + } + if (LNotEqual(s900, "12340002")) { + err(ts, z114, 0x10b, 0, 0, s900, "12340002") + } + + Store(ObjectType(s901), Local0) + if (LNotEqual(Local0, c00a)) { + err(ts, z114, 0x10c, 0, 0, Local0, c00a) + } + if (LNotEqual(s901, "qwrtyu0003")) { + err(ts, z114, 0x10d, 0, 0, s901, "qwrtyu0003") + } + + // Buffer + + Store(ObjectType(b900), Local0) + if (LNotEqual(Local0, c00b)) { + err(ts, z114, 0x10e, 0, 0, Local0, c00b) + } + if (LNotEqual(b900, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})) { + err(ts, z114, 0x10f, 0, 0, b900, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}) + } + + // Buffer Field + + Store(ObjectType(bf90), Local0) + if (LNotEqual(Local0, c016)) { + err(ts, z114, 0x110, 0, 0, Local0, c016) + } + if (LNotEqual(bf90, 0xb0)) { + err(ts, z114, 0x111, 0, 0, bf90, 0xb0) + } + + // One level Package + + Store(Index(p900, 0), Local0) + Store(ObjectType(Local0), Local1) + if (LNotEqual(Local1, c008)) { + err(ts, z114, 0x112, 0, 0, Local1, c008) + } + + Store(Index(p901, 0), Local0) + Store(DerefOf(Local0), Local1) + Store(ObjectType(Local1), Local2) + if (LNotEqual(Local2, c009)) { + err(ts, z114, 0x113, 0, 0, Local2, c009) + } + if (LNotEqual(Local1, 0xabcd0004)) { + err(ts, z114, 0x114, 0, 0, Local1, 0xabcd0004) + } + + Store(Index(p901, 1), Local0) + Store(DerefOf(Local0), Local1) + Store(ObjectType(Local1), Local2) + if (LNotEqual(Local2, c009)) { + err(ts, z114, 0x115, 0, 0, Local2, c009) + } + if (LNotEqual(Local1, 0x1122334455660005)) { + err(ts, z114, 0x116, 0, 0, Local1, 0x1122334455660005) + } + + Store(Index(p902, 0), Local0) + Store(DerefOf(Local0), Local1) + Store(ObjectType(Local1), Local2) + if (LNotEqual(Local2, c00a)) { + err(ts, z114, 0x117, 0, 0, Local2, c00a) + } + if (LNotEqual(Local1, "12340006")) { + err(ts, z114, 0x118, 0, 0, Local1, "12340006") + } + + Store(Index(p902, 1), Local0) + Store(DerefOf(Local0), Local1) + Store(ObjectType(Local1), Local2) + if (LNotEqual(Local2, c00a)) { + err(ts, z114, 0x119, 0, 0, Local2, c00a) + } + if (LNotEqual(Local1, "q1w2e3r4t5y6u7i80007")) { + err(ts, z114, 0x11a, 0, 0, Local1, "q1w2e3r4t5y6u7i80007") + } + + Store(Index(p903, 0), Local0) + Store(DerefOf(Local0), Local1) + Store(ObjectType(Local1), Local2) + if (LNotEqual(Local2, c00a)) { + err(ts, z114, 0x11b, 0, 0, Local2, c00a) + } + if (LNotEqual(Local1, "qwrtyuiop0008")) { + err(ts, z114, 0x11c, 0, 0, Local1, "qwrtyuiop0008") + } + + Store(Index(p903, 1), Local0) + Store(DerefOf(Local0), Local1) + Store(ObjectType(Local1), Local2) + if (LNotEqual(Local2, c00a)) { + err(ts, z114, 0x11d, 0, 0, Local2, c00a) + } + if (LNotEqual(Local1, "1234567890abdef0250009")) { + err(ts, z114, 0x11e, 0, 0, Local1, "1234567890abdef0250009") + } + + Store(Index(p904, 0), Local0) + Store(DerefOf(Local0), Local1) + Store(ObjectType(Local1), Local2) + if (LNotEqual(Local2, c00b)) { + err(ts, z114, 0x11f, 0, 0, Local2, c00b) + } + if (LNotEqual(Local1, Buffer() {0xb5,0xb6,0xb7})) { + err(ts, z114, 0x120, 0, 0, Local1, Buffer() {0xb5,0xb6,0xb7}) + } + + Store(Index(p904, 1), Local0) + Store(DerefOf(Local0), Local1) + Store(ObjectType(Local1), Local2) + if (LNotEqual(Local2, c00b)) { + err(ts, z114, 0x121, 0, 0, Local2, c00b) + } + if (LNotEqual(Local1, Buffer() {0xb8,0xb9})) { + err(ts, z114, 0x122, 0, 0, Local1, Buffer() {0xb8,0xb9}) + } + + // 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(ts, z114, 0x123, 0, 0, Local4, c009) + } + if (LNotEqual(Local3, 0xabc000a)) { + err(ts, z114, 0x124, 0, 0, Local3, 0xabc000a) + } + + 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(ts, z114, 0x125, 0, 0, Local4, c00a) + } + if (LNotEqual(Local3, "0xabc000b")) { + err(ts, z114, 0x126, 0, 0, Local3, "0xabc000b") + } + + 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(ts, z114, 0x127, 0, 0, Local4, c00a) + } + if (LNotEqual(Local3, "abc000c")) { + err(ts, z114, 0x128, 0, 0, Local3, "abc000c") + } + + 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(ts, z114, 0x129, 0, 0, Local4, c00a) + } + if (LNotEqual(Local3, "abc000d")) { + err(ts, z114, 0x12a, 0, 0, Local3, "abc000d") + } + + 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(ts, z114, 0x12b, 0, 0, Local4, c00a) + } + if (LNotEqual(Local3, "aqwevbgnm000e")) { + err(ts, z114, 0x12c, 0, 0, Local3, "aqwevbgnm000e") + } + + 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(ts, z114, 0x12d, 0, 0, Local4, c00b) + } + if (LNotEqual(Local3, Buffer() {0xba,0xbb,0xbc,0xbd,0xbe})) { + err(ts, z114, 0x12e, 0, 0, Local3, Buffer() {0xba,0xbb,0xbc,0xbd,0xbe}) + } + + // 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(ts, z114, 0x12f, 0, 0, Local6, c009) + } + if (LNotEqual(Local5, 0xabc000f)) { + err(ts, z114, 0x130, 0, 0, Local5, 0xabc000f) + } + + 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(ts, z114, 0x131, 0, 0, Local6, c00a) + } + if (LNotEqual(Local5, "12340010")) { + err(ts, z114, 0x132, 0, 0, Local5, "12340010") + } + + 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(ts, z114, 0x133, 0, 0, Local6, c00a) + } + if (LNotEqual(Local5, "zxswefas0011")) { + err(ts, z114, 0x134, 0, 0, Local5, "zxswefas0011") + } + + 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(ts, z114, 0x135, 0, 0, Local6, c00b) + } + if (LNotEqual(Local5, Buffer() {0xbf,0xc0,0xc1})) { + err(ts, z114, 0x136, 0, 0, Local5, Buffer() {0xbf,0xc0,0xc1}) + } + + // Additional Packages + + // p953 + + Store(Index(p953, 0), Local0) + Store(DerefOf(Local0), Local1) + Store(ObjectType(Local1), Local2) + if (LNotEqual(Local2, c009)) { + err(ts, z114, 0x137, 0, 0, Local2, c009) + } + if (LNotEqual(Local1, 0xabcd0018)) { + err(ts, z114, 0x138, 0, 0, Local1, 0xabcd0018) + } + + Store(Index(p953, 1), Local0) + Store(DerefOf(Local0), Local1) + Store(ObjectType(Local1), Local2) + if (LNotEqual(Local2, c009)) { + err(ts, z114, 0x139, 0, 0, Local2, c009) + } + if (LNotEqual(Local1, 0xabcd0019)) { + err(ts, z114, 0x13a, 0, 0, Local1, 0xabcd0019) + } + + // p955 + + m1af(p955, 1, 1, 0) + + // Not Computational Data + + m1aa(ts, e900, c00f, 0, 0x13b) + m1aa(ts, mx90, c011, 0, 0x13c) + m1aa(ts, d900, c00e, 0, 0x13d) + if (y508) { + m1aa(ts, tz90, c015, 0, 0x13e) + } + m1aa(ts, pr90, c014, 0, 0x13f) + m1aa(ts, r900, c012, 0, 0x140) + m1aa(ts, pw90, c013, 0, 0x141) + + // Field Unit (Field) + + Store(ObjectType(f900), Local0) + if (LNotEqual(Local0, c00d)) { + err(ts, z114, 0x142, 0, 0, Local0, c00d) + } + Store(ObjectType(f901), Local0) + if (LNotEqual(Local0, c00d)) { + err(ts, z114, 0x143, 0, 0, Local0, c00d) + } + Store(ObjectType(f902), Local0) + if (LNotEqual(Local0, c00d)) { + err(ts, z114, 0x144, 0, 0, Local0, c00d) + } + Store(ObjectType(f903), Local0) + if (LNotEqual(Local0, c00d)) { + err(ts, z114, 0x145, 0, 0, Local0, c00d) + } + + // Field Unit (IndexField) + + Store(ObjectType(if90), Local0) + if (LNotEqual(Local0, c00d)) { + err(ts, z114, 0x146, 0, 0, Local0, c00d) + } + Store(ObjectType(if91), Local0) + if (LNotEqual(Local0, c00d)) { + err(ts, z114, 0x147, 0, 0, Local0, c00d) + } + + // Field Unit (BankField) + + Store(ObjectType(bn90), Local0) + if (LNotEqual(Local0, c00d)) { + err(ts, z114, 0x148, 0, 0, Local0, c00d) + } + +/* + * if (LNotEqual(f900, 0xd7)) { + * err(ts, z114, 0x149, 0, 0, f900, 0xd7) + * } + * + * if (LNotEqual(if90, 0xd7)) { + * err(ts, z114, 0x14a, 0, 0, if90, 0xd7) + * } + */ +} + +// Verifying result +// arg0 - test name +// arg1 - object +// arg2 - expected type of object +// arg3 - expected value of object +// arg4 - index of checking (inside the file) +Method(m1aa, 5) +{ + Store(0, Local7) + + Store(ObjectType(arg1), Local0) + + if (LNotEqual(Local0, arg2)) { + err(arg0, z114, 8, 0, arg4, Local0, arg2) + Store(1, Local7) + } elseif (LLess(arg2, c00c)) { + if (LNotEqual(arg1, arg3)) { + err(arg0, z114, 9, 0, arg4, arg1, arg3) + Store(1, Local7) + } + } + + Return (Local7) +} + +// Check and restore the global data after writing into them + +Method(m1ab) +{ + Name(ts, "m1ab") + + // Computational Data + + m1aa(ts, i900, c009, c08a, 0x144) + m1aa(ts, i901, c009, c08a, 0x145) + m1aa(ts, s900, c009, c08a, 0x146) + m1aa(ts, s901, c009, c08a, 0x147) + m1aa(ts, b900, c009, c08a, 0x148) + + // Package + + m1aa(ts, p953, c009, c08a, 0x149) + + // Not Computational Data + + m1aa(ts, e900, c009, c08a, 0x14a) + m1aa(ts, mx90, c009, c08a, 0x14b) + m1aa(ts, d900, c009, c08a, 0x14c) + + if (y508) { + m1aa(ts, tz90, c009, c08a, 0x14d) + } + + m1aa(ts, pr90, c009, c08a, 0x14e) + + if (y510) { + m1aa(ts, r900, c009, c08a, 0x14f) + } + + m1aa(ts, pw90, c009, c08a, 0x150) + + m1ac() + + m1a6() +} + +// Restore the global data after writing into them +Method(m1ac) +{ + + // Computational Data + + CopyObject(i9Z0, i900) + CopyObject(i9Z1, i901) + CopyObject(s9Z0, s900) + CopyObject(s9Z1, s901) + CopyObject(b9Z0, b900) + + // Package + + CopyObject(p954, p953) + + // Restore p955 Package + m1c6() + + // Not Computational Data + + CopyObject(e9Z0, e900) + CopyObject(mx91, mx90) + CopyObject(d9Z0, d900) + + if (y508) { + CopyObject(tz91, tz90) + } + + CopyObject(pr91, pr90) + + if (y510) { + CopyObject(r9Z0, r900) + } + + CopyObject(pw91, pw90) +} + +// Verify p955-like Package +// arg0 - Package +// arg1 - check for non-computational data +// arg2 - check Field Unit and Buffer Field +// arg3 - elements of Package are RefOf_References +Method(m1af, 4) +{ + Name(ts, "m1af") + + Store(Index(arg0, 0), Local0) + Store(ObjectType(Local0), Local1) + + if (LNotEqual(Local1, c009)) { + err(ts, z114, 0x112, 0, 0, Local1, c009) + } else { + Store(DerefOf(Local0), Local1) + if (LNotEqual(Local1, 0)) { + err(ts, z113, 0x112, 0, 0, Local1, 0) + } + } + + Store(Index(arg0, 1), Local0) + Store(ObjectType(Local0), Local1) + + if (LNotEqual(Local1, c009)) { + err(ts, z114, 0x112, 0, 0, Local1, c009) + } else { + Store(DerefOf(Local0), Local1) + if (arg3) { + Store(DerefOf(Local1), Local2) + Store(Local2, Local1) + } + if (LNotEqual(Local1, 0xfe7cb391d65a0000)) { + err(ts, z114, 0x112, 0, 0, Local1, 0xfe7cb391d65a0000) + } + } + + Store(Index(arg0, 2), Local0) + Store(ObjectType(Local0), Local1) + + if (LNotEqual(Local1, c00a)) { + err(ts, z114, 0x112, 0, 0, Local1, c00a) + } else { + Store(DerefOf(Local0), Local1) + if (arg3) { + Store(DerefOf(Local1), Local2) + Store(Local2, Local1) + } + if (LNotEqual(Local1, "12340002")) { + err(ts, z114, 0x112, 0, 0, Local1, "12340002") + } + } + + Store(Index(arg0, 3), Local0) + Store(ObjectType(Local0), Local1) + + if (LNotEqual(Local1, c00b)) { + err(ts, z114, 0x112, 0, 0, Local1, c00a) + } else { + Store(DerefOf(Local0), Local1) + if (arg3) { + Store(DerefOf(Local1), Local2) + Store(Local2, Local1) + } + if (LNotEqual(Local1, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4})) { + err(ts, z114, 0x112, 0, 0, Local1, Buffer() {0xb0,0xb1,0xb2,0xb3,0xb4}) + } + } + + Store(Index(arg0, 4), Local0) + m1aa(ts, Local0, c00c, 0, 0x13f) + + + // 5th element is a region field, which will be resolved to an integer + + if (arg2) { + Store(Index(arg0, 5), Local0) + Store(ObjectType(Local0), Local1) + Store(DerefOf(Local0), Local7) + + if (arg3) { + if (LNotEqual(Local1, c00d)) { + err(ts, z114, 0x112, 0, 0, Local1, c00d) + } else { + Store(DerefOf(Local7), Local6) + Store(Local6, Local7) + } + } + + Store(ObjectType(Local7), Local5) + + if (LNotEqual(Local5, c009)) { + err(ts, z114, 0x112, 0, 0, Local5, c009) + } else { + if (LNotEqual(Local7, 0)) { + err(ts, z114, 0x112, 0, 0, Local7, 0) + } + } + } + + if (arg1) { + + Store(Index(arg0, 6), Local0) + m1aa(ts, Local0, c00e, 0, 0x13f) + + Store(Index(arg0, 7), Local0) + m1aa(ts, Local0, c00f, 0, 0x13f) + + Store(Index(arg0, 8), Local0) + m1aa(ts, Local0, c010, 0, 0x13f) + + Store(Index(arg0, 9), Local0) + m1aa(ts, Local0, c011, 0, 0x13f) + + Store(Index(arg0, 10), Local0) + m1aa(ts, Local0, c012, 0, 0x13f) + + Store(Index(arg0, 11), Local0) + m1aa(ts, Local0, c013, 0, 0x13f) + + Store(Index(arg0, 12), Local0) + m1aa(ts, Local0, c014, 0, 0x13f) + + Store(Index(arg0, 13), Local0) + m1aa(ts, Local0, c015, 0, 0x13f) + } + + // 14th element is a buffer field, which will be resolved to an integer + + if (arg2) { + Store(Index(arg0, 14), Local0) + Store(ObjectType(Local0), Local1) + Store(DerefOf(Local0), Local7) + + if (arg3) { + if (LNotEqual(Local1, c016)) { + err(ts, z114, 0x112, 0, 0, Local1, c016) + } else { + Store(DerefOf(Local7), Local6) + Store(Local6, Local7) + } + } + + Store(ObjectType(Local7), Local5) + + if (LNotEqual(Local5, c009)) { + err(ts, z114, 0x112, 0, 0, Local5, c009) + } else { + if (LNotEqual(Local7, 0xb0)) { + err(ts, z114, 0x112, 0, 0, Local7, 0) + } + } + } + + Store(Index(arg0, 15), Local0) + Store(ObjectType(Local0), Local1) + + if (LNotEqual(Local1, c009)) { + err(ts, z114, 0x112, 0, 0, Local1, c009) + } else { + Store(DerefOf(Local0), Local1) + if (LNotEqual(Local1, 15)) { + err(ts, z114, 0x112, 0, 0, Local1, 15) + } + } + + Store(Index(arg0, 16), Local0) + Store(ObjectType(Local0), Local1) + + if (LNotEqual(Local1, c009)) { + err(ts, z114, 0x112, 0, 0, Local1, c009) + } else { + Store(DerefOf(Local0), Local1) + if (LNotEqual(Local1, 16)) { + err(ts, z114, 0x112, 0, 0, Local1, 16) + } + } + + Store(Index(arg0, 17), Local0) + Store(ObjectType(Local0), Local1) + + if (LNotEqual(Local1, c008)) { + err(ts, z114, 0x115, 0, 0, Local1, c008) + } + + // Evaluation of Method m936 takes place + + if (LNotEqual(i905, 0xabcd001a)) { + err(ts, z114, 0x116, 0, 0, i905, 0xabcd001a) + } +} + +// Restore p955 Package +Method(m1c6) +{ + CopyObject(p956, p955) + Store(i9Z5, i905) +} + + diff --git a/tests/aslts/src/runtime/common/datastproc.asl b/tests/aslts/src/runtime/common/datastproc.asl new file mode 100644 index 0000000..a841d33 --- /dev/null +++ b/tests/aslts/src/runtime/common/datastproc.asl @@ -0,0 +1,228 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 applied to the Standard Data + */ + +Name(z115, 115) + +// Check original values + +// arg0 - test name +// arg1 - Integer, original object +// arg2 - absolute index of file initiating the checking +// arg3 - index of checking (inside the file) +Method(m380, 4) +{ + Store(ObjectType(arg1), Local0) + + if (LNotEqual(Local0, c009)) { + err(arg0, z115, 0, arg2, arg3, Local0, c009) + } elseif (LNotEqual(arg1, 0x77)) { + err(arg0, z115, 1, arg2, arg3, arg1, 0x77) + } +} + +// arg0 - test name +// arg1 - String, original object +// arg2 - absolute index of file initiating the checking +// arg3 - index of checking (inside the file) +Method(m381, 4) +{ + Store(ObjectType(arg1), Local0) + + if (LNotEqual(Local0, c00a)) { + err(arg0, z115, 2, arg2, arg3, Local0, c00a) + } elseif (LNotEqual(arg1, "qwer0000")) { + err(arg0, z115, 3, arg2, arg3, arg1, "qwer0000") + } +} + +// arg0 - test name +// arg1 - Buffer, original object +// arg2 - absolute index of file initiating the checking +// arg3 - index of checking (inside the file) +Method(m382, 4) +{ + Store(ObjectType(arg1), Local0) + + if (LNotEqual(Local0, c00b)) { + err(arg0, z115, 4, arg2, arg3, Local0, c00b) + } elseif (LNotEqual(arg1, Buffer(4) {1,0x77,3,4})) { + err(arg0, z115, 5, arg2, arg3, arg1, Buffer(4) {1,0x77,3,4}) + } +} + +// arg0 - test name +// arg1 - Package, original object +// arg2 - absolute index of file initiating the checking +// arg3 - index of checking (inside the file) +Method(m383, 4) +{ + Store(ObjectType(arg1), Local0) + + if (LNotEqual(Local0, c00c)) { + err(arg0, z115, 6, arg2, arg3, Local0, c00c) + } else { + Index(arg1, 0, Local0) + Store(DerefOf(Local0), Local1) + if (LNotEqual(Local1, 5)) { + err(arg0, z115, 7, arg2, arg3, Local1, 5) + } + + Index(arg1, 1, Local0) + Store(DerefOf(Local0), Local1) + if (LNotEqual(Local1, 0x77)) { + err(arg0, z115, 8, arg2, arg3, Local1, 0x77) + } + + Index(arg1, 2, Local0) + Store(DerefOf(Local0), Local1) + if (LNotEqual(Local1, 7)) { + err(arg0, z115, 9, arg2, arg3, Local1, 7) + } + } +} + +// Check result of writing + +// arg0 - test name +// arg1 - Integer, original object +// arg2 - absolute index of file initiating the checking +// arg3 - index of checking (inside the file) +Method(m384, 4) +{ + Store(ObjectType(arg1), Local0) + + if (LNotEqual(Local0, c009)) { + err(arg0, z115, 10, arg2, arg3, Local0, c009) + } elseif (LNotEqual(arg1, 0x2b)) { + err(arg0, z115, 11, arg2, arg3, arg1, 0x2b) + } +} + +// arg0 - test name +// arg1 - String, original object +// arg2 - absolute index of file initiating the checking +// arg3 - index of checking (inside the file) +Method(m385, 4) +{ + Store(ObjectType(arg1), Local0) + + if (LNotEqual(Local0, c00a)) { + err(arg0, z115, 12, arg2, arg3, Local0, c00a) + } elseif (LNotEqual(arg1, "q+er0000")) { + err(arg0, z115, 13, arg2, arg3, arg1, "q+er0000") + } +} + +// arg0 - test name +// arg1 - Buffer, original object +// arg2 - absolute index of file initiating the checking +// arg3 - index of checking (inside the file) +Method(m386, 4) +{ + Store(ObjectType(arg1), Local0) + + if (LNotEqual(Local0, c00b)) { + err(arg0, z115, 14, arg2, arg3, Local0, c00b) + } elseif (LNotEqual(arg1, Buffer(4) {1,0x2b,3,4})) { + err(arg0, z115, 15, arg2, arg3, arg1, Buffer(4) {1,0x2b,3,4}) + } +} + +// arg0 - test name +// arg1 - Package, original object +// arg2 - absolute index of file initiating the checking +// arg3 - index of checking (inside the file) +Method(m387, 4) +{ + Store(ObjectType(arg1), Local0) + + if (LNotEqual(Local0, c00c)) { + err(arg0, z115, 16, arg2, arg3, Local0, c00c) + } else { + Index(arg1, 0, Local0) + Store(DerefOf(Local0), Local1) + if (LNotEqual(Local1, 5)) { + err(arg0, z115, 17, arg2, arg3, Local1, 5) + } + + Index(arg1, 1, Local0) + Store(DerefOf(Local0), Local1) + if (LNotEqual(Local1, 0x2b)) { + err(arg0, z115, 18, arg2, arg3, Local1, 0x2b) + } + + Index(arg1, 2, Local0) + Store(DerefOf(Local0), Local1) + if (LNotEqual(Local1, 7)) { + err(arg0, z115, 19, arg2, arg3, Local1, 7) + } + } +} + +// arg0 - original object +// arg1 - type of it +// arg2 - absolute index of file initiating the checking +// arg3 - index of checking (inside the file) +Method(m390, 4) +{ + Name(ts, "m390") + + if (LEqual(arg1, c009)) { + m380(ts, arg0, arg2, arg3) + } elseif (LEqual(arg1, c00a)) { + m381(ts, arg0, arg2, arg3) + } elseif (LEqual(arg1, c00b)) { + m382(ts, arg0, arg2, arg3) + } elseif (LEqual(arg1, c00c)) { + m383(ts, arg0, arg2, arg3) + } +} + +// arg0 - original object +// arg1 - type of it +// arg2 - absolute index of file initiating the checking +// arg3 - index of checking (inside the file) +Method(m391, 4) +{ + Name(ts, "m391") + + if (LEqual(arg1, c009)) { + m384(ts, arg0, arg2, arg3) + } elseif (LEqual(arg1, c00a)) { + m385(ts, arg0, arg2, arg3) + } elseif (LEqual(arg1, c00b)) { + m386(ts, arg0, arg2, arg3) + } elseif (LEqual(arg1, c00c)) { + m387(ts, arg0, arg2, arg3) + } +} + diff --git a/tests/aslts/src/runtime/common/mx_objects.asl b/tests/aslts/src/runtime/common/mx_objects.asl new file mode 100644 index 0000000..c7913f0 --- /dev/null +++ b/tests/aslts/src/runtime/common/mx_objects.asl @@ -0,0 +1,1699 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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 + * + * declarations for common use + */ + +Name(max0, 16) // Number of different Levels of mutexes +Name(hlmx, 15) // Highest Level of mutex +Name(max1, 18) // Max number of mutexes of the same level +Name(unim, 18) // Undefined index of mutex + +Name(max2, Buffer(max0) { // Numbers of mutexes of the relevant level + 18, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}) + +/* + * GLLL - Level of mutex for Global Lock. + * GLIX - Index of mutex for Global Lock. + * + * The Global Lock in tests is represented as mutex of 0-th Level 1-th Index. + */ +Name(GLLL, 0) // Level of mutex for GL +Name(GLIX, 1) // Index of mutex for GL +/* + * Flag of Global lock. + * If non-zero then actually the Global lock is used in tests + * instead of the usual mutex T001 (of level 0 index 1). + */ +Name(GL00, 0) + +Name(min0, 4) // Minimal number of mutexes of the same level in groups below +Name(min1, 5) // Minimal number of threads corresponding to min0 + +/* + * See TOV0 and TOV0 below, + * all other opcodes of TimeOutValue correspond to 0xffff. + */ +Name(TOV0, 5) // opcode of TimeOutValue corresponding to 0 milliseconds +Name(TOV1, 6) // opcode of TimeOutValue corresponding to 1 milliseconds +Name(TOVF, 0) // opcode of TimeOutValue corresponding to 0xffff (endless) + + +/* Level 0 */ +Mutex(T000, 0) +Mutex(T001, 0) // used in case when the flag of the Global Lock (GL00) is zero +Mutex(T002, 0) +Mutex(T003, 0) +Mutex(T004, 0) +Mutex(T005, 0) +Mutex(T006, 0) +Mutex(T007, 0) +Mutex(T008, 0) +Mutex(T009, 0) +Mutex(T00a, 0) +Mutex(T00b, 0) +Mutex(T00c, 0) +Mutex(T00d, 0) +Mutex(T00e, 0) +Mutex(T00f, 0) +Mutex(T010, 0) +Mutex(T011, 0) + +/* Level 1 */ +Mutex(T100, 1) +Mutex(T101, 1) +Mutex(T102, 1) +Mutex(T103, 1) + +/* Level 2 */ +Mutex(T200, 2) +Mutex(T201, 2) +Mutex(T202, 2) +Mutex(T203, 2) + +/* Level 3 */ +Mutex(T300, 3) +Mutex(T301, 3) +Mutex(T302, 3) +Mutex(T303, 3) + +/* Level 4 */ +Mutex(T400, 4) +Mutex(T401, 4) +Mutex(T402, 4) +Mutex(T403, 4) + +/* Level 5 */ +Mutex(T500, 5) +Mutex(T501, 5) +Mutex(T502, 5) +Mutex(T503, 5) + +/* Level 6 */ +Mutex(T600, 6) +Mutex(T601, 6) +Mutex(T602, 6) +Mutex(T603, 6) + +/* Level 7 */ +Mutex(T700, 7) +Mutex(T701, 7) +Mutex(T702, 7) +Mutex(T703, 7) + +/* Level 8 */ +Mutex(T800, 8) +Mutex(T801, 8) +Mutex(T802, 8) +Mutex(T803, 8) +Mutex(T804, 8) // used in functional/synchronization +Mutex(T805, 8) // used in functional/synchronization + +/* Level 9 */ +Mutex(T900, 9) +Mutex(T901, 9) +Mutex(T902, 9) +Mutex(T903, 9) + +/* Level 10 */ +Mutex(Ta00, 0x0a) +Mutex(Ta01, 0x0a) +Mutex(Ta02, 0x0a) +Mutex(Ta03, 0x0a) + +/* Level 11 */ +Mutex(Tb00, 0x0b) +Mutex(Tb01, 0x0b) +Mutex(Tb02, 0x0b) +Mutex(Tb03, 0x0b) + +/* Level 12 */ +Mutex(Tc00, 0x0c) +Mutex(Tc01, 0x0c) +Mutex(Tc02, 0x0c) +Mutex(Tc03, 0x0c) + +/* Level 13 */ +Mutex(Td00, 0x0d) +Mutex(Td01, 0x0d) +Mutex(Td02, 0x0d) +Mutex(Td03, 0x0d) + +/* Level 14 */ +Mutex(Te00, 0x0e) +Mutex(Te01, 0x0e) +Mutex(Te02, 0x0e) +Mutex(Te03, 0x0e) + +/* Level 15 */ +Mutex(Tf00, 0x0f) +Mutex(Tf01, 0x0f) +Mutex(Tf02, 0x0f) +Mutex(Tf03, 0x0f) + + +/* + * + * Methods to manage mutexes declared above + * + */ + + +/* + * Set flag of Global lock + * + * arg0 - new value of flag of GL + * + * Return: + * old value of flag of GL + */ +Method(m078, 1) +{ + Store(GL00, Local7) + Store(arg0, GL00) + + return (Local7) +} + +/* + * Acquire mutex of level 0 + * + * arg0 - Index of mutex + * arg1 - opcode of exception to be generated or zero + * arg2 - opcode of TimeOutValue (unfortunately, ACPA doesn't allow TermArg there) + * 0 - 0 + * 1 - 1 + * otherwise - oxffff + */ +Method(ma00, 3, Serialized) +{ + Store(1, Local0) + + Switch (ToInteger (arg0)) { + Case (0) { + if (arg1) { + Acquire(T000, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T000, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T000, 1), Local0) + } else { + Store(Acquire(T000, 0xffff), Local0) + } + } + Case (1) { + if (GL00) { + if (arg1) { + Acquire(\_GL, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(\_GL, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(\_GL, 1), Local0) + } else { + Store(Acquire(\_GL, 0xffff), Local0) + } + } else { + if (arg1) { + Acquire(T001, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T001, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T001, 1), Local0) + } else { + Store(Acquire(T001, 0xffff), Local0) + } + } + } + Case (2) { + if (arg1) { + Acquire(T002, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T002, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T002, 1), Local0) + } else { + Store(Acquire(T002, 0xffff), Local0) + } + } + Case (3) { + if (arg1) { + Acquire(T003, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T003, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T003, 1), Local0) + } else { + Store(Acquire(T003, 0xffff), Local0) + } + } + Case (4) { + if (arg1) { + Acquire(T004, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T004, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T004, 1), Local0) + } else { + Store(Acquire(T004, 0xffff), Local0) + } + } + Case (5) { + if (arg1) { + Acquire(T005, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T005, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T005, 1), Local0) + } else { + Store(Acquire(T005, 0xffff), Local0) + } + } + Case (6) { + if (arg1) { + Acquire(T006, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T006, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T006, 1), Local0) + } else { + Store(Acquire(T006, 0xffff), Local0) + } + } + Case (7) { + if (arg1) { + Acquire(T007, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T007, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T007, 1), Local0) + } else { + Store(Acquire(T007, 0xffff), Local0) + } + } + Case (8) { + if (arg1) { + Acquire(T008, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T008, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T008, 1), Local0) + } else { + Store(Acquire(T008, 0xffff), Local0) + } + } + Case (9) { + if (arg1) { + Acquire(T009, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T009, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T009, 1), Local0) + } else { + Store(Acquire(T009, 0xffff), Local0) + } + } + Case (10) { + if (arg1) { + Acquire(T00a, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T00a, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T00a, 1), Local0) + } else { + Store(Acquire(T00a, 0xffff), Local0) + } + } + Case (11) { + if (arg1) { + Acquire(T00b, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T00b, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T00b, 1), Local0) + } else { + Store(Acquire(T00b, 0xffff), Local0) + } + } + Case (12) { + if (arg1) { + Acquire(T00c, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T00c, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T00c, 1), Local0) + } else { + Store(Acquire(T00c, 0xffff), Local0) + } + } + Case (13) { + if (arg1) { + Acquire(T00d, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T00d, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T00d, 1), Local0) + } else { + Store(Acquire(T00d, 0xffff), Local0) + } + } + Case (14) { + if (arg1) { + Acquire(T00e, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T00e, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T00e, 1), Local0) + } else { + Store(Acquire(T00e, 0xffff), Local0) + } + } + Case (15) { + if (arg1) { + Acquire(T00f, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T00f, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T00f, 1), Local0) + } else { + Store(Acquire(T00f, 0xffff), Local0) + } + } + Case (16) { + if (arg1) { + Acquire(T010, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T010, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T010, 1), Local0) + } else { + Store(Acquire(T010, 0xffff), Local0) + } + } + Case (17) { + if (arg1) { + Acquire(T011, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T011, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T011, 1), Local0) + } else { + Store(Acquire(T011, 0xffff), Local0) + } + } + } + return (Local0) +} + +/* + * Acquire mutex of level 1 + * (Index of mux, opcode of exception to be generated or zero, opcode of TimeOutValue) + */ +Method(ma01, 3, Serialized) +{ + Store(1, Local0) + + Switch (ToInteger (arg0)) { + Case (0) { + if (arg1) { + Acquire(T100, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T100, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T100, 1), Local0) + } else { + Store(Acquire(T100, 0xffff), Local0) + } + } + Case (1) { + if (arg1) { + Acquire(T101, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T101, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T101, 1), Local0) + } else { + Store(Acquire(T101, 0xffff), Local0) + } + } + Case (2) { + if (arg1) { + Acquire(T102, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T102, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T102, 1), Local0) + } else { + Store(Acquire(T102, 0xffff), Local0) + } + } + Case (3) { + if (arg1) { + Acquire(T103, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T103, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T103, 1), Local0) + } else { + Store(Acquire(T103, 0xffff), Local0) + } + } + } + return (Local0) +} + +/* + * Acquire mutex of level 2 + * (Index of mux, opcode of exception to be generated or zero, opcode of TimeOutValue) + */ +Method(ma02, 3, Serialized) +{ + Store(1, Local0) + + Switch (ToInteger (arg0)) { + Case (0) { + if (arg1) { + Acquire(T200, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T200, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T200, 1), Local0) + } else { + Store(Acquire(T200, 0xffff), Local0) + } + } + Case (1) { + if (arg1) { + Acquire(T201, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T201, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T201, 1), Local0) + } else { + Store(Acquire(T201, 0xffff), Local0) + } + } + Case (2) { + if (arg1) { + Acquire(T202, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T202, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T202, 1), Local0) + } else { + Store(Acquire(T202, 0xffff), Local0) + } + } + Case (3) { + if (arg1) { + Acquire(T203, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T203, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T203, 1), Local0) + } else { + Store(Acquire(T203, 0xffff), Local0) + } + } + } + return (Local0) +} + +/* + * Acquire mutex of level 3 + * (Index of mux, opcode of exception to be generated or zero, opcode of TimeOutValue) + */ +Method(ma03, 3, Serialized) +{ + Store(1, Local0) + + Switch (ToInteger (arg0)) { + Case (0) { + if (arg1) { + Acquire(T300, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T300, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T300, 1), Local0) + } else { + Store(Acquire(T300, 0xffff), Local0) + } + } + Case (1) { + if (arg1) { + Acquire(T301, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T301, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T301, 1), Local0) + } else { + Store(Acquire(T301, 0xffff), Local0) + } + } + Case (2) { + if (arg1) { + Acquire(T302, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T302, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T302, 1), Local0) + } else { + Store(Acquire(T302, 0xffff), Local0) + } + } + Case (3) { + if (arg1) { + Acquire(T303, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T303, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T303, 1), Local0) + } else { + Store(Acquire(T303, 0xffff), Local0) + } + } + } + return (Local0) +} + +/* + * Acquire mutex of level 4 + * (Index of mux, opcode of exception to be generated or zero, opcode of TimeOutValue) + */ +Method(ma04, 3, Serialized) +{ + Store(1, Local0) + + Switch (ToInteger (arg0)) { + Case (0) { + if (arg1) { + Acquire(T400, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T400, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T400, 1), Local0) + } else { + Store(Acquire(T400, 0xffff), Local0) + } + } + Case (1) { + if (arg1) { + Acquire(T401, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T401, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T401, 1), Local0) + } else { + Store(Acquire(T401, 0xffff), Local0) + } + } + Case (2) { + if (arg1) { + Acquire(T402, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T402, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T402, 1), Local0) + } else { + Store(Acquire(T402, 0xffff), Local0) + } + } + Case (3) { + if (arg1) { + Acquire(T403, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T403, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T403, 1), Local0) + } else { + Store(Acquire(T403, 0xffff), Local0) + } + } + } + return (Local0) +} + +/* + * Acquire mutex of level 5 + * (Index of mux, opcode of exception to be generated or zero, opcode of TimeOutValue) + */ +Method(ma05, 3, Serialized) +{ + Store(1, Local0) + + Switch (ToInteger (arg0)) { + Case (0) { + if (arg1) { + Acquire(T500, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T500, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T500, 1), Local0) + } else { + Store(Acquire(T500, 0xffff), Local0) + } + } + Case (1) { + if (arg1) { + Acquire(T501, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T501, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T501, 1), Local0) + } else { + Store(Acquire(T501, 0xffff), Local0) + } + } + Case (2) { + if (arg1) { + Acquire(T502, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T502, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T502, 1), Local0) + } else { + Store(Acquire(T502, 0xffff), Local0) + } + } + Case (3) { + if (arg1) { + Acquire(T503, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T503, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T503, 1), Local0) + } else { + Store(Acquire(T503, 0xffff), Local0) + } + } + } + return (Local0) +} + +/* + * Acquire mutex of level 6 + * (Index of mux, opcode of exception to be generated or zero, opcode of TimeOutValue) + */ +Method(ma06, 3, Serialized) +{ + Store(1, Local0) + + Switch (ToInteger (arg0)) { + Case (0) { + if (arg1) { + Acquire(T600, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T600, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T600, 1), Local0) + } else { + Store(Acquire(T600, 0xffff), Local0) + } + } + Case (1) { + if (arg1) { + Acquire(T601, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T601, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T601, 1), Local0) + } else { + Store(Acquire(T601, 0xffff), Local0) + } + } + Case (2) { + if (arg1) { + Acquire(T602, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T602, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T602, 1), Local0) + } else { + Store(Acquire(T602, 0xffff), Local0) + } + } + Case (3) { + if (arg1) { + Acquire(T603, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T603, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T603, 1), Local0) + } else { + Store(Acquire(T603, 0xffff), Local0) + } + } + } + return (Local0) +} + +/* + * Acquire mutex of level 7 + * (Index of mux, opcode of exception to be generated or zero, opcode of TimeOutValue) + */ +Method(ma07, 3, Serialized) +{ + Store(1, Local0) + + Switch (ToInteger (arg0)) { + Case (0) { + if (arg1) { + Acquire(T700, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T700, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T700, 1), Local0) + } else { + Store(Acquire(T700, 0xffff), Local0) + } + } + Case (1) { + if (arg1) { + Acquire(T701, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T701, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T701, 1), Local0) + } else { + Store(Acquire(T701, 0xffff), Local0) + } + } + Case (2) { + if (arg1) { + Acquire(T702, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T702, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T702, 1), Local0) + } else { + Store(Acquire(T702, 0xffff), Local0) + } + } + Case (3) { + if (arg1) { + Acquire(T703, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T703, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T703, 1), Local0) + } else { + Store(Acquire(T703, 0xffff), Local0) + } + } + } + return (Local0) +} + +/* + * Acquire mutex of level 8 + * (Index of mux, opcode of exception to be generated or zero, opcode of TimeOutValue) + */ +Method(ma08, 3, Serialized) +{ + Store(1, Local0) + + Switch (ToInteger (arg0)) { + Case (0) { + if (arg1) { + Acquire(T800, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T800, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T800, 1), Local0) + } else { + Store(Acquire(T800, 0xffff), Local0) + } + } + Case (1) { + if (arg1) { + Acquire(T801, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T801, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T801, 1), Local0) + } else { + Store(Acquire(T801, 0xffff), Local0) + } + } + Case (2) { + if (arg1) { + Acquire(T802, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T802, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T802, 1), Local0) + } else { + Store(Acquire(T802, 0xffff), Local0) + } + } + Case (3) { + if (arg1) { + Acquire(T803, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T803, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T803, 1), Local0) + } else { + Store(Acquire(T803, 0xffff), Local0) + } + } + } + return (Local0) +} + +/* + * Acquire mutex of level 9 + * (Index of mux, opcode of exception to be generated or zero, opcode of TimeOutValue) + */ +Method(ma09, 3, Serialized) +{ + Store(1, Local0) + + Switch (ToInteger (arg0)) { + Case (0) { + if (arg1) { + Acquire(T900, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T900, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T900, 1), Local0) + } else { + Store(Acquire(T900, 0xffff), Local0) + } + } + Case (1) { + if (arg1) { + Acquire(T901, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T901, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T901, 1), Local0) + } else { + Store(Acquire(T901, 0xffff), Local0) + } + } + Case (2) { + if (arg1) { + Acquire(T902, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T902, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T902, 1), Local0) + } else { + Store(Acquire(T902, 0xffff), Local0) + } + } + Case (3) { + if (arg1) { + Acquire(T903, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(T903, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(T903, 1), Local0) + } else { + Store(Acquire(T903, 0xffff), Local0) + } + } + } + return (Local0) +} + +/* + * Acquire mutex of level 10 + * (Index of mux, opcode of exception to be generated or zero, opcode of TimeOutValue) + */ +Method(ma0a, 3, Serialized) +{ + Store(1, Local0) + + Switch (ToInteger (arg0)) { + Case (0) { + if (arg1) { + Acquire(Ta00, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(Ta00, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(Ta00, 1), Local0) + } else { + Store(Acquire(Ta00, 0xffff), Local0) + } + } + Case (1) { + if (arg1) { + Acquire(Ta01, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(Ta01, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(Ta01, 1), Local0) + } else { + Store(Acquire(Ta01, 0xffff), Local0) + } + } + Case (2) { + if (arg1) { + Acquire(Ta02, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(Ta02, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(Ta02, 1), Local0) + } else { + Store(Acquire(Ta02, 0xffff), Local0) + } + } + Case (3) { + if (arg1) { + Acquire(Ta03, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(Ta03, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(Ta03, 1), Local0) + } else { + Store(Acquire(Ta03, 0xffff), Local0) + } + } + } + return (Local0) +} + +/* + * Acquire mutex of level 11 + * (Index of mux, opcode of exception to be generated or zero, opcode of TimeOutValue) + */ +Method(ma0b, 3, Serialized) +{ + Store(1, Local0) + + Switch (ToInteger (arg0)) { + Case (0) { + if (arg1) { + Acquire(Tb00, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(Tb00, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(Tb00, 1), Local0) + } else { + Store(Acquire(Tb00, 0xffff), Local0) + } + } + Case (1) { + if (arg1) { + Acquire(Tb01, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(Tb01, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(Tb01, 1), Local0) + } else { + Store(Acquire(Tb01, 0xffff), Local0) + } + } + Case (2) { + if (arg1) { + Acquire(Tb02, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(Tb02, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(Tb02, 1), Local0) + } else { + Store(Acquire(Tb02, 0xffff), Local0) + } + } + Case (3) { + if (arg1) { + Acquire(Tb03, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(Tb03, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(Tb03, 1), Local0) + } else { + Store(Acquire(Tb03, 0xffff), Local0) + } + } + } + return (Local0) +} + +/* + * Acquire mutex of level 12 + * (Index of mux, opcode of exception to be generated or zero, opcode of TimeOutValue) + */ +Method(ma0c, 3, Serialized) +{ + Store(1, Local0) + + Switch (ToInteger (arg0)) { + Case (0) { + if (arg1) { + Acquire(Tc00, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(Tc00, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(Tc00, 1), Local0) + } else { + Store(Acquire(Tc00, 0xffff), Local0) + } + } + Case (1) { + if (arg1) { + Acquire(Tc01, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(Tc01, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(Tc01, 1), Local0) + } else { + Store(Acquire(Tc01, 0xffff), Local0) + } + } + Case (2) { + if (arg1) { + Acquire(Tc02, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(Tc02, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(Tc02, 1), Local0) + } else { + Store(Acquire(Tc02, 0xffff), Local0) + } + } + Case (3) { + if (arg1) { + Acquire(Tc03, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(Tc03, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(Tc03, 1), Local0) + } else { + Store(Acquire(Tc03, 0xffff), Local0) + } + } + } + return (Local0) +} + +/* + * Acquire mutex of level 13 + * (Index of mux, opcode of exception to be generated or zero, opcode of TimeOutValue) + */ +Method(ma0d, 3, Serialized) +{ + Store(1, Local0) + + Switch (ToInteger (arg0)) { + Case (0) { + if (arg1) { + Acquire(Td00, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(Td00, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(Td00, 1), Local0) + } else { + Store(Acquire(Td00, 0xffff), Local0) + } + } + Case (1) { + if (arg1) { + Acquire(Td01, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(Td01, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(Td01, 1), Local0) + } else { + Store(Acquire(Td01, 0xffff), Local0) + } + } + Case (2) { + if (arg1) { + Acquire(Td02, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(Td02, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(Td02, 1), Local0) + } else { + Store(Acquire(Td02, 0xffff), Local0) + } + } + Case (3) { + if (arg1) { + Acquire(Td03, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(Td03, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(Td03, 1), Local0) + } else { + Store(Acquire(Td03, 0xffff), Local0) + } + } + } + return (Local0) +} + +/* + * Acquire mutex of level 14 + * (Index of mux, opcode of exception to be generated or zero, opcode of TimeOutValue) + */ +Method(ma0e, 3, Serialized) +{ + Store(1, Local0) + + Switch (ToInteger (arg0)) { + Case (0) { + if (arg1) { + Acquire(Te00, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(Te00, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(Te00, 1), Local0) + } else { + Store(Acquire(Te00, 0xffff), Local0) + } + } + Case (1) { + if (arg1) { + Acquire(Te01, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(Te01, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(Te01, 1), Local0) + } else { + Store(Acquire(Te01, 0xffff), Local0) + } + } + Case (2) { + if (arg1) { + Acquire(Te02, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(Te02, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(Te02, 1), Local0) + } else { + Store(Acquire(Te02, 0xffff), Local0) + } + } + Case (3) { + if (arg1) { + Acquire(Te03, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(Te03, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(Te03, 1), Local0) + } else { + Store(Acquire(Te03, 0xffff), Local0) + } + } + } + return (Local0) +} + +/* + * Acquire mutex of level 15 + * (Index of mux, opcode of exception to be generated or zero, opcode of TimeOutValue) + */ +Method(ma0f, 3, Serialized) +{ + Store(1, Local0) + + Switch (ToInteger (arg0)) { + Case (0) { + if (arg1) { + Acquire(Tf00, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(Tf00, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(Tf00, 1), Local0) + } else { + Store(Acquire(Tf00, 0xffff), Local0) + } + } + Case (1) { + if (arg1) { + Acquire(Tf01, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(Tf01, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(Tf01, 1), Local0) + } else { + Store(Acquire(Tf01, 0xffff), Local0) + } + } + Case (2) { + if (arg1) { + Acquire(Tf02, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(Tf02, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(Tf02, 1), Local0) + } else { + Store(Acquire(Tf02, 0xffff), Local0) + } + } + Case (3) { + if (arg1) { + Acquire(Tf03, 0xffff) + } elseif (LEqual(arg2, TOV0)) { + Store(Acquire(Tf03, 0), Local0) + } elseif (LEqual(arg2, TOV1)) { + Store(Acquire(Tf03, 1), Local0) + } else { + Store(Acquire(Tf03, 0xffff), Local0) + } + } + } + return (Local0) +} + +/* + * Release mutex of level 0 + * + * arg0 - Index of mutex + */ +Method(ma10, 1, Serialized) +{ + Switch (ToInteger (arg0)) { + Case (0) { + Release(T000) + } + Case (1) { + if (GL00) { + Release(\_GL) + } else { + Release(T001) + } + } + Case (2) { + Release(T002) + } + Case (3) { + Release(T003) + } + Case (4) { + Release(T004) + } + Case (5) { + Release(T005) + } + Case (6) { + Release(T006) + } + Case (7) { + Release(T007) + } + Case (8) { + Release(T008) + } + Case (9) { + Release(T009) + } + Case (10) { + Release(T00a) + } + Case (11) { + Release(T00b) + } + Case (12) { + Release(T00c) + } + Case (13) { + Release(T00d) + } + Case (14) { + Release(T00e) + } + Case (15) { + Release(T00f) + } + Case (16) { + Release(T010) + } + Case (17) { + Release(T011) + } + } +} + +/* + * Release mutex of level 1 (Index of mux) + */ +Method(ma11, 1, Serialized) +{ + Switch (ToInteger (arg0)) { + Case (0) { + Release(T100) + } + Case (1) { + Release(T101) + } + Case (2) { + Release(T102) + } + Case (3) { + Release(T103) + } + } +} + +/* + * Release mutex of level 2 (Index of mux) + */ +Method(ma12, 1, Serialized) +{ + Switch (ToInteger (arg0)) { + Case (0) { + Release(T200) + } + Case (1) { + Release(T201) + } + Case (2) { + Release(T202) + } + Case (3) { + Release(T203) + } + } +} + +/* + * Release mutex of level 3 (Index of mux) + */ +Method(ma13, 1, Serialized) +{ + Switch (ToInteger (arg0)) { + Case (0) { + Release(T300) + } + Case (1) { + Release(T301) + } + Case (2) { + Release(T302) + } + Case (3) { + Release(T303) + } + } +} + +/* + * Release mutex of level 4 (Index of mux) + */ +Method(ma14, 1, Serialized) +{ + Switch (ToInteger (arg0)) { + Case (0) { + Release(T400) + } + Case (1) { + Release(T401) + } + Case (2) { + Release(T402) + } + Case (3) { + Release(T403) + } + } +} + +/* + * Release mutex of level 5 (Index of mux) + */ +Method(ma15, 1, Serialized) +{ + Switch (ToInteger (arg0)) { + Case (0) { + Release(T500) + } + Case (1) { + Release(T501) + } + Case (2) { + Release(T502) + } + Case (3) { + Release(T503) + } + } +} + +/* + * Release mutex of level 6 (Index of mux) + */ +Method(ma16, 1, Serialized) +{ + Switch (ToInteger (arg0)) { + Case (0) { + Release(T600) + } + Case (1) { + Release(T601) + } + Case (2) { + Release(T602) + } + Case (3) { + Release(T603) + } + } +} + +/* + * Release mutex of level 7 (Index of mux) + */ +Method(ma17, 1, Serialized) +{ + Switch (ToInteger (arg0)) { + Case (0) { + Release(T700) + } + Case (1) { + Release(T701) + } + Case (2) { + Release(T702) + } + Case (3) { + Release(T703) + } + } +} + +/* + * Release mutex of level 8 (Index of mux) + */ +Method(ma18, 1, Serialized) +{ + Switch (ToInteger (arg0)) { + Case (0) { + Release(T800) + } + Case (1) { + Release(T801) + } + Case (2) { + Release(T802) + } + Case (3) { + Release(T803) + } + } +} + +/* + * Release mutex of level 9 (Index of mux) + */ +Method(ma19, 1, Serialized) +{ + Switch (ToInteger (arg0)) { + Case (0) { + Release(T900) + } + Case (1) { + Release(T901) + } + Case (2) { + Release(T902) + } + Case (3) { + Release(T903) + } + } +} + +/* + * Release mutex of level 10 (Index of mux) + */ +Method(ma1a, 1, Serialized) +{ + Switch (ToInteger (arg0)) { + Case (0) { + Release(Ta00) + } + Case (1) { + Release(Ta01) + } + Case (2) { + Release(Ta02) + } + Case (3) { + Release(Ta03) + } + } +} + +/* + * Release mutex of level 11 (Index of mux) + */ +Method(ma1b, 1, Serialized) +{ + Switch (ToInteger (arg0)) { + Case (0) { + Release(Tb00) + } + Case (1) { + Release(Tb01) + } + Case (2) { + Release(Tb02) + } + Case (3) { + Release(Tb03) + } + } +} + +/* + * Release mutex of level 12 (Index of mux) + */ +Method(ma1c, 1, Serialized) +{ + Switch (ToInteger (arg0)) { + Case (0) { + Release(Tc00) + } + Case (1) { + Release(Tc01) + } + Case (2) { + Release(Tc02) + } + Case (3) { + Release(Tc03) + } + } +} + +/* + * Release mutex of level 13 (Index of mux) + */ +Method(ma1d, 1, Serialized) +{ + Switch (ToInteger (arg0)) { + Case (0) { + Release(Td00) + } + Case (1) { + Release(Td01) + } + Case (2) { + Release(Td02) + } + Case (3) { + Release(Td03) + } + } +} + +/* + * Release mutex of level 14 (Index of mux) + */ +Method(ma1e, 1, Serialized) +{ + Switch (ToInteger (arg0)) { + Case (0) { + Release(Te00) + } + Case (1) { + Release(Te01) + } + Case (2) { + Release(Te02) + } + Case (3) { + Release(Te03) + } + } +} + +/* + * Release mutex of level 15 (Index of mux) + */ +Method(ma1f, 1, Serialized) +{ + Switch (ToInteger (arg0)) { + Case (0) { + Release(Tf00) + } + Case (1) { + Release(Tf01) + } + Case (2) { + Release(Tf02) + } + Case (3) { + Release(Tf03) + } + } +} + +/* + * Get name of mutex + * + * arg0 - string + * arg1 - Level of mutex + * arg2 - Index of mutex + */ +Method(m21e, 3) +{ + Concatenate(arg0, "Level ", Local0) + Concatenate(Local0, arg1, Local1) + Concatenate(Local1, ", Index ", Local0) + Concatenate(Local0, arg2, Local1) + + if (LEqual(arg1, GLLL)) { + if (LEqual(arg2, GLIX)) { + if (GL00) { + Concatenate(Local1, " (Global lock)", Local1) + } + } + } + + return (Local1) +} + + diff --git a/tests/aslts/src/runtime/common/operations.asl b/tests/aslts/src/runtime/common/operations.asl new file mode 100644 index 0000000..5c8021f --- /dev/null +++ b/tests/aslts/src/runtime/common/operations.asl @@ -0,0 +1,767 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2013, Intel Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + +// ///////////////////////////////////////////////////////////////////////// +// 0 - Acquire (arg0, arg1) => Local7 +// 1 - Add (arg0, arg1, RES) => Local7 +// 2 - And (arg0, arg1, RES) => Local7 +// 3 - Concatenate (arg0, arg1, RES) => Local7 +// 4 - ConcatenateResTemplate (arg0, arg1, RES) => Local7 +// 5 - CondRefOf (arg0, RES) => Local7 +// 6 - CopyObject (arg0, RES) => Local7 +// 7 - Decrement (arg0 --> RES) => Local7 +// 8 - DerefOf (arg0) => Local7 +// 9 - Divide (arg0, arg1, RES, RES) => Local7 +// 10 - Fatal (arg0, arg1, arg2) +// 11 - FindSetLeftBit (arg0, RES) => Local7 +// 12 - FindSetRightBit (arg0, RES) => Local7 +// 13 - FromBCD (arg0, RES) => Local7 +// 14 - Increment (arg0 --> RES) => Local7 +// 15 - Index (arg0, arg1, RES) => 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 +// 22 - LNot (arg0) => Local7 +// 23 - LNotEqual (arg0, arg1) => Local7 +// 24 - LOr (arg0, arg1) => Local7 +// 25 - Match (arg0, , arg2, , arg3, arg4) => Local7 +// 26 - Mid (arg0, arg1, arg2, RES) => Local7 +// 27 - Mod (arg0, arg1, RES) => Local7 +// 28 - Multiply (arg0, arg1, RES) => Local7 +// 29 - NAnd (arg0, arg1, RES) => Local7 +// 30 - NOr (arg0, arg1, RES) => Local7 +// 31 - Not (arg0, RES) => Local7 +// 32 - ObjectType (arg0) => Local7 +// 33 - Or (arg0, arg1, RES) => Local7 +// 34 - RefOf (arg0) => Local7 +// 35 - Release (arg0) +// 36 - Reset (arg0) +// 37 - Return (arg0) +// 38 - ShiftLeft (arg0, arg1, RES) => Local7 +// 39 - ShiftRight (arg0, arg1, RES) => Local7 +// 40 - Signal (arg0) +// 41 - SizeOf (arg0) => Local7 +// 42 - Sleep (arg0) +// 43 - Stall (arg0) +// 44 - Store (arg0, RES) => Local7 +// 45 - Subtract (arg0, arg1, RES) => Local7 +// 46 - ToBCD (arg0, RES) => Local7 +// 47 - ToBuffer (arg0, RES) => Local7 +// 48 - ToDecimalString (arg0, RES) => Local7 +// 49 - ToHexString (arg0, RES) => Local7 +// 50 - ToInteger (arg0, RES) => Local7 +// 51 - ToString (arg0, arg1, RES) => Local7 +// 52 - Wait (arg0, arg1) => Local7 +// 53 - XOr (arg0, arg1, RES) => Local7 +// ////////////////////////////////////////////////////////////////////////// + +Name(z082, 82) + +// Flag - verify result with the contents of Package +Name(FLG2, 0x3859a0d4) + +// Flag - it is expected that operation will cause exception +Name(FLG3, 0) + +// Flag - dont do further checkings +Name(FLG4, 0) + +// Collect calls to all operators +// +// arg0-arg4 - parameters of operators +// arg5 - miscellaneous +// arg6 - opcode of operation +Method(m480, 7, Serialized) +{ + Name(ts, "m480") + + Name(pr00, 0) + Name(pr01, 0) + + Name(chk0, 1) + Name(res0, 0) + Name(res1, 0) + Name(res2, 0) + + if (LEqual(arg5, FLG2)) { + Store(0, chk0) + } + + if (chk0) { + + Name(tmp0, 0) + Name(tmp1, 0) + + Name(OT00, 0) + Name(OT01, 0) + Name(OT02, 0) + Name(OT03, 0) + Name(OT04, 0) + Name(OT05, 0) + Name(OT06, 0) + + Store(ObjectType(arg0), OT00) + Store(ObjectType(arg1), OT01) + Store(ObjectType(arg2), OT02) + Store(ObjectType(arg3), OT03) + Store(ObjectType(arg4), OT04) + Store(ObjectType(arg5), OT05) + Store(ObjectType(arg6), OT06) + + Store(arg0, Local0) + Store(arg1, Local1) + Store(arg2, Local2) + Store(arg3, Local3) + Store(arg4, Local4) + Store(arg5, Local5) + Store(arg6, Local6) + + Name(OT10, 0) + Name(OT11, 0) + Name(OT12, 0) + Name(OT13, 0) + Name(OT14, 0) + Name(OT15, 0) + Name(OT16, 0) + + Store(ObjectType(Local0), OT10) + Store(ObjectType(Local1), OT11) + Store(ObjectType(Local2), OT12) + Store(ObjectType(Local3), OT13) + Store(ObjectType(Local4), OT14) + Store(ObjectType(Local5), OT15) + Store(ObjectType(Local6), OT16) + + } // if(chk0) + + Store(0, Local7) + + if (pr00) { + Store("===================== m480, Start:", Debug) + Store(arg0, Debug) + Store(arg1, Debug) + Store(arg2, Debug) + Store(arg3, Debug) + Store(arg4, Debug) + Store(arg5, Debug) + Store(arg6, Debug) + if (chk0) { + Store("--------", Debug) + Store(Local0, Debug) + Store(Local1, Debug) + Store(Local2, Debug) + Store(Local3, Debug) + Store(Local4, Debug) + Store(Local5, Debug) + Store(Local6, Debug) + Store(Local7, Debug) + } + Store("=====================.", Debug) + } + + switch (ToInteger (Arg6)) { + case (0) { + Store(Acquire(arg0, 100), Local7) + } + case (1) { + Store(1, res0) + Store(Add(arg0, arg1, arg5), Local7) + } + case (2) { + Store(1, res0) + Store(And(arg0, arg1, arg5), Local7) + } + case (3) { + Store(1, res0) + Store(Concatenate(arg0, arg1, arg5), Local7) + } + case (4) { + Store(1, res0) + Store(ConcatenateResTemplate(arg0, arg1, arg5), Local7) + } + case (5) { + Store(1, res2) + Store(CondRefOf(arg0, arg5), Local7) + } + case (6) { + Store(1, res0) + Store(CopyObject(arg0, arg5), Local7) + } + case (7) { + Store(1, res0) + Store(arg0, arg5) + Store(Decrement(arg5), Local7) + } + case (8) { + Store(DerefOf(arg0), Local7) + } + case (9) { + Store(1, res0) + Store(1, res1) + Store(Divide(arg0, arg1, arg2, arg5), Local7) + } + case (10) { + Fatal(0xff, 0xffffffff, arg0) + } + case (11) { + Store(1, res0) + Store(FindSetLeftBit(arg0, arg5), Local7) + } + case (12) { + Store(1, res0) + Store(FindSetRightBit(arg0, arg5), Local7) + } + case (13) { + Store(1, res0) + Store(FromBCD(arg0, arg5), Local7) + } + case (14) { + Store(1, res0) + Store(arg0, arg5) + Store(Increment(arg5), Local7) + } + case (15) { + Store(1, res0) + Store(Index(arg0, arg1, arg5), Local7) + } + case (16) { + Store(LAnd(arg0, arg1), Local7) + } + case (17) { + Store(LEqual(arg0, arg1), Local7) + } + case (18) { + Store(LGreater(arg0, arg1), Local7) + } + case (19) { + Store(LGreaterEqual(arg0, arg1), Local7) + } + case (20) { + Store(LLess(arg0, arg1), Local7) + } + case (21) { + Store(LLessEqual(arg0, arg1), Local7) + } + case (22) { + Store(LNot(arg0), Local7) + } + case (23) { + Store(LNotEqual(arg0, arg1), Local7) + } + case (24) { + Store(LOr(arg0, arg1), Local7) + } + case (25) { + // arg1 - determine OP1 and OP2 + Store(Match(arg0, MTR, arg2, MTR, arg3, arg4), Local7) + } + case (26) { + Store(1, res0) + Store(Mid(arg0, arg1, arg2, arg5), Local7) + } + case (27) { + Store(1, res0) + Store(Mod(arg0, arg1, arg5), Local7) + } + case (28) { + Store(1, res0) + Store(Multiply(arg0, arg1, arg5), Local7) + } + case (29) { + Store(1, res0) + Store(NAnd(arg0, arg1, arg5), Local7) + } + case (30) { + Store(1, res0) + Store(NOr(arg0, arg1, arg5), Local7) + } + case (31) { + Store(1, res0) + Store(Not(arg0, arg5), Local7) + } + case (32) { + Store(ObjectType(arg0), Local7) + } + case (33) { + Store(1, res0) + Store(Or(arg0, arg1, arg5), Local7) + } + case (34) { + Store(RefOf(arg0), Local7) + } + case (35) { + Release(arg0) + } + case (36) { + Reset(arg0) + } + case (37) { + Return(arg0) + } + case (38) { + Store(1, res0) + Store(ShiftLeft(arg0, arg1, arg5), Local7) + } + case (39) { + Store(1, res0) + Store(ShiftRight(arg0, arg1, arg5), Local7) + } + case (40) { + Signal(arg0) + } + case (41) { + Store(SizeOf(arg0), Local7) + } + case (42) { + Sleep(arg0) + } + case (43) { + Stall(arg0) + } + case (44) { + Store(1, res0) + Store(Store(arg0, arg5), Local7) + } + case (45) { + Store(1, res0) + Store(Subtract(arg0, arg1, arg5), Local7) + } + case (46) { + Store(1, res0) + Store(ToBCD(arg0, arg5), Local7) + } + case (47) { + Store(1, res0) + Store(ToBuffer(arg0, arg5), Local7) + } + case (48) { + Store(1, res0) + Store(ToDecimalString(arg0, arg5), Local7) + } + case (49) { + Store(1, res0) + Store(ToHexString(arg0, arg5), Local7) + } + case (50) { + Store(1, res0) + Store(ToInteger(arg0, arg5), Local7) + } + case (51) { + Store(1, res0) + Store(ToString(arg0, arg1, arg5), Local7) + } + case (52) { + Store(Wait(arg0, arg1), Local7) + } + case (53) { + Store(1, res0) + Store(XOr(arg0, arg1, arg5), Local7) + } + Default { + Store("Param error 0", Debug) + Store(1, Local0) + Store(0, Local1) + Divide(Local0, Local1, Local2, Local3) + } + } + + if (FLG3) { + + // It was expected that operation will cause exception. + // We verify only the presence of exception. + // Nothing to do more. + + return (1) + } + + if (FLG4) { + + // Dont do further checkings. + + return (1) + } + + if (chk0) { + + // Types of ArgX are save + + Store(ObjectType(arg0), tmp0) + if (LNotEqual(tmp0, OT00)) { + err(ts, z082, 0, 0, 0, tmp0, OT00) + } + Store(ObjectType(arg1), tmp0) + if (LNotEqual(tmp0, OT01)) { + err(ts, z082, 1, 0, 0, tmp0, OT01) + } + Store(ObjectType(arg2), tmp0) + if (LNotEqual(tmp0, OT02)) { + err(ts, z082, 2, 0, 0, tmp0, OT02) + } + Store(ObjectType(arg3), tmp0) + if (LNotEqual(tmp0, OT03)) { + err(ts, z082, 3, 0, 0, tmp0, OT03) + } + Store(ObjectType(arg4), tmp0) + if (LNotEqual(tmp0, OT04)) { + err(ts, z082, 4, 0, 0, tmp0, OT04) + } + + if (res0) { + Store(ObjectType(arg5), tmp0) + if (LNotEqual(tmp0, OT05)) { + err(ts, z082, 5, 0, 0, tmp0, OT05) + } + } + Store(ObjectType(arg6), tmp0) + if (LNotEqual(tmp0, OT06)) { + err(ts, z082, 6, 0, 0, tmp0, OT06) + } + + // Types of LocalX are save, and data of LocalX and ArgX are identical + + Store(ObjectType(Local0), tmp0) + if (LNotEqual(tmp0, OT10)) { + err(ts, z082, 7, 0, 0, tmp0, OT10) + } else { + m481(ts, 8, tmp0, Local0, arg0) + } + Store(ObjectType(Local1), tmp0) + if (LNotEqual(tmp0, OT11)) { + err(ts, z082, 9, 0, 0, tmp0, OT11) + } else { + m481(ts, 10, tmp0, Local1, arg1) + } + + if (res1) { + Store(ObjectType(Local2), tmp0) + if (LNotEqual(tmp0, OT12)) { + err(ts, z082, 11, 0, 0, tmp0, OT12) + } else { + m481(ts, 12, tmp0, Local2, arg2) + } + } + + Store(ObjectType(Local3), tmp0) + if (LNotEqual(tmp0, OT13)) { + err(ts, z082, 13, 0, 0, tmp0, OT13) + } else { + m481(ts, 14, tmp0, Local3, arg3) + } + Store(ObjectType(Local4), tmp0) + if (LNotEqual(tmp0, OT14)) { + err(ts, z082, 15, 0, 0, tmp0, OT14) + } else { + m481(ts, 16, tmp0, Local4, arg4) + } + Store(ObjectType(Local5), tmp0) + if (LNotEqual(tmp0, OT15)) { + err(ts, z082, 17, 0, 0, tmp0, OT15) + } elseif (res0) { + m481(ts, 18, tmp0, Local5, arg5) + } + Store(ObjectType(Local6), tmp0) + if (LNotEqual(tmp0, OT16)) { + err(ts, z082, 19, 0, 0, tmp0, OT16) + } else { + m481(ts, 20, tmp0, Local6, arg6) + } + + if (res2) { + if (LNotEqual(Local7, Ones)) { + err(ts, z082, 21, 0, 0, Local7, Ones) + } + } elseif (res0) { + Store(ObjectType(Local7), tmp0) + Store(ObjectType(arg5), tmp1) + if (LNotEqual(tmp0, tmp1)) { + err(ts, z082, 22, 0, 0, tmp0, tmp1) + } else { + m481(ts, 23, tmp0, Local7, arg5) + } + } + + } // if(chk0) + + if (pr01) { + Store("===================== m480, Finish:", Debug) + Store(arg0, Debug) + Store(arg1, Debug) + Store(arg2, Debug) + Store(arg3, Debug) + Store(arg4, Debug) + Store(arg5, Debug) + Store(arg6, Debug) + if (chk0) { + Store("--------", Debug) + Store(Local0, Debug) + Store(Local1, Debug) + Store(Local2, Debug) + Store(Local3, Debug) + Store(Local4, Debug) + Store(Local5, Debug) + Store(Local6, Debug) + Store(Local7, Debug) + } + Store("=====================.", Debug) + } + + Return(Local7) +} + +// Compare the contents of arg3 and arg4, arg2 - the type of objects +Method(m481, 5, Serialized) +{ + Store(0, Local0) + + switch (ToInteger (arg2)) { + case (1) { + if (LNotEqual(arg3, arg4)) { + err(arg0, z082, 24, 0, 0, arg1, 0) + Store(1, Local0) + } + } + case (2) { + if (LNotEqual(arg3, arg4)) { + err(arg0, z082, 25, 0, 0, arg1, 0) + Store(1, Local0) + } + } + case (3) { + if (LNotEqual(arg3, arg4)) { + err(arg0, z082, 26, 0, 0, arg1, 0) + Store(1, Local0) + } + } + } + + if (Local0) { + Store(arg3, Debug) + Store(arg4, Debug) + } + +} + +// Layer for checking referencies +// +// arg0-arg4 - parameters of operators +// arg5 - miscellaneous +// arg6 - opcode of operation +Method(m482, 7) +{ +/////////////////// +// +// !!!!!!!!!!!!!! ?????????????????????????????????????? +// +// Looks like a bug - why this construction is impossible: +// +// Name(OT11, ObjectType(arg0)) +// Name(a000, arg0) +/////////////////// + + Name(ts, "m482") + + Name(pk06, 0) + + Name(tmp0, 0) + + Name(OT00, 0) + Name(OT01, 0) + Name(OT02, 0) + Name(OT03, 0) + Name(OT04, 0) + Name(OT05, 0) + Name(OT06, 0) + + Store(ObjectType(arg0), OT00) + Store(ObjectType(arg1), OT01) + Store(ObjectType(arg2), OT02) + Store(ObjectType(arg3), OT03) + Store(ObjectType(arg4), OT04) + Store(ObjectType(arg5), OT05) + Store(ObjectType(arg6), OT06) + + // Operation + + Store(ObjectType(arg6), OT06) + if (LEqual(OT06, 4)) { + Store(DeRefOf(Index(arg6, 0)), Local6) + Store(1, pk06) + } else { + Store(arg6, Local6) + } + + Store(arg0, Local0) + Store(arg1, Local1) + Store(arg2, Local2) + Store(arg3, Local3) + Store(arg4, Local4) + Store(arg5, Local5) +// Store(arg6, Local6) + Store(arg6, Local7) + + Name(OT10, 0) + Name(OT11, 0) + Name(OT12, 0) + Name(OT13, 0) + Name(OT14, 0) + Name(OT15, 0) + Name(OT16, 0) + + Store(ObjectType(Local0), OT10) + Store(ObjectType(Local1), OT11) + Store(ObjectType(Local2), OT12) + Store(ObjectType(Local3), OT13) + Store(ObjectType(Local4), OT14) + Store(ObjectType(Local5), OT15) + Store(ObjectType(Local6), OT16) + + Store(m480(Local0, Local1, Local2, Local3, Local4, Local5, Local6), Local7) + + // Types of ArgX are save + + Store(ObjectType(arg0), tmp0) + if (LNotEqual(tmp0, OT00)) { + err(ts, z082, 27, 0, 0, tmp0, OT00) + } + Store(ObjectType(arg1), tmp0) + if (LNotEqual(tmp0, OT01)) { + err(ts, z082, 28, 0, 0, tmp0, OT01) + } + Store(ObjectType(arg2), tmp0) + if (LNotEqual(tmp0, OT02)) { + err(ts, z082, 29, 0, 0, tmp0, OT02) + } + Store(ObjectType(arg3), tmp0) + if (LNotEqual(tmp0, OT03)) { + err(ts, z082, 30, 0, 0, tmp0, OT03) + } + Store(ObjectType(arg4), tmp0) + if (LNotEqual(tmp0, OT04)) { + err(ts, z082, 31, 0, 0, tmp0, OT04) + } + Store(ObjectType(arg5), tmp0) + if (LNotEqual(tmp0, OT05)) { + err(ts, z082, 32, 0, 0, tmp0, OT05) + } + Store(ObjectType(arg6), tmp0) + if (LNotEqual(tmp0, OT06)) { + err(ts, z082, 33, 0, 0, tmp0, OT06) + } + + // Types of LocalX are save, and data of LocalX and ArgX are identical + + Store(ObjectType(Local0), tmp0) + if (LNotEqual(tmp0, OT10)) { + err(ts, z082, 34, 0, 0, tmp0, OT10) + } else { + m481(ts, 35, tmp0, Local0, arg0) + } + Store(ObjectType(Local1), tmp0) + if (LNotEqual(tmp0, OT11)) { + err(ts, z082, 36, 0, 0, tmp0, OT11) + } else { + m481(ts, 37, tmp0, Local1, arg1) + } + Store(ObjectType(Local2), tmp0) + if (LNotEqual(tmp0, OT12)) { + err(ts, z082, 38, 0, 0, tmp0, OT12) + } else { + m481(ts, 39, tmp0, Local2, arg2) + } + Store(ObjectType(Local3), tmp0) + if (LNotEqual(tmp0, OT13)) { + err(ts, z082, 40, 0, 0, tmp0, OT13) + } else { + m481(ts, 41, tmp0, Local3, arg3) + } + Store(ObjectType(Local4), tmp0) + if (LNotEqual(tmp0, OT14)) { + err(ts, z082, 42, 0, 0, tmp0, OT14) + } else { + m481(ts, 43, tmp0, Local4, arg4) + } + Store(ObjectType(Local5), tmp0) + if (LNotEqual(tmp0, OT15)) { + err(ts, z082, 44, 0, 0, tmp0, OT15) + } else { + m481(ts, 45, tmp0, Local5, arg5) + } + + Store(ObjectType(Local6), tmp0) + if (LNotEqual(tmp0, OT16)) { + err(ts, z082, 46, 0, 0, tmp0, OT16) + } else { + // Package is passed by arg6 + // m481(ts, 47, tmp0, Local6, arg6) + } + + if (pk06) { + +// SEE: either to remove this ability??????????????????? + + // Presence of result + Store(DeRefOf(Index(arg6, 1)), Local0) + + if (Local0) { + + // Type of result + Store(DeRefOf(Index(arg6, 2)), Local0) + + // Result + Store(DeRefOf(Index(arg6, 3)), Local1) + + Store(ObjectType(Local7), Local2) + + Store(0, Local3) + + if (LNotEqual(Local2, Local0)) { + err(ts, z082, 48, 0, 0, 0, 0) + Store("Expected type of result:", Debug) + Store(Local0, Debug) + Store("The type of obtained result:", Debug) + Store(Local2, Debug) + Store(1, Local3) + } elseif (LNotEqual(Local7, Local1)) { + err(ts, z082, 49, 0, 0, 0, 0) + Store(1, Local3) + } + if (Local3) { + Store("Expected result:", Debug) + Store(Local1, Debug) + Store("Actual result:", Debug) + Store(Local7, Debug) + } + } + } + + Return(Local7) +} diff --git a/tests/misc/grammar.aml b/tests/misc/grammar.aml new file mode 100755 index 0000000..2e930d8 Binary files /dev/null and b/tests/misc/grammar.aml differ