0

nasm からコンピューターへの電源をシャットダウンまたは停止することは可能ですか (違いはありますか?)。これを使用して再起動できることはわかっています:

mov al, 0xFE
out 0x64, al

シャットダウンに相当するものはありますか?16ビットOSを自作しています。

4

3 に答える 3

1

あなたが持っているコードは動作することが保証されていません。それは次の 2 つの事実に依存しています。

  • OS は物理 IO メモリをプロセス メモリ空間にマップします。
  • マシンには BIOS があります。

どちらも真実ではないかもしれません。

プログラムによってマシンを再起動またはシャットダウンする唯一の確実な方法は、対応する OS API を呼び出すことです。

OS API (OS を作成しているので必要です:-)) を呼び出す代わりに、ACPI を使用します。すべてのマシンが ACPI をサポートしているわけではなく、4 つの異なる ACPI リビジョンがあります。

http://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface?wasRedirected=true
http://www.acpi.info

于 2010-08-12T00:37:57.380 に答える
0
    mov ax, 0x1000
    mov ax, ss
    mov sp, 0xf000
    mov ax, 0x5307
    mov bx, 0x0001
    mov cx, 0x0003
    int 0x15
于 2015-01-13T14:26:16.470 に答える