We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS
STOP (SPC700): Difference between revisions
From SnesLab
(moved tables up) |
(EI/DI no effect) |
||
(17 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{| class="wikitable" style="float:right;clear:right;width: | {| class="wikitable" style="float:right;clear:right;width:40%" | ||
!colspan="8"|Basic Info | !colspan="8"|Basic Info | ||
|+ | |+ | ||
Line 7: | Line 7: | ||
|'''Speed''' | |'''Speed''' | ||
|+ | |+ | ||
| | |[[Implied]] (type 3) | ||
|FF | |FF | ||
|1 byte | |1 byte | ||
Line 14: | Line 14: | ||
{| class="wikitable" style="float:right;clear:right;width:30%" | {| class="wikitable" style="float:right;clear:right;width:30%" | ||
!colspan="8"|Flags | !colspan="8"|Flags Affected | ||
|+ | |+ | ||
|N | |[[Negative Flag|N]] | ||
|V | |[[Overflow Flag|V]] | ||
|P | |[[Direct Page Flag|P]] | ||
|B | |[[Break Flag|B]] | ||
|H | |[[Half-Carry Flag|H]] | ||
|I | |[[Interrupt Enable Flag|I]] | ||
|Z | |[[Zero Flag|Z]] | ||
|C | |[[Carry Flag|C]] | ||
|+ | |+ | ||
|. | |. | ||
Line 35: | Line 35: | ||
|} | |} | ||
'''STOP''' is an [[SPC700]] standby instruction. | '''STOP''' is an [[SPC700]] standby instruction. It hangs the [[S-SMP]] until reset. <sup>[2]</sup> Nintendo does not want you to use this instruction.<sup>[3]</sup> | ||
[[EI]] and [[DI]] have no effect on the behavior of STOP. | |||
No flags are affected. | |||
==== Syntax ==== | |||
<pre> | |||
STOP | |||
</pre> | |||
Perhaps STOP would have been more useful if the APU supported hardware interrupts. | |||
=== See Also === | === See Also === | ||
* [[NOP (SPC700)]] | * [[NOP (SPC700)]] | ||
* [[SLEEP]] | * [[SLEEP]] | ||
* [[STP]] | |||
=== | === References === | ||
# Official Super Nintendo development manual on STOP: Table C-20 in [https://archive.org/details/SNESDevManual/book1/page/n235 Appendix C-10 of Book I] | |||
# https://problemkaputt.de/fullsnes.htm#snesapuspc700cpujumpcontrolcommands | |||
# Summary of SPC700 Commands, [https://archive.org/details/SNESDevManual/book1/page/n226 Appendix C-1] | |||
# anomie: https://github.com/yupferris/TasmShiz/blob/8fabc9764c33a7ae2520a76d80ed7220bb939f12/spc700.txt#L585 | |||
[[Category:ASM]] | [[Category:ASM]] | ||
[[Category:SPC700]] | [[Category:SPC700]] | ||
[[Category:Other SPC700 Commands]] | |||
[[Category:One-byte Instructions]] |
Latest revision as of 06:03, 22 July 2024
Basic Info | |||||||
---|---|---|---|---|---|---|---|
Addressing Mode | Opcode | Length | Speed | ||||
Implied (type 3) | FF | 1 byte | 3 cycles |
Flags Affected | |||||||
---|---|---|---|---|---|---|---|
N | V | P | B | H | I | Z | C |
. | . | . | . | . | . | . | . |
STOP is an SPC700 standby instruction. It hangs the S-SMP until reset. [2] Nintendo does not want you to use this instruction.[3]
EI and DI have no effect on the behavior of STOP.
No flags are affected.
Syntax
STOP
Perhaps STOP would have been more useful if the APU supported hardware interrupts.
See Also
References
- Official Super Nintendo development manual on STOP: Table C-20 in Appendix C-10 of Book I
- https://problemkaputt.de/fullsnes.htm#snesapuspc700cpujumpcontrolcommands
- Summary of SPC700 Commands, Appendix C-1
- anomie: https://github.com/yupferris/TasmShiz/blob/8fabc9764c33a7ae2520a76d80ed7220bb939f12/spc700.txt#L585