Lowlevel
Lowlevel => Softwareentwicklung => Thema gestartet von: FlorianN am 26. October 2012, 14:40
-
Hallo,
ich bin noch ein Anfänger und habe eine einfache Frage welche ich allerdings nicht lösen kann:
Code (Zitat, ich weiß):
mov ah, 04h ;die maus ansteuern
int 0x10 ;jetzt!
mov ah, 0Ch ;ein pixel ansteuern
mov al, 0x07 ;farbe 7 (hellgrau)
--> mov dx, ch ;Positiom der Maus (hellgrau)
--> mov cx, bx ;Position der Maus
int 0x10
Das OS befindet sich im RealMode und Grafikmodus (320x200).
http://de.wikibooks.org/wiki/Interrupts_80x86/_INT_10 (http://de.wikibooks.org/wiki/Interrupts_80x86/_INT_10)
Danke im Vorraus, Florian
-
Hallo,
du versuchst, den Inhalt von Register CH (8 Bit) in das Register DX (16 Bit) zu schreiben. Das geht nicht.
Das BIOS kennt übrigens keine Mäuse und bietet dafür keine Treiber an, int 0x10/0x04 funktioniert nicht mehr. Ein Zeigegerät findest du wahrscheinlich am PS/2-Port.
Anmerkung: Es gibt Code-Tags für das Forum.
Gruß,
Svenska
-
Mit Interrupt 0x10, Funktion 0x04 kannst du nicht die Mausposition auslesen. Ein "Lichtstift" ist was anderes: http://de.wikipedia.org/wiki/Lichtgriffel Wie man die Maus anspricht, ist hier erklärt: http://www.lowlevel.eu/wiki/PS/2-Maus
Zu dem Problem: dx ist ein 16-Bit Register und ch ist ein 8-Bit Register. Wenn du einen 16-Bit Register mit einem 8-Bit Wert laden musst, musst du die unteren 8-Bit laden und die oberen 8-Bit auf 0 setzen.
mov dl, ch
mov dh, 0
An der Zeile mov cx, bx ist nichts falsch. Warum hast du die markiert?
-
Hallo,
An der Zeile mov cx, bx ist nichts falsch. Warum hast du die markiert?
NASM hat einen Fehler in beiden Zeilen gemeldet (der selbe wieder).
Wie man die Maus anspricht, ist hier erklärt: http://www.lowlevel.eu/wiki/PS/2-Maus
Wenn EAh aktivieren möchte wie muss ich dann vorgehen?
mov ??, EAh
int 0x10
Und wie lese ich den IRQ12 aus (Dauerschleife)?
MfG Florian
-
So einfach ist das nicht.
Ein Tutorial gibt es dazu hier. http://www.lowlevel.eu/wiki/PS/2-Maus_Tutorial
-
ich lese es gleich mal durch...
-
Also wird IRQ12 aufgerufen und ich bennötige keine Dauerschleife!
Gibt es noch meht Tuorials? Eine Übersichts Seite?
-
gut, habs schon gefunden:
http://www.lowlevel.eu/wiki/Kategorie:Tutorials (http://www.lowlevel.eu/wiki/Kategorie:Tutorials)