Veröffentlicht 7. Mai 200223 j Wie rufe ich von C/C++ aus einen Interrupt auf? Wenn ich z.B. den Bildschirm löschen will, müsste dies der Interrupt "10h" sein. Wie löse ich diesen aus?
7. Mai 200223 j Hmmm... bau halt einen asm-Block ein ?! ich schau mal, ob ich den link zu den notwendigen registerwerten noch finde..
7. Mai 200223 j Hy: den löst du mit dem Befehl int86();aus. z.B. void readVideoStatus(unsigned char& nrVideoModus, unsigned char& nTextColumn, unsigned char& nrTextPage) { REGS reg; reg.h.ah=0x0F; //Fkt. Video Status lesen int86(0x10, ®, ®); //10=Video-Interrupt nrVideoModus=reg.h.al&0x7F; //al=Kennzahl des aktuellen Video-Modus //&0x7F (=127) blendet fl-Flagge aus nTextColumn=reg.h.ah; //ah=Anzahl Bildschirm-Textspalten nrTextPage=reg.h.bh; //bh=Kennzahl der aktuellen Bildschirm-Seite }//endFunctionreadVideoModus()
7. Mai 200223 j Danke für die Hilfe! Das hat mich weitergebracht! Wenn man sich mal mit so sachen wie der Interrupt-Vector-Tabelle beschäftigt weis man warum Windows immer abstürzt
7. Mai 200223 j Falls du eine komplette Liste der Interrupts haben möchtest: kurze mail an mich. Ich würde sie dir dann zukommen lassen.
7. Mai 200223 j Hier hatte ich mal ein Beispiel mit einem ASM-Block und ein Beispiel in C - kannst Du Dir vielleicht auch anschauen.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.