Äxel Geschrieben 7. Mai 2002 Geschrieben 7. Mai 2002 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? Zitieren
gugelhupf Geschrieben 7. Mai 2002 Geschrieben 7. Mai 2002 Hmmm... bau halt einen asm-Block ein ?! ich schau mal, ob ich den link zu den notwendigen registerwerten noch finde.. Zitieren
brixxie Geschrieben 7. Mai 2002 Geschrieben 7. Mai 2002 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() Zitieren
Äxel Geschrieben 7. Mai 2002 Autor Geschrieben 7. Mai 2002 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 Zitieren
brixxie Geschrieben 7. Mai 2002 Geschrieben 7. Mai 2002 Falls du eine komplette Liste der Interrupts haben möchtest: kurze mail an mich. Ich würde sie dir dann zukommen lassen. Zitieren
Crush Geschrieben 7. Mai 2002 Geschrieben 7. Mai 2002 Hier hatte ich mal ein Beispiel mit einem ASM-Block und ein Beispiel in C - kannst Du Dir vielleicht auch anschauen. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.