如何使用BIOS中断读取第二张软盘
我需要做一个迷你操作系统(从软盘a引导),可以写/读软盘B 环境是vmware workstation。翻牌是A.img和B.img 在A.img中,我设置了一个MBR程序和一个func.bin。我需要在func.bin中归档上述函数。下面是其中的代码片段如何使用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,
... ; 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的文件大小是多少?