You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Int 13H AH=00h的作用是什么?虚拟软盘场景下的重置含义

Int 13H AH=00h 指令作用与“重置”含义解析

你通过命令copy amorce.com/B+programme.com/B disk.img /Y创建了虚拟软盘镜像disk.img,镜像包含512字节的引导扇区(来自amorce.com,位于第1扇区)和占用第2至7扇区的程序,将其放入无操作系统的VirtualBox虚拟机中直接运行引导扇区程序,其中引导扇区包含这段代码:

initialise_disque: 
    mov dl, 0
    xor ax, ax 
    int 0x13 
    jc initialise_disque

针对你提出的疑问,以下是具体解析:

一、Int 13H AH=00h 的核心作用

Int 13H AH=00h是BIOS提供的软盘控制器重置指令,这里的“重置”和软盘数据完全无关,它的作用是将软盘控制器(FDC)的硬件状态恢复到初始就绪状态:

  • 终止当前正在执行的所有磁盘操作(比如中途中断的读/写任务)
  • 清除控制器内部的错误标记、状态寄存器中的异常位
  • 让软盘驱动器回到默认就绪状态,确保后续调用Int 13H的磁盘操作(如读扇区、写扇区)能正常执行

二、移除代码后程序运行无变化的原因

你的测试场景是虚拟机中的虚拟软盘,环境本身处于理想状态:

  • 虚拟软盘控制器没有残留的错误状态或未完成的操作
  • 引导扇区运行时,驱动器已经处于就绪状态

这种情况下,重置操作不会产生可见的效果。但在真实的老式硬件环境中,软盘驱动器可能出现临时异常(比如磁头偏移、操作中断),此时AH=00h的重置是必需的——如果跳过这一步,后续的磁盘操作大概率会失败,比如无法读取后续的programme.com程序。

三、“重置”的具体含义

这里的“重置”仅针对软盘控制器硬件,和软盘上存储的数据没有任何关联:

  • 不会删除软盘内的程序
  • 无法恢复被覆盖的内容
  • 只是让控制器回到能正确响应后续磁盘命令的初始状态

内容的提问来源于stack exchange,提问作者Bastien Portigo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 10:42:08