如何使用BIOS中断读取第二张软盘

如何使用BIOS中断读取第二张软盘,io,operating-system,bios,floppy,Io,Operating System,Bios,Floppy,我需要做一个迷你操作系统(从软盘a引导),可以写/读软盘B 环境是vmware workstation。翻牌是A.img和B.img 在A.img中,我设置了一个MBR程序和一个func.bin。我需要在func.bin中归档上述函数。下面是其中的代码片段 ... ; set es:bx mov ah, 0x03 ; read sectors mov al, 0x01 ; 1 sector mov ch, 0x00 ; cylinder mov cl,

我需要做一个迷你操作系统(从软盘a引导),可以写/读软盘B

环境是vmware workstation。翻牌是A.img和B.img

在A.img中,我设置了一个MBR程序和一个func.bin。我需要在func.bin中归档上述函数。下面是其中的代码片段

...             ; set es:bx
mov ah, 0x03    ; read sectors
mov al, 0x01    ; 1 sector
mov ch, 0x00    ; cylinder
mov cl, 0x03    ; sector
mov dh, 0x00    ; head
mov dl, 0x01    ; B.img
int 0x13
然后我得到了返回码:ah=0x01。意思是“非法命令”,但我不知道是什么引起的

我尝试将
movdl,0x01
更改为
movdl,0x00
(A.img)或
movdl,0x80
(硬盘),它们都成功了。所以我想知道如何解决这个问题


更新我的问题:
B.img已设置为“在vm运行时自动连接”

A的大小:31.5KB
B的大小:1.44MB这个问题已经由我自己解决了

这是因为我不知道虚拟机的配置

默认情况下,虚拟机的BIOS中只启用一个软盘驱动器。如果要向虚拟机添加第二个软盘驱动器,请在虚拟机窗口内单击,并在虚拟机引导时按F2键以进入BIOS设置实用程序。在主屏幕上,选择旧软盘B:并使用数字键盘上的加号(+)和减号(-)键选择要使用的软盘驱动器类型。然后按F10保存更改并关闭BIOS设置实用程序


您是否将第二张软盘(驱动器B:)设置为在启动时连接?我想知道您是否添加了第二张软盘(使用虚拟软盘B.img),但出于好奇,您没有告诉它在VM启动时连接。A.img的文件大小是多少,B.img的文件大小是多少?