We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS
PHA: Difference between revisions
From SnesLab
(→External Links: Carr page) |
(deindent cycle penalty) |
||
(13 intermediate revisions by the same user not shown) | |||
Line 35: | Line 35: | ||
|} | |} | ||
'''PHA''' (PusH Accumulator) is a 65x instruction that pushes the accumulator to the [[stack]]. If the accumulator is 16 bits wide, the high byte is pushed first. | '''PHA''' (PusH Accumulator) is a 65x instruction that pushes the value in the [[accumulator]] to the [[stack]]. If the accumulator is 16 bits wide, the high byte is pushed first. The [[stack pointer]] is decremented by the number of bytes pushed. | ||
===== Cycle Penalty | No flags are affected. | ||
==== Syntax ==== | |||
<pre> | |||
PHA | |||
</pre> | |||
==== Cycle Penalty ==== | |||
* PHA takes one extra cycle if the accumulator is 16 bits wide. | * PHA takes one extra cycle if the accumulator is 16 bits wide. | ||
Line 49: | Line 56: | ||
=== External Links === | === External Links === | ||
* [[Eyes & Lichty]] | * [[Eyes & Lichty]], [https://archive.org/details/0893037893ProgrammingThe65816/page/476 page 476] on PHA | ||
* [[Labiak]] | * [[Labiak]], [https://archive.org/details/Programming_the_65816/page/n170 page 160] on PHA | ||
* [[MCS6500 Manual]] | * 8.5 on [[MCS6500 Manual]], [https://archive.org/details/mos_microcomputers_programming_manual/page/n136 page 117] on PHA | ||
* [[Carr]] | * [[Carr]], [https://archive.org/details/6502UsersManual/page/n280 page 267] on PHA | ||
* [[Leventhal]] | * [[Leventhal]], [https://archive.org/details/6502-assembly-language-programming/page/n130 page 3-81] on PHA | ||
[[Category:ASM]] | [[Category:ASM]] | ||
Line 59: | Line 66: | ||
[[Category:Push Instructions]] | [[Category:Push Instructions]] | ||
[[Category:One-byte Instructions]] | [[Category:One-byte Instructions]] | ||
[[Category:Three-cycle Instructions]] |
Latest revision as of 17:40, 23 August 2024
Basic Info | |||||||
---|---|---|---|---|---|---|---|
Addressing Mode | Opcode | Length | Speed | ||||
Stack (Push) | 48 | 1 byte | 3 cycles* |
Flags Affected | ||||||||
---|---|---|---|---|---|---|---|---|
N | V | M | X | D | I | Z | C | |
. | . | . | . | . | . | . | . |
PHA (PusH Accumulator) is a 65x instruction that pushes the value in the accumulator to the stack. If the accumulator is 16 bits wide, the high byte is pushed first. The stack pointer is decremented by the number of bytes pushed.
No flags are affected.
Syntax
PHA
Cycle Penalty
- PHA takes one extra cycle if the accumulator is 16 bits wide.
See Also
External Links
- Eyes & Lichty, page 476 on PHA
- Labiak, page 160 on PHA
- 8.5 on MCS6500 Manual, page 117 on PHA
- Carr, page 267 on PHA
- Leventhal, page 3-81 on PHA