Ich programmiere gerade wieder assembler neben den Vorkursen her und frug mich:
Ist die Textausgabe per int 10h eig. immer langsamer als das direkte Schreiben an die Stelle 0xB800 oder muss man schon einiges auf dem kasten haben, um es schneller zu machen?
Ihr wisst es doch bestimmt: Was ist schneller: Int 10h oder eine eigene routine?
INT oder direkter Speicherzugriff
Re: INT oder direkter Speicherzugriff
Die eigene Routine wird wohl schneller sein. Weil Code im ROM auch nicht so schnell ausgeführt werden kann, als wie im RAM und weil Int und Iret auch ein paar Taktzyklen verbrauchen.oDOSseus hat geschrieben:Ich programmiere gerade wieder assembler neben den Vorkursen her und frug mich:
Ist die Textausgabe per int 10h eig. immer langsamer als das direkte Schreiben an die Stelle 0xB800 oder muss man schon einiges auf dem kasten haben, um es schneller zu machen?
Ihr wisst es doch bestimmt: Was ist schneller: Int 10h oder eine eigene routine?
Auch muss erst der Funktionscode(0Eh) im AH-Register ausgewertet werden, dabei wird auch überprüft ob zu anderen Funktionen verzweigt werden soll, bis eindeutig fest steht das im AH-Register 0Eh vorhanden ist und zu der dafür vorhandenen Routine verzweigt wird und nun erst die Textausgabe erfolgen kann.
Eine Textausgabe über "int21h AH=9" zum Bildschirm wird noch langsamer sein, weil von dort aus erst der int10h ausgeführt wird aber vorher noch geschaut wird, ob die Ausgabe nicht zu einem anderen Gerät/Datei umgeleitet wurde.
Dirk
Re: INT oder direkter Speicherzugriff
Allerbesten Dank =)