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

INC: Difference between revisions

From SnesLab
Jump to: navigation, search
(→‎External Links: hid archive URL for Leventhal)
(→‎Cycle Penalties: deindented)
Line 72: Line 72:
To test for wraparound, examine the [[zero flag]].  If you need to add two or more to the [[accumulator]], consider [[ADC]] instead of INC.
To test for wraparound, examine the [[zero flag]].  If you need to add two or more to the [[accumulator]], consider [[ADC]] instead of INC.


===== Cycle Penalties =====
==== Cycle Penalties ====
* Except in [[accumulator addressing]], INC takes two extra cycles when the accumulator is 16 bits wide.
* Except in [[accumulator addressing]], INC takes two extra cycles when the accumulator is 16 bits wide.
* In [[direct page addressing]] modes, INC takes an extra cycle if the low byte of the [[direct page register]] is nonzero.
* In [[direct page addressing]] modes, INC takes an extra cycle if the low byte of the [[direct page register]] is nonzero.

Revision as of 17:51, 23 August 2024

Basic Info
Addressing Mode Opcode Length Speed
Accumulator 1A 1 byte 2 cycles
Absolute EE 3 bytes 6 cycles*
Direct Page E6 2 bytes 5 cycles*
Absolute Indexed by X FE 3 bytes 7 cycles*
Direct Page Indexed by X F6 2 bytes 6 cycles*
Flags Affected
N V M X D I Z C
N . . . . . Z .

INC (Increment) is a 65x instruction that increments the value in the location specified by one. The size of the accumulator determines whether this is an 8 or 16 bit operation. An alternate mnemonic when the operand is the accumulator is "INA."

INC ignores the decimal mode flag and the carry flag.

Syntax

INC
INC A
INA
INC addr
INC dp
INC addr, X
INC dp, X

To test for wraparound, examine the zero flag. If you need to add two or more to the accumulator, consider ADC instead of INC.

Cycle Penalties

See Also

External Links