We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS
DBNZ (SPC700): Difference between revisions
From SnesLab
(improve description about memory) |
(ordering of operand bytes) |
||
Line 42: | Line 42: | ||
|} | |} | ||
'''DBNZ''' is an [[SPC700]] instruction that decrements a [[direct page]] location or the [[Y index register]] and then jumps if that value is nonzero. | '''DBNZ''' is an [[SPC700]] instruction that decrements a [[direct page]] location or the [[Y index register]] and then jumps if that value is nonzero. The direct page index is the first operand and also the first byte immediately following the opcode. The relative branch offset is the second operand, the second byte following the opcode.<sup>[2]</sup> | ||
=== See Also === | === See Also === | ||
Line 48: | Line 48: | ||
* [[JNZ]] | * [[JNZ]] | ||
=== | === References === | ||
# Official Super Nintendo development manual on DBNZ: [https://archive.org/details/SNESDevManual/book1/page/n234 Appendix C-8 of Book I] | |||
# [https://www.romhacking.net/documents/197 anomie's SPC700 doc] | |||
[[Category:ASM]] | [[Category:ASM]] | ||
[[Category:SPC700]] | [[Category:SPC700]] | ||
[[Category:Branching Commands]] | [[Category:Branching Commands]] |
Revision as of 17:16, 24 July 2023
Basic Info | |||||||
---|---|---|---|---|---|---|---|
Addressing Mode | Opcode | Length | Speed | ||||
Direct Page / Program Counter Relative | 6E | 3 bytes | when condition is false: 5 cycles
when condition is true: 7 cycles |
||||
Implied (type 1) / Program Counter Relative | FE | 2 bytes | when condition is false: 4 cycles
when condition is true: 6 cycles |
Flags Affected | |||||||
---|---|---|---|---|---|---|---|
N | V | P | B | H | I | Z | C |
. | . | . | . | . | . | . | . |
DBNZ is an SPC700 instruction that decrements a direct page location or the Y index register and then jumps if that value is nonzero. The direct page index is the first operand and also the first byte immediately following the opcode. The relative branch offset is the second operand, the second byte following the opcode.[2]
See Also
References
- Official Super Nintendo development manual on DBNZ: Appendix C-8 of Book I
- anomie's SPC700 doc