We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS

Program Counter: Difference between revisions

From SnesLab
Jump to: navigation, search
(→‎References: Pickens)
(cycle penalty)
Line 1: Line 1:
The '''Program Counter''' (PC) keeps track of which instruction is currently executing.  If incremented past FFFFh, it wraps around to zero.
The '''Program Counter''' (PC) keeps track of which instruction is currently executing.  If incremented past FFFFh, it wraps around to zero.
The 6502 had 16-bit absolute addressing but only an 8-bit adder, so in [[emulation mode]] branches that cross a page boundary incur a one cycle penalty.


On the [[S-SMP]] it is 16 bits wide.  The low byte is called PCL and the high byte is called PCH.
On the [[S-SMP]] it is 16 bits wide.  The low byte is called PCL and the high byte is called PCH.
Line 14: Line 16:
* subparagraph 8.1.4 on [https://archive.org/details/SNESDevManual/book1/page/n182 page 3-8-4 of Book I] of the official Super Nintendo development manual
* subparagraph 8.1.4 on [https://archive.org/details/SNESDevManual/book1/page/n182 page 3-8-4 of Book I] of the official Super Nintendo development manual
* Pickens, John. http://www.6502.org/tutorials/6502opcodes.html#PC
* Pickens, John. http://www.6502.org/tutorials/6502opcodes.html#PC
* http://www.6502.org/tutorials/65c816opcodes.html#6.2.1.1


[[Category:ASM]]
[[Category:ASM]]
[[Category:Registers]]
[[Category:Registers]]
[[Category:Inherited from 6502]]
[[Category:Inherited from 6502]]

Revision as of 21:55, 22 July 2024

The Program Counter (PC) keeps track of which instruction is currently executing. If incremented past FFFFh, it wraps around to zero.

The 6502 had 16-bit absolute addressing but only an 8-bit adder, so in emulation mode branches that cross a page boundary incur a one cycle penalty.

On the S-SMP it is 16 bits wide. The low byte is called PCL and the high byte is called PCH.

See Also

References