was is schneller???
-
hi,
als ich grad so in nem tutorial stöberte stellte ich mir olgende frage:
wenn ich permov ah,01h int 21h
auf ein zeichen warte
ist es dann schneller wenn ichcmp al,'z' je charZ ...
oder
sub al,122d jz charZ ...
ich hoffe mal ihr habt verstanden was ich meine!
danke schonmal für antworten jeglicher art!
-
ich denke cmp, weil es das ergebnis nicht nach AL schreiben muss. miss doch einfach nach, dann weisst du es ganz sicher.
außerdem gibt es keinen unterschied zwischen 'z' und 122, weil der assembler das 'z' beim assemblieren durch eine hexadezimalzahl ersetzt. je und jz ist auch das gleiche, beide springen wenn das zeroflag gesetzt ist, je ist einfach nur für die lesbarkeit.
-
es ging auch nicht darum ob 'z' das gleiche ist wie 122, sondern um den vergleich zwischen sub : cmp!
trotzdem danke für die antwort!!!
-
cmp ist schneller und sollte auch fuer Vergleiche verwendet werden, wenn das Ergebnis der Subtraktion nicht ohnehin benoetigt wird.
Obwohl die Geschwindigkeit selbst auf dem 286 schon kaum einen Unterschied darstellte (gleichschnell bei (e)ax - 2cl Unterschied bei Speicheroperationen)