2017-02-22 4 views
0

Ich versuche mein eigenes Betriebssystem zu bauen, weißt du, zum Spaß ... Ich bin dran SEHR frühe Phasen .... Ich versuche jetzt, eine Art Installationsdiskette zu machen, die sich in den Bootsektor der Hauptfestplatte kopiert.OS Gebäude int 13h ah = 3 (hex) cf schaltet sich ein und ah werde B (hex) oder 12 (dez)

das ist meine Installation (ich bin mit 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 

ich online gelesen, dass wenn B wiederum auf das bedeutet ungefähr wie „schlechte Festplattenzylinder“. Was heißt das? Btw ich emuliere meine os auf einem Orakel virtuellen Maschine mit 64 MB MEMMORY und einer 2 GB virtuellen Festplatte.

danke im voraus!

Antwort

2

CHS addressing beginnt von C = 0, H = 0, S = 1.

xor cx, cx setzt den Sektor auf 0, was keine gültige Sektornummer ist.
In den gleichen Zeilen liest mov cx, 1 den ersten Sektor der Diskette.

+0

Danke, wusste das nicht! –