assembly - 如何关闭机器?我正在构建自己的微型操作系统

标签 assembly operating-system x86 shutdown system-shutdown

这个问题在这里已经有了答案:





How to power down the computer from a freestanding environment?

(2 个回答)


3年前关闭。




汇编中的 hlt 指令可以在停止处理器时关闭计算机吗?如果可以使用我所说的来完成,这是正确的方法吗?

hlt 可以关闭机器吗?

start:
    xor ax, ax; ;clear ax
    mov bx, ax; ;clear bx
    cli ;stop all interrupts
    hlt ;halt the cpu

如果这不是要完成的方法,如果这不会关闭系统,请告诉我正确的方法。

最佳答案

hlt指令停止 x86,直到发生中断。除非所有中断都被禁用,否则处理器只会停止一毫秒左右。

要关闭现代计算机,请使用 ACPI (Advanced Configuration and Power Interface) .

关于assembly - 如何关闭机器?我正在构建自己的微型操作系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8867363/

相关文章:

c++ - 按照每个通用寄存器的用途对 x86 程序集进行编码是否有必要或更容易

assembly - 在堆栈帧创建之前或之后插入寄存器之间有什么区别吗?

Java - 确定操作系统位版本

assembly - NASM - 如何将 8 位寄存器移动到完整的 32 位寄存器?

c++ - 未使用的 asm() 在不受支持的架构上的行为

assembly - TI-84 asm 崩溃 - 它会删除 RAM 还是所有内容?

c++ - 访问硬盘的未分配空间

python `os` 返回 `os` 认为不存在的文件

c - 使用 kmalloc 分配可执行内存

更改内存中的 'call'地址?