Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 如何在自定义操作系统的程序集中关闭acpi?_Assembly_Virtualbox_Shutdown_Acpi_Dsdt - Fatal编程技术网

Assembly 如何在自定义操作系统的程序集中关闭acpi?

Assembly 如何在自定义操作系统的程序集中关闭acpi?,assembly,virtualbox,shutdown,acpi,dsdt,Assembly,Virtualbox,Shutdown,Acpi,Dsdt,我正在virtualbox中运行一个自定义操作系统,并解析了ACPI、FACP、DSDT等表以获得PM1a_CNT和SLP_TYPa值。这些似乎是正确的。但是,当我尝试关闭ACPI时: xor eax, eax mov edx, [PM1a_CNT] mov ax, [SLP_TYPa] or ax, (1 shl 13) out dx, ax 什么也没发生PM1a_CNT为0x4004,SLP_TYPa为0,与我在别处看到的其他值相比,这似乎是合理的。我还检查了PM1b_CNT,它是零,所

我正在virtualbox中运行一个自定义操作系统,并解析了ACPI、FACP、DSDT等表以获得PM1a_CNT和SLP_TYPa值。这些似乎是正确的。但是,当我尝试关闭ACPI时:

xor eax, eax
mov edx, [PM1a_CNT]
mov ax, [SLP_TYPa]
or ax, (1 shl 13)
out dx, ax 
什么也没发生
PM1a_CNT
为0x4004,
SLP_TYPa
为0,与我在别处看到的其他值相比,这似乎是合理的。我还检查了PM1b_CNT,它是零,所以我不必麻烦它


virtualbox是否存在使其正常工作的问题或技巧

除了向16位I/O端口写入32位值之外,所有内容看起来都是正确的。尝试将最终的
out dx,eax
替换为
out dx,ax

是的,我最初使用的是ax,不起作用,所以我尝试了eax。粘贴代码时忘记将其更改回原处。将修复它。所以更改它并不能修复您的问题?不,就像我说的,我最初使用的是ax,但它不起作用