We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS
STZ: Difference between revisions
From SnesLab
(additional cycles) |
(clarified which admodes apply to which penalties) |
||
Line 50: | Line 50: | ||
|} | |} | ||
'''STZ''' (Store Zero) is a [[65c816]] instruction that zeros out memory. STZ takes one additional cycle if the accumulator is 16 bits wide. STZ takes another additional cycle if the low byte of the [[direct page register]] is nonzero. | '''STZ''' (Store Zero) is a [[65c816]] instruction that zeros out memory. STZ takes one additional cycle if the accumulator is 16 bits wide, in all [[addressing modes]]. In [[direct page addressing]] modes only, STZ takes another additional cycle if the low byte of the [[direct page register]] is nonzero. | ||
=== See Also === | === See Also === |
Revision as of 21:51, 19 November 2023
Basic Info | |||||||
---|---|---|---|---|---|---|---|
Addressing Mode | Opcode | Length | Speed | ||||
absolute | 9C | 3 bytes | 4 cycles* | ||||
direct page | 64 | 2 bytes | 3 cycles* | ||||
absolute indexed X | 9E | 3 bytes | 5 cycles* | ||||
direct page indexed X | 74 | 2 bytes | 4 cycles* |
Flags Affected | ||||||||
---|---|---|---|---|---|---|---|---|
N | V | M | X | D | I | Z | C | |
. | . | . | . | . | . | . | . |
STZ (Store Zero) is a 65c816 instruction that zeros out memory. STZ takes one additional cycle if the accumulator is 16 bits wide, in all addressing modes. In direct page addressing modes only, STZ takes another additional cycle if the low byte of the direct page register is nonzero.
See Also
External Links
- Eyes & Lichty page on STZ: https://archive.org/details/0893037893ProgrammingThe65816/page/n533
- Labiak page on STZ: https://archive.org/details/Programming_the_65816/page/n198
- snes9x implementation of STZ: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L1317
- undisbeliever on STZ: https://undisbeliever.net/snesdev/65816-opcodes.html#stz-store-zero-to-memory