Takte JNZ-Befehl

Hallo!

Ich würde gerne wissen, wann ein JNZ-Befehl mit 7 Takten und wann mit 10 Takten ausgeführt wird.
In dem aktuellen, mir vorliegenden Fall, wird zu erst "CPI 19H" ausgeführt - der vergleichende Wert ist 16H. Das bedeutet ja eigentlich, dass das Z = 0 ist. Der nächste Befehl wäre "JNZ LOOP" was nun ja bedeuten würde, dass bei Z=0 ein LOOP ausgeführt wird.
Würde der JNZ-Befehl nun 10 Takte benötigen?

Ich hoffe, dass das nicht ganz falsch ist, was ich oben beschrieben habe.

Besten Dank im Voraus.

Viele Grüße,
Orcams
 
AW: Takte JNZ-Befehl

Hi!


Ja, er würde 10 Maschinenzyklen benötigen.

Ein ausgeführter Sprung benötigt 10 Maschinenzyklen während ein nicht ausgeführter nur 7 benötigt.


Grüße an die Füße, 8)
Christian
 
AW: Takte JNZ-Befehl

Christian, vielen Dank! :)
Ich sehe, Du bist mir eine große Hilfe bei diesem Thema!

Wo wir gerade bei dem JNZ-Befehl sind. Kannst Du mir evtl. noch erläutern, warum es "springe bei Nicht Null" heißt und dann bei Z=0 gesprungen wird?
...und bei JZ heißt es "springe bei Null" und man springt bei Z=1.
Irgend etwas habe ich hier sicher übersehen, oder ist es einfach so? o_O

Nochmals vielen Dank im Voraus!

Viele Grüße,
Orcams
 
AW: Takte JNZ-Befehl

Hey Orcams!


...freut mich zu hören! :D

Z = Zero Flag
Dieses Flag wird gesetzt, wenn das Ergebnis 0 ist.

Bei JNZ soll gesprungen werden, wenn das Ergebnis verschieden von 0 ist; d.h. Das ZeroFlag NICHT gesetzt ist --> Z = False = 0.


Grüße, 8)
Christian
 
Top