是否可以從nasm關閉或關閉計算機的電源(是否存在差異?)?我知道你可以使用它來重新啓動:使用nasm關閉計算機
mov al, 0xFE
out 0x64, al
是否有關閉等價物? 我正在製作我自己的16位操作系統。
是否可以從nasm關閉或關閉計算機的電源(是否存在差異?)?我知道你可以使用它來重新啓動:使用nasm關閉計算機
mov al, 0xFE
out 0x64, al
是否有關閉等價物? 我正在製作我自己的16位操作系統。
您擁有的代碼不能保證能正常工作。它依賴於兩個事實:
這兩者都不是真的。
以編程方式重新啓動或關閉機器的唯一可靠方法是調用相應的OS API。
調用OS API(您需要,因爲您的是正在編寫OS :-))的替代方法是使用ACPI。並非所有機器都支持這些ACPI,有四種不同的ACPI版本。
http://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface?wasRedirected=true
http://www.acpi.info
你可以試試這個代碼: -
shutdown_sucess:
mov ax, 5301h ; Connect to the APM
xor bx, bx
int 15h
je near continue_connection ; Pass if connected
cmp ah, 2
je near continue_connection ; Pass if already connected
ret ; Bail if fail
continue_connection: MOV AX,530Eh;檢查APM版本 xor bx,bx mov cx,0102h; V1.2所需 INT 15H RET
mov ax, 0x1000
mov ax, ss
mov sp, 0xf000
mov ax, 0x5307
mov bx, 0x0001
mov cx, 0x0003
int 0x15
:我將我自己的16位操作系統,所以沒有OS API。 – None 2010-08-12 01:04:22
你應該已經開始了這一點的信息。 :-)關閉所有主板上的機器並沒有簡單的標準化方法。您可以查看ACPI的電源管理支持;但是ACPI支持差異很大,所以您需要知道您正在運行的硬件 – 2010-08-12 01:20:26