Hallo erstmal.
Also ich habe bereits ein paar Ausgaben vom LowlevelMagazin gelesen und mich auch sonst shcon etwas mit OS Dev auseinandergesetzt.
Als erstes wollte ich mal etwas üben...
Also wollte ich den Kernel aus Ausgabe 1 so erweitern, dass er eine Zufallszahl generieren soll, die man dann später raten kann. (auch bekannt als Zahlenraten)
Jedoch gibt NASM 2 Fehlermeldungen aus, beim kompilieren. Jedoch weiß ich nicht was ich falsch gemacht habe.
; Zufallszahl generieren
rand:
xor ebx,ebx ; EBX leeren
mov eax,0x0040
mov edx,eax
mov eax,edx:[0x6c] ; BIOS Zeitzähler nach EAX auslesen
.rand1:
xor edx,edx ; EDX leeren
div 0xa
add ebx,edx ; Quersumme bilden (mehrere durchläufe erforderlich)
cmp eax,0
jne .rand1 ; zahl nicht zu ende? >> nochmal
retn
In dem Code soll die Quersumme von der Zeit gebildet werden, die dann die Pseudozufallszahl ist.
Es gibt Probleme mit Zeile 6 (mov eax, edx:[0x6c]) und Zeile 9 (div 0xa)
Fehlermeldung zu den bieden Zeilen ist jeweils:
error: invalid combination of opcode and operands
Kann mir da jemadnd weiterhelfen?
EDIT: Der Prozessor befindet sich noch im Real Mode.