OS构建int 13h啊= 3(十六进制)cf打开,啊变为B(十六进制)或12(十二)

时间:2017-02-22 10:12:26

标签: assembly nasm x86-16

我正在尝试建立自己的操作系统,你知道,为了好玩...... 我处于非常早期的阶段......我现在正在尝试制作一种安装软盘,一种将自身复制到主硬盘驱动器扇区的软盘。

这是我的安装程序(我正在使用nasm):

install:
MOV ax,0201h
mov cx,0001h ;; my drive destinated boot sector is written on the second sector of the floppy
mov dx,0000h
mov bx, buffWrt
int 13h ;;jc doesnt turn on here
jc errorIns
mov ax,0303h
xor cx,cx
mov dx,0080h
mov bx, buffWrt
int 13h
jc errorIns1;; jc turn on and ah become B
stopped:
mov si, insMsg
call print
ret

我在网上看到,当B打开时,这意味着像#34;糟糕的固定磁盘气缸"。这是什么意思? 顺便说一句,我在一台带有64 MB内存和2 GB虚拟硬盘的oracle虚拟机上模拟我的操作系统。

提前感谢!

1 个答案:

答案 0 :(得分:2)

CHS addressing从C = 0开始,H = 0,S = 1.

xor cx, cx将扇区设置为0,这不是有效的扇区号 在同一行,mov cx, 1读取软盘的第一个扇区。