Prüfen, ob eine Zahl 0 ist (schnelle Methode)
30.12.2005
Author: N43
Der klassische Weg führt über den Mnenomic cmp. Es gibt aber eine für den Computer schnellere Lösung.
Wendet man eine oder-Operation einer Zahl auf diese selbst an, so ändert sich ihr Wert nicht.
In Assembler würde das folgenermaßen aussehen:
ASM - Code:
or eax, eax
Soweit so gut, aber was bringt uns das?
Der Computer setzt nach einer Operation, deren Ergebnis 0 ergab das Zero-Flag. Deshalb kann man mit der oder-Operation auch prüfen, ob eine Zahl 0 ist.
In Assembler sieht das dann so aus:
ASM - Code:
or eax, eax
jz is_zero
is_zero:
;hier den Code einfügen, der ausgeführt werden soll, wenn die Zahl 0 ist.
jz is_zero
is_zero:
;hier den Code einfügen, der ausgeführt werden soll, wenn die Zahl 0 ist.
Deine Meinung ist gefragt:
Sei der Erste und teile uns Deine Meinung mit.
Kommentare