Fixed cycle delay: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(Updated explanations; added one more loop mode)
 
(16 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Shortest possible CPU code that creates N cycles of delay, depending on constraints.


== Delay code ==
== Code ==
 
Shortest possible CPU code that creates N cycles of delay, depending on constraints.


All code samples are written for CA65.
All code samples are written for CA65.
Line 8: Line 7:
Assumptions:
Assumptions:
* No page wrap occurs during any branch instruction. If a page wrap occurs, it adds +1 cycle for each loop, completely thwarting the accurate delay.
* No page wrap occurs during any branch instruction. If a page wrap occurs, it adds +1 cycle for each loop, completely thwarting the accurate delay.
* No interrupt / NMI occurs during the delay code. Code samples where an interrupt could cause data corruption are separately indicated.
* No interrupt / NMI occurs during the delay code.
 
It is possible to verify on compile time that no page wrap occurs,
by replacing all branches with these macros:
<pre>.macro branch_check opc, dest
    opc dest
    .assert >* = >(dest), warning, "branch_check: failed, crosses page"
.endmacro
.macro Jcc dest
        branch_check bcc, dest
.endmacro
.macro Jcs dest
        branch_check bcs, dest
.endmacro
.macro Jeq dest
        branch_check beq, dest
.endmacro
.macro Jne dest
        branch_check bne, dest
.endmacro
.macro Jmi dest
        branch_check bmi, dest
.endmacro
.macro Jpl dest
        branch_check bpl, dest
.endmacro
.macro Jvc dest
        branch_check bvc, dest
.endmacro
.macro Jvs dest
        branch_check bvs, dest
.endmacro</pre>


It is permissible for DMA to steal cycles during the loops.
It is permissible for DMA to steal cycles during the loops.
Line 46: Line 14:
in order to get the correct delay.
in order to get the correct delay.


Explanations on the requirements:
=== Explanations on the requirements ===
* @zptemp means you have a zeropage address that you can write random data into.
 
* @rti means you have a dummy interrupt handler installed that does nothing but <code>RTI</code>.
* @rts12 means you know a memory address that contains byte $60 (<code>RTS</code>).
* @rts12 means you know a memory address that contains byte $60 (<code>RTS</code>).
* @rts14 means you know a memory address that contains a harmless 2-cycle instruction that fits your constraints (such as <code>CLC</code>, <code>LDA #0</code>, or <code>NOP</code>), followed by <code>RTS</code>.
cycle instruction that fits your constraints (such as <code>LDA $00</code>), followed by <code>RTS</code>.
* @rts15 means you know a memory address that contains a <code>JMP</code> that jumps to another location that contains <code>RTS</code>. Alternatively, it means you know a memory address that contains a harmless 3-cycle instruction that fits your constraints (such as <code>LDA $00</code>), followed by <code>RTS</code>.
 
* delay_a_25_clocks, delay_256a_16_clocks, delay_256a_x_33_clocks, delay_256a_x_31_clocks, and delay_256x_a_30_clocks are defined at [[Delay code]].
=== Instructions, addressing modes, byte counts, cycle counts and notes ===
* "Unsafe for interrupts" means that even though the S register is not clobbered, data corruption will occur if an interrupt/NMI happens in the middle of the delay code.
 
{| class="wikitable testtable"
! scope="col"| Addressing mode
! scope="col"| Instruction type
! scope="col"| Bytes
! scope="col"| Cycle count
! scope="col"| Example instruction
! scope="col"| Notes
|-
! scope="row"| Implied
! scope="row"| Inter-register
| 1 || 2 || <code>TAX</code> || <code>NOP</code> has no side effects. Flag-manipulations like <code>CLC</code>, and <code>SEC</code><code>CLV</code> are used when their effects are desired.
|-
! scope="row"| Implied
! scope="row"| Stack push
| 1 || 3 || <code>PHA</code> || <code>PHP</code> is only paired with <code>PLP</code>.
|-
! scope="row"| Implied
! scope="row"| Stack pop
| 1 || 4 || <code>PLA</code> ||
|-
! scope="row"| Implied
! scope="row"| Return
| 1 || 6 || <code>RTS</code> || Used indirectly when paired with <code>JSR</code>. Similarly for <code>RTI</code>.
|-
! scope="row"| Immediate
! scope="row"|
| 2 || 2 || <code>CMP #$C5</code> || Includes instructions like <code>LDA</code>, <code>LDX</code> and <code>LDY</code>. Other ALU instructions are used in more complex situations.
|-
! scope="row"| Relative
! scope="row"| Branch
| 2 || 2—4 || <code>BCC *+2</code> || Branch takes 3 cycles when taken, 2 otherwise. A page crossing adds +1 cycle when branch is taken, but because of difficulties setting that up, we don't use it.
|-
! scope="row"| Zeropage
! scope="row"| Read, write
| 2 || 3 || <code>LDA $A5</code>
|-
! scope="row"| Zeropage
! scope="row"| RMW
| 2 || 5 || <code>INC @zptemp</code> || Writing to zeropage is only permitted when @zptemp is available. Technically we could save @zptemp into register and restore at end, but it is bytewise inferior to other techniques.
|-
! scope="row"| Zeropage indexed
! scope="row"| Read, write
| 2 || 4 || <code>LDA $EA,X</code> || Inferior to 2 × <code>NOP</code>, but useful for hiding additional code to be executed in a loop.
|-
! scope="row"| Zeropage indexed
! scope="row"| RMW
| 2 || 6 || <code>INC @zptemp,X</code> || Only doable when X is known to be 0, or when entire zeropage can be clobbered.
|-
! scope="row"| Indexed indirect
! scope="row"| Read, write
| 2 || 6 || <code>STA (@ptrtemp,X)</code> || Only doable when X is known to be 0.
|-
! scope="row"| Indexed indirect
! scope="row"| RMW
| 2 || 8 || <code>SLO (@ptrtemp,X)</code> || The most cost-effective instruction. Only doable when X is known to be 0, lest we write to a random address. All instructions in this category are unofficial.
|-
! scope="row"| Indirect indexed
! scope="row"| Read
| 2 || 5—6 || <code>LDA (@ptrtemp),Y</code> || Never used by this code.
|-
! scope="row"| Indirect indexed
! scope="row"| Write
| 2 || 6        || <code>STA (@ptrtemp),Y</code> || Only doable when Y is known to be 0.
|-
! scope="row"| Indirect indexed
! scope="row"| RMW
| 2 || 8        || <code>SLO (@ptrtemp),Y</code> || All instructions in this category are unofficial.
|-
! scope="row"| Absolute
! scope="row"| Jump
| 3 || 3 || <code>JMP *+3</code> ||
|-
! scope="row"| Absolute
! scope="row"| Read, write
| 3 || 4 || <code>LDA $2808</code> || Inferior to 2 × <code>NOP</code>, but can be used carefully to hide additional code to be executed in a loop.
|-
! scope="row"| Absolute
! scope="row"| RMW
| 3 || 6 || <code>INC $4018</code> || Inferior to 3 × <code>NOP</code>.
|-
! scope="row"| Absolute indexed
! scope="row"| Read
| 3 || 4—5 || <code>LDA $0200,X</code> || Inferior to shorter alternatives.
|-
! scope="row"| Absolute indexed
! scope="row"| Write
| 3 || 5 || <code>STA $0200,X</code> || Inferior to shorter alternatives.
|-
! scope="row"| Absolute indexed
! scope="row"| RMW
| 3 || 7 || <code>INC $4018,X</code> || Only doable when writing into the given address is harmless considering the possible values of X.
|-
! scope="row"| Absolute indirect
! scope="row"| Jump
| 3 || 5 || <code>JMP (@ptrtemp)</code> || Inferior to shorter alternatives.
|}


{{#css:
{{#css:
Line 72: Line 135:
=== 3 cycles ===
=== 3 cycles ===
{| class="wikitable testtable"
{| class="wikitable testtable"
!colspan="2"|1 bytes
|-
|<pre>48      PHA</pre>||Clobbers S; and writes in stack
|-
!colspan="2"|2 bytes
!colspan="2"|2 bytes
|-
|-
Line 87: Line 146:
|-
|-
|<pre>A4 A4    LDY $A4</pre>||Clobbers Y, and Z&N
|<pre>A4 A4    LDY $A4</pre>||Clobbers Y, and Z&N
|-
|<pre>85 xx    STA @zptemp</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04</pre>||Requires support for unofficial opcodes
|-
|-
!colspan="2"|3 bytes
!colspan="2"|3 bytes
|-
|-
|<pre>4C xx xx JMP *+3</pre>||Not relocatable code
|<pre>4C xx xx JMP *+3</pre>||No requirements
|-
|-
|}
|}
Line 102: Line 157:
=== 4 cycles ===
=== 4 cycles ===
{| class="wikitable testtable"
{| class="wikitable testtable"
!colspan="2"|1 bytes
!colspan="2"|2 bytes
|-
|<pre>68      PLA</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|2 bytes
|-
|-
|<pre>EA  ... NOP      &times; 2</pre>||No requirements
|<pre>EA  ... NOP      × 2</pre>||No requirements
|-
|-
|}
|}
* zp-indexed modes such as <code>LDA $00,X</code> also do 4 cycles, but having side effects, these two-byte instructions are inferior to a simple 2 &times; <code>NOP</code>.
* zp-indexed modes such as <code>LDA $00,X</code> also do 4 cycles, but having side effects, these two-byte instructions are inferior to a simple 2 × <code>NOP</code>.
* There is also an unofficial opcode <code>NOP $00,X</code> (34 00), but there is no reason to use this instruction when the official equivalent has the same performance.
* There is also an unofficial opcode <code>NOP $00,X</code> (34 00), but there is no reason to use this instruction when the official equivalent has the same performance.


Line 117: Line 168:
=== 5 cycles ===
=== 5 cycles ===
{| class="wikitable testtable"
{| class="wikitable testtable"
!colspan="2"|2 bytes
|-
|<pre>E6 xx    INC @zptemp</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>EA      NOP
48      PHA</pre>||Clobbers S; and writes in stack
|-
!colspan="2"|3 bytes
!colspan="2"|3 bytes
|-
|-
Line 140: Line 184:
|<pre>EA      NOP
|<pre>EA      NOP
A4 A4    LDY $A4</pre>||Clobbers Y, and Z&N
A4 A4    LDY $A4</pre>||Clobbers Y, and Z&N
|-
|<pre>EA      NOP
85 xx    STA @zptemp</pre>||Requires @zptemp
|-
|<pre>EA      NOP
04 04    NOP $04</pre>||Requires support for unofficial opcodes
|-
|-
!colspan="2"|4 bytes
!colspan="2"|4 bytes
|-
|-
|<pre>EA      NOP
|<pre>EA      NOP
4C xx xx JMP *+3</pre>||Not relocatable code
4C xx xx JMP *+3</pre>||No requirements
|-
|-
|}
|}
Line 158: Line 196:
=== 6 cycles ===
=== 6 cycles ===
{| class="wikitable testtable"
{| class="wikitable testtable"
!colspan="2"|2 bytes
|-
|<pre>F6 F6    INC $F6,X</pre>||Clobbers Z&N; and requires @zptemp, and writable $00-$FF
|-
|<pre>48  ... PHA      &times; 2</pre>||Clobbers S; and writes in stack
|-
|<pre>EA      NOP
68      PLA</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|3 bytes
!colspan="2"|3 bytes
|-
|-
|<pre>EA  ... NOP      &times; 3</pre>||No requirements
|<pre>EA  ... NOP      × 3</pre>||No requirements
|-
|-
|}
|}
* zp-indexed RMW instructions such as <code>INC @zptemp,X</code> do 6 cycles. Unless we know the value of X, it might write into any address between $00-$FF, which is this option is only useful if the entire range of $00-$FF is free for clobbering with random data.
* zp-indexed RMW instructions such as <code>INC @zptemp,X</code> do 6 cycles. Unless we know the value of X, it might write into any address between $00-$FF. This option is only useful if the entire range of $00-$FF is free for clobbering with random data, or if X has a known value.
* ix instructions like <code>LDA ($00,X)</code> do 6 cycles, but the value of X decides where a pointer is read from, and said pointer can point anywhere, we only do that when the value of X is known.
* ix instructions like <code>LDA ($00,X)</code> do 6 cycles, but the value of X decides where a pointer is read from, and said pointer can point anywhere. We only do that when the value of X is known.
* iy instructions like <code>LDA ($00),Y</code> also do 5-6 cycles, but in addition to the note above, we cannot predict whether a wrap occurs or not. So we don't use this mode.
* iy instructions like <code>LDA ($00),Y</code> also do 5-6 cycles, but in addition to the note above, we cannot predict whether a wrap occurs or not. So we don't use this mode.
* Absolute RMW instructions like <code>INC $2000</code> do 6 cycles, but weighing 3 bytes with side-effects it would be inferior to 3 &times; <code>NOP</code>.
* Absolute RMW instructions like <code>INC $4018</code> do 6 cycles, but weighing 3 bytes with side-effects it would be inferior to 3 × <code>NOP</code>.




Line 183: Line 212:
|-
|-
|<pre>08      PHP
|<pre>08      PHP
28      PLP</pre>||Writes in stack
28      PLP</pre>||No requirements
|-
|<pre>68      PLA
48      PHA</pre>||Clobbers A, and Z&N
|-
!colspan="2"|3 bytes
|-
|<pre>EA      NOP
E6 xx    INC @zptemp</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>FE 00 02 INC $0200,X</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
!colspan="2"|4 bytes
|-
|<pre>18  ... CLC      &times; 2
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 2
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>A6 A6    LDX $A6
EA  ... NOP      &times; 2</pre>||Clobbers X, and Z&N
|-
|<pre>A4 A4    LDY $A4
EA  ... NOP      &times; 2</pre>||Clobbers Y, and Z&N
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 2</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 2</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|5 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 2</pre>||Not relocatable code
|-
|-
|}
|}
* <code>PHP-PLP</code> is very efficient for 7 cycles of delay, but it does modify stack contents. S register remains unchanged though.
* <code>PHP-PLP</code> is very efficient for 7 cycles of delay, but it does modify stack contents. S register remains unchanged though.
* <code>PLA-PHA</code> does not overwrite any bytes in stack. It just writes back the same byte. But it does clobber A and Z+N.
* <code>PLA-PHA</code> does not overwrite any bytes in stack. It just writes back the same byte. But it does clobber A and Z+N. It is not interrupt-unsafe either: If an interrupt happens, the stack byte does get temporarily clobbered, but the value is still in A when the interrupt exits, and gets written back in stack.
* abs-indexed RMW instructions such as <code>INC abs,X</code> do 7 cycles. We only do this either we know the value of X, or when the entire 256-byte page can be safely overwritten with random data.
* abs-indexed RMW instructions such as <code>INC abs,X</code> do 7 cycles. We only do this when either we know the value of X (for instance, <code>INC $4018,X</code> is safe when X is 0&mdash;7</code>, or when the entire 256-byte page can be safely overwritten with random data.




=== 8 cycles ===
=== 8 cycles ===
{| class="wikitable testtable"
{| class="wikitable testtable"
!colspan="2"|2 bytes
|-
|<pre>68  ... PLA      &times; 2</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|3 bytes
|-
|<pre>BA      TSX
68      PLA
9A      TXS</pre>||Clobbers A, X, and Z&N; and unsafe for interrupts
|-
|<pre>EA      NOP
F6 F6    INC $F6,X</pre>||Clobbers Z&N; and requires @zptemp, and writable $00-$FF
|-
|<pre>EA      NOP
48  ... PHA      &times; 2</pre>||Clobbers S; and writes in stack
|-
!colspan="2"|4 bytes
!colspan="2"|4 bytes
|-
|-
|<pre>EA  ... NOP      &times; 4</pre>||No requirements
|<pre>EA  ... NOP      × 4</pre>||No requirements
|-
|-
|}
|}
Line 268: Line 236:
|<pre>EA      NOP
|<pre>EA      NOP
08      PHP
08      PHP
28      PLP</pre>||Writes in stack
28      PLP</pre>||No requirements
|-
|-
|<pre>EA      NOP
|}
68      PLA
48      PHA</pre>||Clobbers A, and Z&N
|-
!colspan="2"|4 bytes
|-
|<pre>A2 AE    LDX #$AE  ;hides 'LDX $FDD0'
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A0 AC    LDY #$AC  ;hides 'LDY $FDD0'
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>EA  ... NOP      &times; 2
E6 xx    INC @zptemp</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>EA      NOP
FE 00 02 INC $0200,X</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>EA      NOP
FE 00 03 INC $0300,X</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>EA      NOP
FE 00 04 INC $0400,X</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>EA      NOP
FE 00 05 INC $0500,X</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>EA      NOP
FE 00 06 INC $0600,X</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>EA      NOP
FE 00 07 INC $0700,X</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
!colspan="2"|5 bytes
|-
|<pre>18  ... CLC      &times; 3
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 3
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 3</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 3</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|6 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 3</pre>||Not relocatable code
|-
|}
* Jumping into the middle of another instruction and thereby reusing code is a very efficient way of reducing code size. Note that all code samples using branches on this page require that no page wrap occurs.
* Jumping into the middle of another instruction and thereby reusing code is a very efficient way of reducing code size. Note that all code samples using branches on this page require that no page wrap occurs.


Line 328: Line 244:
=== 10 cycles ===
=== 10 cycles ===
{| class="wikitable testtable"
{| class="wikitable testtable"
!colspan="2"|3 bytes
|-
|<pre>48      PHA
08      PHP
28      PLP</pre>||Clobbers S; and writes in stack
|-
|<pre>EA      NOP
68  ... PLA      &times; 2</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|4 bytes
!colspan="2"|4 bytes
|-
|<pre>26 26    ROL $26
66 26    ROR $26</pre>||Clobbers Z&N
|-
|-
|<pre>08      PHP
|<pre>08      PHP
24 24   BIT $24
C5 C5   CMP $C5
28      PLP</pre>||Writes in stack
28      PLP</pre>||No requirements
|-
!colspan="2"|5 bytes
|-
|<pre>EA  ... NOP      &times; 5</pre>||No requirements
|-
|-
|}
|}
Line 356: Line 256:
=== 11 cycles ===
=== 11 cycles ===
{| class="wikitable testtable"
{| class="wikitable testtable"
!colspan="2"|3 bytes
|-
|<pre>68  ... PLA      &times; 2
48      PHA</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|4 bytes
!colspan="2"|4 bytes
|-
|-
|<pre>EA  ... NOP      &times; 2
|<pre>EA  ... NOP      × 2
08      PHP
08      PHP
28      PLP</pre>||Writes in stack
28      PLP</pre>||No requirements
|-
|-
|<pre>EA  ... NOP      &times; 2
|}
68      PLA
 
48      PHA</pre>||Clobbers A, and Z&N
 
=== 12 cycles ===
{| class="wikitable testtable"
!colspan="2"|3 bytes
|-
|-
|<pre>E6 xx   INC @zptemp
|<pre>20 xx xx JSR @rts12</pre>||Requires @rts12
F6 F6    INC $F6,X</pre>||Clobbers Z&N; and requires @zptemp, and writable $00-$FF
|-
|-
!colspan="2"|5 bytes
!colspan="2"|4 bytes
|-
|<pre>A2 02    LDX #2
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A0 02    LDY #2
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>E6 xx    INC @zptemp
EA  ... NOP      &times; 3</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>EA  ... NOP      &times; 2
FE 00 02 INC $0200,X</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>EA  ... NOP      &times; 2
FE 00 03 INC $0300,X</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>EA  ... NOP      &times; 2
FE 00 04 INC $0400,X</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>EA  ... NOP      &times; 2
FE 00 05 INC $0500,X</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>EA  ... NOP      &times; 2
FE 00 06 INC $0600,X</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>EA  ... NOP      &times; 2
FE 00 07 INC $0700,X</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
!colspan="2"|6 bytes
|-
|<pre>18  ... CLC      &times; 4
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 4
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 4</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 4</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|7 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 4</pre>||Not relocatable code
|-
|}
 
 
=== 12 cycles ===
{| class="wikitable testtable"
!colspan="2"|3 bytes
|-
|<pre>20 xx xx JSR @rts12</pre>||Requires @rts12; and writes in stack
|-
|<pre>68  ... PLA      &times; 3</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|4 bytes
|-
|-
|<pre>36 36    ROL $36,X
|<pre>36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N
76 36    ROR $36,X</pre>||Clobbers Z&N
|-
|<pre>08      PHP
E6 xx    INC @zptemp
28      PLP</pre>||Requires @zptemp; and writes in stack
|-
|<pre>48  ... PHA      &times; 4</pre>||Clobbers S; and writes in stack
|-
|-
!colspan="2"|5 bytes
!colspan="2"|5 bytes
Line 451: Line 281:
18      CLC
18      CLC
90 00    BCC *+2
90 00    BCC *+2
28      PLP</pre>||Writes in stack
28      PLP</pre>||No requirements
|-
!colspan="2"|6 bytes
|-
|<pre>EA  ... NOP      &times; 6</pre>||No requirements
|-
|-
|}
|}
Line 464: Line 290:
=== 13 cycles ===
=== 13 cycles ===
{| class="wikitable testtable"
{| class="wikitable testtable"
!colspan="2"|2 bytes
!colspan="2"|5 bytes
|-
|-
|<pre>00 00    BRK 0</pre>||Requires dummy interrupt handler; and writes in stack
|<pre>EA  ... NOP      × 3
08      PHP
28      PLP</pre>||No requirements
|-
|-
|}
=== 14 cycles ===
{| class="wikitable testtable"
!colspan="2"|4 bytes
!colspan="2"|4 bytes
|-
|-
|<pre>08      PHP
|<pre>08      PHP      \ × 2
F6 F6    INC $F6,X
28      PLP       /</pre>||No requirements
28       PLP</pre>||Requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>F6 F6    INC $F6,X
68      PLA
48      PHA</pre>||Clobbers A, and Z&N; and requires @zptemp, and writable $00-$FF
|-
|<pre>48  ... PHA      &times; 2
08      PHP
28      PLP</pre>||Clobbers S; and writes in stack
|-
|<pre>EA      NOP
68  ... PLA      &times; 2
48      PHA</pre>||Clobbers A, S, and Z&N
|-
|-
|}
=== 15 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
!colspan="2"|5 bytes
|-
|-
|<pre>EA  ... NOP      &times; 3
|<pre>08      PHP
08      PHP
BA      TSX
28      PLP</pre>||Writes in stack
28      PLP
|-
9A       TXS
|<pre>EA  ... NOP      &times; 3
28       PLP</pre>||Clobbers X
68       PLA
48       PHA</pre>||Clobbers A, and Z&N
|-
|<pre>EA      NOP
E6 xx    INC @zptemp
F6 F6    INC $F6,X</pre>||Clobbers Z&N; and requires @zptemp, and writable $00-$FF
|-
!colspan="2"|6 bytes
|-
|-
|<pre>C5 C5    CMP $C5
|<pre>C5 C5    CMP $C5
26 26    ROL $26
20 xx xx JSR @rts12</pre>||Clobbers Z&N, and C; and requires @rts12
66 26    ROR $26</pre>||Clobbers Z&N, and C
|-
|-
|<pre>24 24    BIT $24
|<pre>24 24    BIT $24
26 26    ROL $26
20 xx xx JSR @rts12</pre>||Clobbers Z&N, and V; and requires @rts12
66 26    ROR $26</pre>||Clobbers Z&N, and V
|-
|-
|<pre>A6 A6   LDX $A6
|<pre>A5 A5   LDA $A5
26 26    ROL $26
20 xx xx JSR @rts12</pre>||Clobbers A, and Z&N; and requires @rts12
66 26    ROR $26</pre>||Clobbers X, and Z&N
|-
|-
|<pre>A4 A4    LDY $A4
|<pre>A4 A4    LDY $A4
26 26    ROL $26
20 xx xx JSR @rts12</pre>||Clobbers Y, and Z&N; and requires @rts12
66 26    ROR $26</pre>||Clobbers Y, and Z&N
|-
|-
|<pre>85 xx    STA @zptemp
!colspan="2"|6 bytes
26 26    ROL $26
66 26    ROR $26</pre>||Clobbers Z&N; and requires @zptemp
|-
|-
|<pre>EA  ... NOP      &times; 3
|<pre>08      PHP
FE 00 02 INC $0200,X</pre>||Clobbers Z&N; and requires writable $200-$2FF
28      PLP
|-
EA  ... NOP      × 4</pre>||No requirements
|<pre>EA  ... NOP      &times; 3
FE 00 03 INC $0300,X</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>EA  ... NOP      &times; 3
FE 00 04 INC $0400,X</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>EA  ... NOP      &times; 3
FE 00 05 INC $0500,X</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>EA  ... NOP      &times; 3
FE 00 06 INC $0600,X</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>EA  ... NOP      &times; 3
FE 00 07 INC $0700,X</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>04 04    NOP $04
26 26    ROL $26
66 26    ROR $26</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|7 bytes
|-
|<pre>18  ... CLC      &times; 5
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 5
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>4C xx xx JMP *+3
26 26    ROL $26
66 26    ROR $26</pre>||Clobbers Z&N; and not relocatable code
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 5</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 5</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|8 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 5</pre>||Not relocatable code
|-
|-
|}
|}




=== 14 cycles ===
=== 16 cycles ===
{| class="wikitable testtable"
{| class="wikitable testtable"
!colspan="2"|3 bytes
|-
|<pre>20 xx xx JSR @rts14</pre>||Requires @rts12, and @rts14; and writes in stack
|-
!colspan="2"|4 bytes
|-
|<pre>08      PHP      \ &times; 2
28      PLP      /</pre>||Writes in stack
|-
|<pre>68      PLA      \ &times; 2
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|5 bytes
!colspan="2"|5 bytes
|-
|-
|<pre>EA      NOP
|<pre>EA      NOP
36 36    ROL $36,X
08      PHP      \ × 2
76 36    ROR $36,X</pre>||Clobbers Z&N
28      PLP      /</pre>||No requirements
|-
!colspan="2"|7 bytes
|-
|<pre>EA  ... NOP      &times; 7</pre>||No requirements
|-
|-
|}
|}




=== 15 cycles ===
=== 17 cycles ===
{| class="wikitable testtable"
{| class="wikitable testtable"
!colspan="2"|3 bytes
!colspan="2"|6 bytes
|-
|-
|<pre>20 xx xx JSR @rts15</pre>||Requires @rts12, and @rts15; and writes in stack
|<pre>08      PHP
48      PHA
A5 A5    LDA $A5
68      PLA
28      PLP</pre>||No requirements
|-
|-
|<pre>EA      NOP
|}
00 00    BRK 0</pre>||Requires dummy interrupt handler; and writes in stack
 
 
=== 18 cycles ===
{| class="wikitable testtable"
!colspan="2"|6 bytes
|-
|-
!colspan="2"|4 bytes
|<pre>EA   ... NOP     × 2
|-
08      PHP      \ × 2
|<pre>68      PLA
28      PLP       /</pre>||No requirements
48      PHA
68   ... PLA     &times; 2</pre>||Clobbers A, S, and Z&N
|-
|<pre>48       PHA
20 xx xx JSR @rts12</pre>||Clobbers S; requires @rts12; and writes in stack
|-
|-
|}
=== 19 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
!colspan="2"|5 bytes
|-
|-
|<pre>08      PHP
|<pre>08      PHP
BA      TSX
28      PLP
28      PLP
9A      TXS
20 xx xx JSR @rts12</pre>||Requires @rts12
28      PLP</pre>||Clobbers X; and writes in stack
|-
|-
|<pre>68      PLA
!colspan="2"|6 bytes
48      PHA
BA      TSX
68      PLA
9A      TXS</pre>||Clobbers A, X, and Z&N; and unsafe for interrupts
|-
|-
|<pre>EA      NOP
|<pre>08      PHP
08      PHP
36 36    ROL $36,X
F6 F6   INC $F6,X
76 36   ROR $36,X
28      PLP</pre>||Requires @zptemp, and writable $00-$FF; and writes in stack
28      PLP</pre>||No requirements
|-
|-
|<pre>EA      NOP
|}
F6 F6    INC $F6,X
 
68      PLA
 
48      PHA</pre>||Clobbers A, and Z&N; and requires @zptemp, and writable $00-$FF
=== 20 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|-
|<pre>C5 C5   CMP $C5
|<pre>A9 2A   LDA #$2A ;hides 'ROL A'
20 xx xx JSR @rts12</pre>||Clobbers Z&N, and C; requires @rts12; and writes in stack
38      SEC
10 FC    BPL *-2</pre>||Clobbers A, Z&N, and C
|-
|-
|<pre>24 24    BIT $24
!colspan="2"|7 bytes
20 xx xx JSR @rts12</pre>||Clobbers Z&N, and V; requires @rts12; and writes in stack
|-
|-
|<pre>A5 A5    LDA $A5
|<pre>EA  ... NOP      × 3
20 xx xx JSR @rts12</pre>||Clobbers A, and Z&N; requires @rts12; and writes in stack
08      PHP      \ × 2
28      PLP      /</pre>||No requirements
|-
|-
|<pre>A4 A4    LDY $A4
|}
20 xx xx JSR @rts12</pre>||Clobbers Y, and Z&N; requires @rts12; and writes in stack
 
 
=== 21 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|-
|<pre>85 xx   STA @zptemp
|<pre>18      CLC
20 xx xx JSR @rts12</pre>||Requires @zptemp, and @rts12; and writes in stack
A9 2A   LDA #$2A ;hides 'ROL A'
|-
90 FD    BCC *-1</pre>||Clobbers A, Z&N, and C
|<pre>04 04    NOP $04
20 xx xx JSR @rts12</pre>||Requires @rts12, and support for unofficial opcodes; and writes in stack
|-
|-
|<pre>48  ... PHA      &times; 5</pre>||Clobbers S; and writes in stack
|<pre>A2 04    LDX #4
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A0 04    LDY #4
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|-
!colspan="2"|6 bytes
!colspan="2"|6 bytes
|-
|-
|<pre>C5 C5    CMP $C5
|<pre>08      PHP      \ × 3
36 36    ROL $36,X
28      PLP      /</pre>||No requirements
76 36    ROR $36,X</pre>||Clobbers Z&N, and C
|-
|-
|<pre>24 24    BIT $24
|}
36 36    ROL $36,X
 
76 36    ROR $36,X</pre>||Clobbers Z&N, and V
 
=== 22 cycles ===
{| class="wikitable testtable"
!colspan="2"|6 bytes
|-
|-
|<pre>08       PHP
|<pre>18       CLC
28       PLP
A9 2A    LDA #$2A ;hides 'ROL A'
EA  ... NOP      &times; 4</pre>||Writes in stack
38       SEC
10 FC    BPL *-2</pre>||Clobbers A, Z&N, and C
|-
|-
|<pre>A5 A5   LDA $A5
|<pre>A2 02   LDX #2
36 36    ROL $36,X
EA      NOP
76 36   ROR $36,X</pre>||Clobbers A, and Z&N
CA      DEX
10 FC   BPL *-2</pre>||Clobbers X, and Z&N
|-
|-
|<pre>A6 A6   LDX $A6
|<pre>A0 03   LDY #3
36 36    ROL $36,X
EA      NOP
76 36   ROR $36,X</pre>||Clobbers X, and Z&N
88      DEY
|-
D0 FC   BNE *-2</pre>||Clobbers Y, and Z&N
|<pre>A4 A4    LDY $A4
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Y, and Z&N
|-
|<pre>E6 xx    INC @zptemp
26 26    ROL $26
66 26    ROR $26</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>04 04    NOP $04
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
|-
!colspan="2"|7 bytes
!colspan="2"|7 bytes
|-
|-
|<pre>4C xx xx JMP *+3
|<pre>08      PHP
36 36    ROL $36,X
BA      TSX
76 36    ROR $36,X</pre>||Clobbers Z&N; and not relocatable code
08      PHP
28  ... PLP      × 2
9A      TXS
28      PLP</pre>||Clobbers X
|-
|-
|<pre>FE 00 02 INC $0200,X
|<pre>08      PHP
EA  ... NOP      &times; 4</pre>||Clobbers Z&N; and requires writable $200-$2FF
C5 C5    CMP $C5
|-
28      PLP
|<pre>FE 00 03 INC $0300,X
20 xx xx JSR @rts12</pre>||Requires @rts12
EA  ... NOP      &times; 4</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
EA  ... NOP      &times; 4</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
EA  ... NOP      &times; 4</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
EA  ... NOP      &times; 4</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
EA  ... NOP      &times; 4</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|-
!colspan="2"|8 bytes
!colspan="2"|8 bytes
|-
|-
|<pre>18   ... CLC     &times; 6
|<pre>08      PHP      \ × 2
90 00    BCC *+2</pre>||Clobbers C
28      PLP      /
EA   ... NOP     × 4</pre>||No requirements
|-
|-
|<pre>B8  ... CLV      &times; 6
|}
50 00    BVC *+2</pre>||Clobbers V
 
 
=== 23 cycles ===
{| class="wikitable testtable"
!colspan="2"|6 bytes
|-
|-
|<pre>85 xx    STA @zptemp
|<pre>18   ... CLC     × 2
EA   ... NOP     &times; 6</pre>||Requires @zptemp
A9 2A    LDA #$2A ;hides 'ROL A'
90 FD    BCC *-1</pre>||Clobbers A, Z&N, and C
|-
|-
|<pre>04 04    NOP $04
|<pre>EA      NOP
EA  ... NOP      &times; 6</pre>||Requires support for unofficial opcodes
A2 04    LDX #4
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|-
!colspan="2"|9 bytes
|<pre>EA      NOP
A0 04    LDY #4
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|7 bytes
|-
|-
|<pre>4C xx xx JMP *+3
|<pre>EA      NOP
EA  ... NOP      &times; 6</pre>||Not relocatable code
08      PHP      \ × 3
28      PLP      /</pre>||No requirements
|-
|-
|}
|}




=== 16 cycles ===
=== 24 cycles ===
{| class="wikitable testtable"
{| class="wikitable testtable"
!colspan="2"|3 bytes
|-
|<pre>48      PHA
00 00    BRK 0</pre>||Clobbers S; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|4 bytes
!colspan="2"|4 bytes
|-
|-
|<pre>EA      NOP
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts14</pre>||Requires @rts12, and @rts14; and writes in stack
10 FD    BPL *-1</pre>||Clobbers A, Z&N, and C
|-
|-
|<pre>C5 C5    CMP $C5
!colspan="2"|6 bytes
00 00    BRK 0</pre>||Clobbers Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|-
|<pre>24 24    BIT $24
|<pre>20 xx xx JSR @rts12× 2</pre>||Requires @rts12
00 00    BRK 0</pre>||Clobbers Z&N, and V; requires dummy interrupt handler; and writes in stack
|-
|-
|<pre>A5 A5    LDA $A5
!colspan="2"|7 bytes
00 00    BRK 0</pre>||Clobbers A, and Z&N; requires dummy interrupt handler; and writes in stack
|-
|-
|<pre>A6 A6    LDX $A6
|<pre>A6 A6    LDX $A6
00 00    BRK 0</pre>||Clobbers X, and Z&N; requires dummy interrupt handler; and writes in stack
A2 04    LDX #4
|-
|<pre>A4 A4    LDY $A4
00 00    BRK 0</pre>||Clobbers Y, and Z&N; requires dummy interrupt handler; and writes in stack
|-
|<pre>85 xx    STA @zptemp
00 00    BRK 0</pre>||Requires @zptemp, and dummy interrupt handler; and writes in stack
|-
|<pre>04 04   NOP $04
00 00    BRK 0</pre>||Requires dummy interrupt handler, and support for unofficial opcodes; and writes in stack
|-
|<pre>68  ... PLA      &times; 4</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|5 bytes
|-
|<pre>EA      NOP
08      PHP      \ &times; 2
28      PLP      /</pre>||Writes in stack
|-
|<pre>EA      NOP
68      PLA      \ &times; 2
48      PHA      /</pre>||Clobbers A, and Z&N
|-
|<pre>A2 03   LDX #3
CA      DEX
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|-
|<pre>A0 03   LDY #3
|<pre>A4 A4    LDY $A4
A0 04   LDY #4
88      DEY
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|6 bytes
|-
|<pre>EA  ... NOP      &times; 2
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N
|-
|-
!colspan="2"|8 bytes
!colspan="2"|8 bytes
|-
|-
|<pre>EA  ... NOP      &times; 8</pre>||No requirements
|<pre>08      PHP
C5 C5    CMP $C5
28      PLP      \ × 2
08      PHP      /
28      PLP</pre>||No requirements
|-
|-
|}
|}




=== 17 cycles ===
=== 25 cycles ===
{| class="wikitable testtable"
{| class="wikitable testtable"
!colspan="2"|3 bytes
!colspan="2"|7 bytes
|-
|-
|<pre>68       PLA
|<pre>98       TYA
00 00   BRK 0</pre>||Clobbers A, S, and Z&N; requires dummy interrupt handler; and writes in stack
A0 04   LDY #4
88      DEY
D0 FD    BNE *-1
A8      TAY</pre>||Clobbers A, and Z&N
|-
|-
!colspan="2"|4 bytes
|<pre>EA  ... NOP      × 2
A2 04    LDX #4
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|-
|<pre>EA      NOP
|<pre>EA   ... NOP      × 2
20 xx xx JSR @rts15</pre>||Requires @rts12, and @rts15; and writes in stack
A0 04    LDY #4
88       DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|-
|<pre>EA  ... NOP      &times; 2
!colspan="2"|8 bytes
00 00    BRK 0</pre>||Requires dummy interrupt handler; and writes in stack
|-
|-
|<pre>48       PHA
|<pre>EA  ... NOP      × 2
20 xx xx JSR @rts14</pre>||Clobbers S; requires @rts12, and @rts14; and writes in stack
08       PHP      \ × 3
28      PLP      /</pre>||No requirements
|-
|-
|}
=== 26 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
!colspan="2"|5 bytes
|-
|-
|<pre>E6 xx   INC @zptemp
|<pre>18      CLC
20 xx xx JSR @rts12</pre>||Clobbers Z&N; requires @zptemp, and @rts12; and writes in stack
A9 0A   LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1</pre>||Clobbers A, Z&N, and C
|-
|-
|<pre>C5 C5   CMP $C5
|<pre>A2 04   LDX #4
20 xx xx JSR @rts14</pre>||Clobbers Z&N, and C; requires @rts12, and @rts14; and writes in stack
CA      DEX
10 FD    BPL *-1</pre>||Clobbers X, and Z&N
|-
|-
|<pre>24 24   BIT $24
|<pre>A0 05   LDY #5
20 xx xx JSR @rts14</pre>||Clobbers Z&N, and V; requires @rts12, and @rts14; and writes in stack
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|-
|<pre>A5 A5    LDA $A5
!colspan="2"|7 bytes
20 xx xx JSR @rts14</pre>||Clobbers A, and Z&N; requires @rts12, and @rts14; and writes in stack
|-
|<pre>A6 A6    LDX $A6
20 xx xx JSR @rts14</pre>||Clobbers X, and Z&N; requires @rts12, and @rts14; and writes in stack
|-
|<pre>A4 A4    LDY $A4
20 xx xx JSR @rts14</pre>||Clobbers Y, and Z&N; requires @rts12, and @rts14; and writes in stack
|-
|<pre>85 xx    STA @zptemp
20 xx xx JSR @rts14</pre>||Requires @zptemp, @rts12, and @rts14; and writes in stack
|-
|<pre>04 04    NOP $04
20 xx xx JSR @rts14</pre>||Requires @rts12, @rts14, and support for unofficial opcodes; and writes in stack
|-
|<pre>48      PHA
08      PHP      \ &times; 2
28      PLP      /</pre>||Clobbers S; and writes in stack
|-
|-
|<pre>EA      NOP
|<pre>EA      NOP
68      PLA
20 xx xx JSR @rts12× 2</pre>||Requires @rts12
48      PHA
68  ... PLA      &times; 2</pre>||Clobbers A, S, and Z&N
|-
|-
!colspan="2"|6 bytes
!colspan="2"|8 bytes
|-
|-
|<pre>08      PHP
|<pre>08      PHP
26 26    ROL $26
66 26    ROR $26
28      PLP</pre>||Writes in stack
|-
|<pre>68      PLA
48      PHA
48      PHA
26 26    ROL $26
66 26    ROR $26</pre>||Clobbers A, and Z&N
|-
|<pre>E6 xx    INC @zptemp
36 36    ROL $36,X
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires @zptemp
76 36    ROR $36,X
68      PLA
28      PLP</pre>||No requirements
|-
|-
!colspan="2"|7 bytes
|}
 
 
=== 27 cycles ===
{| class="wikitable testtable"
!colspan="2"|6 bytes
|-
|-
|<pre>EA      NOP
|<pre>A5 A5   LDA $A5
C5 C5   CMP $C5
A9 0A   LDA #$0A ;hides 'ASL A'
36 36   ROL $36,X
10 FD   BPL *-1</pre>||Clobbers A, Z&N, and C
76 36   ROR $36,X</pre>||Clobbers Z&N, and C
|-
|-
|<pre>EA      NOP
!colspan="2"|7 bytes
24 24    BIT $24
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N, and V
|-
|-
|<pre>EA       NOP
|<pre>48       PHA
A6 A6   LDX $A6
A9 2A   LDA #$2A ;hides 'ROL A'
36 36   ROL $36,X
38      SEC
76 36    ROR $36,X</pre>||Clobbers X, and Z&N
10 FC   BPL *-2
68      PLA</pre>||Clobbers Z&N, and C
|-
|-
|<pre>EA       NOP
|<pre>08       PHP
A4 A4   LDY $A4
A9 2A   LDA #$2A ;hides 'ROL A'
36 36   ROL $36,X
38      SEC
76 36    ROR $36,X</pre>||Clobbers Y, and Z&N
10 FC   BPL *-2
28      PLP</pre>||Clobbers A
|-
|-
|<pre>FE 00 02 INC $0200,X
|<pre>24 2C    BIT <$2C ;hides 'BIT $FDA2'
26 26   ROL $26
A2 FD   LDX #253
66 26   ROR $26</pre>||Clobbers Z&N; and requires writable $200-$2FF
E8      INX
D0 FA   BNE *-4</pre>||Clobbers X, Z&N, and V
|-
|-
|<pre>FE 00 03 INC $0300,X
|<pre>24 2C    BIT <$2C ;hides 'BIT $FDA0'
26 26   ROL $26
A0 FD   LDY #253
66 26   ROR $26</pre>||Clobbers Z&N; and requires writable $300-$3FF
C8      INY
D0 FA   BNE *-4</pre>||Clobbers Y, Z&N, and V
|-
|-
|<pre>FE 00 04 INC $0400,X
|<pre>A4 AC    LDY <$AC ;hides 'LDY $82A2'
26 26   ROL $26
A2 82   LDX #130
66 26   ROR $26</pre>||Clobbers Z&N; and requires writable $400-$4FF
CA      DEX
30 FA   BMI *-4</pre>||Clobbers X, Y, and Z&N
|-
|-
|<pre>FE 00 05 INC $0500,X
!colspan="2"|8 bytes
26 26    ROL $26
66 26    ROR $26</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|-
|<pre>FE 00 06 INC $0600,X
|<pre>EA  ... NOP      × 3
26 26   ROL $26
A2 04   LDX #4
66 26   ROR $26</pre>||Clobbers Z&N; and requires writable $600-$6FF
CA      DEX
D0 FD   BNE *-1</pre>||Clobbers X, and Z&N
|-
|-
|<pre>FE 00 07 INC $0700,X
|<pre>EA  ... NOP      × 3
26 26   ROL $26
A0 04   LDY #4
66 26   ROR $26</pre>||Clobbers Z&N; and requires writable $700-$7FF
88      DEY
D0 FD   BNE *-1</pre>||Clobbers Y, and Z&N
|-
|-
|<pre>EA      NOP
|<pre>24 24   BIT $24
04 04   NOP $04
20 xx xx JSR @rts12× 2</pre>||Clobbers Z&N, and V; and requires @rts12
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
|-
!colspan="2"|8 bytes
|<pre>20 xx xx JSR @rts12
|-
08      PHP
|<pre>EA       NOP
BA       TSX
4C xx xx JMP *+3
28      PLP
36 36    ROL $36,X
9A      TXS
76 36    ROR $36,X</pre>||Clobbers Z&N; and not relocatable code
28      PLP</pre>||Clobbers X; and requires @rts12
|-
|-
!colspan="2"|9 bytes
!colspan="2"|9 bytes
|-
|-
|<pre>18  ... CLC      &times; 7
|<pre>EA  ... NOP      × 3
90 00    BCC *+2</pre>||Clobbers C
08      PHP      \ × 3
|-
28      PLP      /</pre>||No requirements
|<pre>B8  ... CLV      &times; 7
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 7</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 7</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|10 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 7</pre>||Not relocatable code
|-
|-
|}
|}




=== 18 cycles ===
=== 28 cycles ===
{| class="wikitable testtable"
{| class="wikitable testtable"
!colspan="2"|4 bytes
!colspan="2"|6 bytes
|-
|-
|<pre>E6 xx   INC @zptemp
|<pre>38  ... SEC      × 2
00 00   BRK 0</pre>||Clobbers Z&N; requires @zptemp, and dummy interrupt handler; and writes in stack
A9 0A   LDA #$0A ;hides 'ASL A'
10 FD   BPL *-1</pre>||Clobbers A, Z&N, and C
|-
|-
|<pre>48       PHA
|<pre>EA       NOP
20 xx xx JSR @rts15</pre>||Clobbers S; requires @rts12, and @rts15; and writes in stack
A2 04    LDX #4
|-
CA       DEX
|<pre>68       PLA
10 FD    BPL *-1</pre>||Clobbers X, and Z&N
20 xx xx JSR @rts14</pre>||Clobbers A, S, and Z&N; requires @rts12, and @rts14; and writes in stack
|-
|-
|<pre>EA      NOP
|<pre>EA      NOP
48       PHA
A0 05    LDY #5
00 00   BRK 0</pre>||Clobbers S; requires dummy interrupt handler; and writes in stack
88       DEY
D0 FD   BNE *-1</pre>||Clobbers Y, and Z&N
|-
|-
!colspan="2"|5 bytes
!colspan="2"|7 bytes
|-
|-
|<pre>F6 F6   INC $F6,X
|<pre>48      PHA
20 xx xx JSR @rts12</pre>||Clobbers Z&N; requires @zptemp, @rts12, and writable $00-$FF; and writes in stack
18      CLC
A9 2A   LDA #$2A ;hides 'ROL A'
90 FD    BCC *-1
68      PLA</pre>||Clobbers Z&N, and C
|-
|-
|<pre>EA  ... NOP      &times; 2
|<pre>08      PHP
20 xx xx JSR @rts14</pre>||Requires @rts12, and @rts14; and writes in stack
18      CLC
A9 2A    LDA #$2A ;hides 'ROL A'
90 FD    BCC *-1
28      PLP</pre>||Clobbers A
|-
|-
|<pre>C5 C5   CMP $C5
|<pre>08      PHP
20 xx xx JSR @rts15</pre>||Clobbers Z&N, and C; requires @rts12, and @rts15; and writes in stack
A2 04    LDX #4
CA      DEX
D0 FD   BNE *-1
28      PLP</pre>||Clobbers X
|-
|-
|<pre>24 24   BIT $24
|<pre>08      PHP
20 xx xx JSR @rts15</pre>||Clobbers Z&N, and V; requires @rts12, and @rts15; and writes in stack
A0 04    LDY #4
88      DEY
D0 FD   BNE *-1
28      PLP</pre>||Clobbers Y
|-
|-
|<pre>A5 A5    LDA $A5
!colspan="2"|8 bytes
20 xx xx JSR @rts15</pre>||Clobbers A, and Z&N; requires @rts12, and @rts15; and writes in stack
|-
|-
|<pre>A6 A6    LDX $A6
|<pre>08      PHP      \ × 4
20 xx xx JSR @rts15</pre>||Clobbers X, and Z&N; requires @rts12, and @rts15; and writes in stack
28      PLP      /</pre>||No requirements
|-
|-
|<pre>A4 A4    LDY $A4
|}
20 xx xx JSR @rts15</pre>||Clobbers Y, and Z&N; requires @rts12, and @rts15; and writes in stack
 
|-
 
|<pre>85 xx    STA @zptemp
=== 29 cycles ===
20 xx xx JSR @rts15</pre>||Requires @zptemp, @rts12, and @rts15; and writes in stack
{| class="wikitable testtable"
|-
!colspan="2"|6 bytes
|<pre>A9      LDA #0
20 xx xx JSR delay_256a_16_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks, and delay_256a_16_clocks
|-
|<pre>04 04    NOP $04
20 xx xx JSR @rts15</pre>||Requires @rts12, @rts15, and support for unofficial opcodes; and writes in stack
|-
|-
|<pre>18      CLC
|<pre>18      CLC
90 00   BCC *+2
A9 2A    LDA #$2A ;hides 'ROL A'
00 00    BRK 0</pre>||Clobbers C; requires dummy interrupt handler; and writes in stack
EA      NOP
90 FC   BCC *-2</pre>||Clobbers A, Z&N, and C
|-
|-
|<pre>B8       CLV
|<pre>A2 04    LDX #4
50 00   BVC *+2
EA      NOP
00 00    BRK 0</pre>||Clobbers V; requires dummy interrupt handler; and writes in stack
CA       DEX
D0 FC   BNE *-2</pre>||Clobbers X, and Z&N
|-
|-
|<pre>EA      NOP
|<pre>A0 04    LDY #4
A5 A5    LDA $A5
EA      NOP
00 00   BRK 0</pre>||Clobbers A, and Z&N; requires dummy interrupt handler; and writes in stack
88      DEY
D0 FC   BNE *-2</pre>||Clobbers Y, and Z&N
|-
|-
|<pre>EA      NOP
!colspan="2"|8 bytes
A6 A6    LDX $A6
00 00    BRK 0</pre>||Clobbers X, and Z&N; requires dummy interrupt handler; and writes in stack
|-
|-
|<pre>EA       NOP
|<pre>48       PHA
A4 A4   LDY $A4
18      CLC
00 00   BRK 0</pre>||Clobbers Y, and Z&N; requires dummy interrupt handler; and writes in stack
A9 2A   LDA #$2A ;hides 'ROL A'
38      SEC
10 FC   BPL *-2
68      PLA</pre>||Clobbers Z&N, and C
|-
|-
|<pre>EA       NOP
|<pre>08       PHP
85 xx   STA @zptemp
18      CLC
00 00   BRK 0</pre>||Requires @zptemp, and dummy interrupt handler; and writes in stack
A9 2A   LDA #$2A ;hides 'ROL A'
38      SEC
10 FC   BPL *-2
28      PLP</pre>||Clobbers A
|-
|-
|<pre>EA      NOP
|<pre>08      PHP
04 04    NOP $04
A2 02    LDX #2
00 00    BRK 0</pre>||Requires dummy interrupt handler, and support for unofficial opcodes; and writes in stack
EA      NOP
|-
|<pre>EA      NOP
68  ... PLA      &times; 4</pre>||Clobbers A, S, and Z&N
|-
|<pre>48  ... PHA      &times; 2
20 xx xx JSR @rts12</pre>||Clobbers S; requires @rts12; and writes in stack
|-
!colspan="2"|6 bytes
|-
|<pre>EA  ... NOP      &times; 2
08      PHP       \ &times; 2
28      PLP      /</pre>||Writes in stack
|-
|<pre>EA  ... NOP      &times; 2
68      PLA      \ &times; 2
48      PHA      /</pre>||Clobbers A, and Z&N
|-
|<pre>EA      NOP
A2 03    LDX #3
CA      DEX
CA      DEX
D0 FD   BNE *-1</pre>||Clobbers X, and Z&N
10 FC   BPL *-2
28      PLP</pre>||Clobbers X
|-
|-
|<pre>EA       NOP
|<pre>08       PHP
A0 03    LDY #3
A0 03    LDY #3
EA      NOP
88      DEY
88      DEY
D0 FD   BNE *-1</pre>||Clobbers Y, and Z&N
D0 FC   BNE *-2
28      PLP</pre>||Clobbers Y
|-
!colspan="2"|9 bytes
|-
|-
|<pre>F6 F6... INC $F6,X&times; 3</pre>||Clobbers Z&N; and requires @zptemp, and writable $00-$FF
|<pre>08      PHP
28      PLP
08      PHP
C5 C5    CMP $C5
28      PLP
20 xx xx JSR @rts12</pre>||Requires @rts12
|-
|-
!colspan="2"|7 bytes
!colspan="2"|10 bytes
|-
|-
|<pre>EA  ... NOP      &times; 3
|<pre>08      PHP
C5 C5    CMP $C5
28      PLP
08      PHP
36 36    ROL $36,X
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N
76 36    ROR $36,X
|-
28      PLP</pre>||No requirements
!colspan="2"|9 bytes
|-
|<pre>EA  ... NOP      &times; 9</pre>||No requirements
|-
|-
|}
|}




=== 19 cycles ===
=== 30 cycles ===
{| class="wikitable testtable"
{| class="wikitable testtable"
!colspan="2"|4 bytes
!colspan="2"|7 bytes
|-
|-
|<pre>F6 F6   INC $F6,X
|<pre>98      TYA
00 00   BRK 0</pre>||Clobbers Z&N; requires @zptemp, dummy interrupt handler, and writable $00-$FF; and writes in stack
A0 05   LDY #5
88      DEY
D0 FD   BNE *-1
A8      TAY</pre>||Clobbers A, and Z&N
|-
|-
|<pre>68       PLA
|<pre>EA  ... NOP      × 2
20 xx xx JSR @rts15</pre>||Clobbers A, S, and Z&N; requires @rts12, and @rts15; and writes in stack
A2 04    LDX #4
CA       DEX
10 FD    BPL *-1</pre>||Clobbers X, and Z&N
|-
|-
|<pre>48   ... PHA     &times; 2
|<pre>EA   ... NOP     × 2
00 00   BRK 0</pre>||Clobbers S; requires dummy interrupt handler; and writes in stack
A0 05   LDY #5
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|8 bytes
|-
|-
!colspan="2"|5 bytes
|<pre>48      PHA
18  ... CLC      × 2
A9 2A    LDA #$2A ;hides 'ROL A'
90 FD    BCC *-1
68      PLA</pre>||Clobbers Z&N, and C
|-
|-
|<pre>08      PHP
|<pre>08      PHP
28      PLP
18  ... CLC      × 2
20 xx xx JSR @rts12</pre>||Requires @rts12; and writes in stack
A9 2A    LDA #$2A ;hides 'ROL A'
90 FD    BCC *-1
28      PLP</pre>||Clobbers A
|-
|-
|<pre>EA   ... NOP     &times; 3
|<pre>EA       NOP
00 00   BRK 0</pre>||Requires dummy interrupt handler; and writes in stack
08      PHP
A2 04   LDX #4
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X
|-
|-
|<pre>68       PLA
|<pre>EA       NOP
48       PHA
08       PHP
68  ... PLA      &times; 3</pre>||Clobbers A, S, and Z&N
A0 04    LDY #4
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y
|-
|-
!colspan="2"|6 bytes
!colspan="2"|9 bytes
|-
|-
|<pre>08      PHP
|<pre>08      PHP
36 36    ROL $36,X
76 36    ROR $36,X
28      PLP</pre>||Writes in stack
|-
|<pre>68      PLA
48      PHA
48      PHA
36 36   ROL $36,X
18      CLC
76 36   ROR $36,X</pre>||Clobbers A, and Z&N
A9 6A   LDA #$6A ;hides 'ROR A'
90 FD   BCC *-1
68      PLA
28      PLP</pre>||No requirements
|-
|-
!colspan="2"|7 bytes
|}
 
 
=== 31 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|-
|<pre>A6 A6   LDX $A6
|<pre>18      CLC
A2 03   LDX #3
A9 0A   LDA #$0A ;hides 'ASL A'
90 FD    BCC *-1</pre>||Clobbers A, Z&N, and C
|-
|<pre>A2 05   LDX #5
CA      DEX
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
10 FD    BPL *-1</pre>||Clobbers X, and Z&N
|-
|-
|<pre>A4 A4    LDY $A4
|<pre>A0 06   LDY #6
A0 03   LDY #3
88      DEY
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|-
|<pre>EA      NOP
!colspan="2"|6 bytes
E6 xx    INC @zptemp
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires @zptemp
|-
|-
|<pre>FE 00 02 INC $0200,X
|<pre>48      PHA
36 36   ROL $36,X
A9 0A   LDA #$0A ;hides 'ASL A'
76 36   ROR $36,X</pre>||Clobbers Z&N; and requires writable $200-$2FF
10 FD   BPL *-1
68      PLA</pre>||Clobbers Z&N, and C
|-
|-
|<pre>FE 00 03 INC $0300,X
|<pre>08      PHP
36 36    ROL $36,X
A9 0A   LDA #$0A ;hides 'ASL A'
76 36   ROR $36,X</pre>||Clobbers Z&N; and requires writable $300-$3FF
10 FD   BPL *-1
|-
28      PLP</pre>||Clobbers A
|<pre>FE 00 04 INC $0400,X
36 36    ROL $36,X
76 36   ROR $36,X</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|-
!colspan="2"|8 bytes
!colspan="2"|8 bytes
|-
|-
|<pre>C5 C5    CMP $C5
|<pre>08      PHP
EA  ... NOP      &times; 2
28      PLP
36 36    ROL $36,X
20 xx xx JSR @rts12× 2</pre>||Requires @rts12
76 36    ROR $36,X</pre>||Clobbers Z&N, and C
|-
|-
|<pre>24 24    BIT $24
!colspan="2"|9 bytes
EA  ... NOP      &times; 2
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N, and V
|-
|-
|<pre>04 04   NOP $04
|<pre>08      PHP
EA  ... NOP      &times; 2
A6 A6   LDX $A6
36 36   ROL $36,X
A2 04    LDX #4
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires support for unofficial opcodes
CA      DEX
D0 FD   BNE *-1
28      PLP</pre>||Clobbers X
|-
|-
!colspan="2"|9 bytes
|<pre>08      PHP
|-
A4 A4    LDY $A4
|<pre>4C xx xx JMP *+3
A0 04   LDY #4
EA  ... NOP      &times; 2
88      DEY
36 36   ROL $36,X
D0 FD   BNE *-1
76 36   ROR $36,X</pre>||Clobbers Z&N; and not relocatable code
28      PLP</pre>||Clobbers Y
|-
|-
!colspan="2"|10 bytes
!colspan="2"|10 bytes
|-
|-
|<pre>18  ... CLC      &times; 8
|<pre>08      PHP
90 00   BCC *+2</pre>||Clobbers C
36 36   ROL $36,X \ × 2
76 36    ROR $36,X /
28      PLP</pre>||No requirements
|-
|-
|<pre>B8  ... CLV      &times; 8
|}
50 00    BVC *+2</pre>||Clobbers V
 
|-
 
|<pre>85 xx    STA @zptemp
=== 32 cycles ===
EA  ... NOP      &times; 8</pre>||Requires @zptemp
{| class="wikitable testtable"
!colspan="2"|6 bytes
|-
|-
|<pre>04 04   NOP $04
|<pre>A2 05   LDX #5 ;hides 'ORA zp'
EA  ... NOP      &times; 8</pre>||Requires support for unofficial opcodes
CA      DEX ;first loop only
CA      DEX
D0 FB    BNE *-3</pre>||Clobbers A, X, and Z&N
|-
|-
!colspan="2"|11 bytes
|<pre>A0 05    LDY #5 ;hides 'ORA zp'
88      DEY ;first loop only
88      DEY
D0 FB    BNE *-3</pre>||Clobbers A, Y, and Z&N
|-
|-
|<pre>4C xx xx JMP *+3
!colspan="2"|7 bytes
EA  ... NOP      &times; 8</pre>||Not relocatable code
|-
|}
 
 
=== 20 cycles ===
{| class="wikitable testtable"
!colspan="2"|4 bytes
|-
|<pre>08      PHP
28      PLP
00 00    BRK 0</pre>||Requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|5 bytes
|-
|-
|<pre>A9 2A    LDA #$2A ;hides 'ROL A'
|<pre>A9 2A    LDA #$2A ;hides 'ROL A'
18      CLC
EA  ... NOP      × 3
10 FC   BPL *-2</pre>||Clobbers A, Z&N, and C
10 FA   BPL *-4</pre>||Clobbers A, Z&N, and C
|-
|-
|<pre>E6 xx    INC @zptemp
!colspan="2"|8 bytes
20 xx xx JSR @rts15</pre>||Clobbers Z&N; requires @zptemp, @rts12, and @rts15; and writes in stack
|-
|-
|<pre>F6 F6   INC $F6,X
|<pre>EA      NOP
20 xx xx JSR @rts14</pre>||Clobbers Z&N; requires @zptemp, @rts12, @rts14, and writable $00-$FF; and writes in stack
98      TYA
A0 05    LDY #5
88      DEY
D0 FD   BNE *-1
A8      TAY</pre>||Clobbers A, and Z&N
|-
|-
|<pre>68  ... PLA      &times; 5</pre>||Clobbers A, S, and Z&N
|<pre>A6 A6    LDX $A6
A2 04    LDX #4
EA      NOP
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers X, and Z&N
|-
|-
|<pre>48  ... PHA      &times; 2
|<pre>A4 A4    LDY $A4
20 xx xx JSR @rts14</pre>||Clobbers S; requires @rts12, and @rts14; and writes in stack
A0 04    LDY #4
EA      NOP
88      DEY
D0 FC    BNE *-2</pre>||Clobbers Y, and Z&N
|-
|-
|<pre>EA      NOP
!colspan="2"|9 bytes
48      PHA
20 xx xx JSR @rts15</pre>||Clobbers S; requires @rts12, and @rts15; and writes in stack
|-
|-
!colspan="2"|6 bytes
|<pre>48       PHA
|-
98      TYA
|<pre>BA       TSX
A0 04    LDY #4
68  ... PLA      &times; 4
88       DEY
9A       TXS</pre>||Clobbers A, X, and Z&N; and unsafe for interrupts
D0 FD    BNE *-1
A8      TAY
68      PLA</pre>||Clobbers Z&N
|-
|-
|<pre>08      PHP
|<pre>08      PHP
28       PLP
98       TYA
08       PHP
A0 04    LDY #4
F6 F6   INC $F6,X
88       DEY
28      PLP</pre>||Requires @zptemp, and writable $00-$FF; and writes in stack
D0 FD   BNE *-1
A8      TAY
28      PLP</pre>||Clobbers A
|-
|-
|<pre>F6 F6   INC $F6,X
|<pre>EA  ... NOP      × 2
68       PLA      \ &times; 2
08      PHP
48       PHA      /</pre>||Clobbers A, and Z&N; and requires @zptemp, and writable $00-$FF
A2 04   LDX #4
CA       DEX
D0 FD    BNE *-1
28       PLP</pre>||Clobbers X
|-
|-
|<pre>EA  ... NOP      &times; 3
|<pre>EA  ... NOP      × 2
20 xx xx JSR @rts14</pre>||Requires @rts12, and @rts14; and writes in stack
08      PHP
A0 04    LDY #4
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y
|-
|-
|<pre>18      CLC
!colspan="2"|10 bytes
90 00    BCC *+2
20 xx xx JSR @rts15</pre>||Clobbers C; requires @rts12, and @rts15; and writes in stack
|-
|-
|<pre>B8       CLV
|<pre>08       PHP
50 00   BVC *+2
48      PHA
20 xx xx JSR @rts15</pre>||Clobbers V; requires @rts12, and @rts15; and writes in stack
18  ... CLC      × 2
A9 6A   LDA #$6A ;hides 'ROR A'
90 FD    BCC *-1
68      PLA
28      PLP</pre>||No requirements
|-
|-
|<pre>EA      NOP
|}
A5 A5    LDA $A5
 
20 xx xx JSR @rts15</pre>||Clobbers A, and Z&N; requires @rts12, and @rts15; and writes in stack
 
=== 33 cycles ===
{| class="wikitable testtable"
!colspan="2"|6 bytes
|-
|-
|<pre>EA      NOP
|<pre>18  ... CLC      × 2
A6 A6   LDX $A6
A9 0A   LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts15</pre>||Clobbers X, and Z&N; requires @rts12, and @rts15; and writes in stack
90 FD    BCC *-1</pre>||Clobbers A, Z&N, and C
|-
|-
|<pre>EA      NOP
|<pre>EA      NOP
A4 A4   LDY $A4
A2 05   LDX #5
20 xx xx JSR @rts15</pre>||Clobbers Y, and Z&N; requires @rts12, and @rts15; and writes in stack
CA      DEX
10 FD    BPL *-1</pre>||Clobbers X, and Z&N
|-
|-
|<pre>EA      NOP
|<pre>EA      NOP
85 xx   STA @zptemp
A0 06   LDY #6
20 xx xx JSR @rts15</pre>||Requires @zptemp, @rts12, and @rts15; and writes in stack
88       DEY
|-
D0 FD   BNE *-1</pre>||Clobbers Y, and Z&N
|<pre>EA       NOP
04 04   NOP $04
20 xx xx JSR @rts15</pre>||Requires @rts12, @rts15, and support for unofficial opcodes; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
08      PHP      \ &times; 2
28      PLP      /</pre>||Clobbers S; and writes in stack
|-
|-
!colspan="2"|7 bytes
!colspan="2"|7 bytes
|-
|-
|<pre>EA  ... NOP      &times; 3
|<pre>48      PHA
08       PHP      \ &times; 2
18       CLC
28       PLP      /</pre>||Writes in stack
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68       PLA</pre>||Clobbers Z&N, and C
|-
|-
|<pre>EA  ... NOP      &times; 3
|<pre>08      PHP
68       PLA      \ &times; 2
18       CLC
48      PHA       /</pre>||Clobbers A, and Z&N
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
28       PLP</pre>||Clobbers A
|-
|-
|<pre>EA  ... NOP      &times; 2
|<pre>08      PHP
A2 03   LDX #3
A2 04   LDX #4
CA      DEX
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
10 FD    BPL *-1
28      PLP</pre>||Clobbers X
|-
|-
|<pre>EA  ... NOP      &times; 2
|<pre>08      PHP
A0 03   LDY #3
A0 05   LDY #5
88      DEY
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y
|-
!colspan="2"|9 bytes
|-
|-
|<pre>EA      NOP
|<pre>EA      NOP
F6 F6... INC $F6,X&times; 3</pre>||Clobbers Z&N; and requires @zptemp, and writable $00-$FF
08      PHP
|-
28      PLP
!colspan="2"|8 bytes
20 xx xx JSR @rts12× 2</pre>||Requires @rts12
|-
|<pre>26 26    ROL $26  \ &times; 2
66 26    ROR $26  /</pre>||Clobbers Z&N
|-
|-
!colspan="2"|10 bytes
!colspan="2"|10 bytes
|-
|-
|<pre>EA  ... NOP      &times; 10</pre>||No requirements
|<pre>08      PHP      \ × 2
28      PLP      /
08      PHP
36 36    ROL $36,X
76 36    ROR $36,X
28      PLP</pre>||No requirements
|-
|-
|}
|}




=== 21 cycles ===
=== 34 cycles ===
{| class="wikitable testtable"
{| class="wikitable testtable"
!colspan="2"|4 bytes
|-
|<pre>68  ... PLA      &times; 2
00 00    BRK 0</pre>||Clobbers A, S, and Z&N; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|5 bytes
!colspan="2"|5 bytes
|-
|-
|<pre>18      CLC
|<pre>A9 0A   LDA #$0A ;hides 'ASL A'
A9 2A   LDA #$2A ;hides 'ROL A'
18      CLC
90 FD   BCC *-1</pre>||Clobbers A, Z&N, and C
10 FC   BPL *-2</pre>||Clobbers A, Z&N, and C
|-
|-
|<pre>A2 04    LDX #4
|<pre>A0 88   LDY #136 ;hides 'DEY'
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A0 04   LDY #4
88      DEY
88      DEY
D0 FD   BNE *-1</pre>||Clobbers Y, and Z&N
30 FC   BMI *-2</pre>||Clobbers Y, and Z&N
|-
|-
|<pre>08      PHP
!colspan="2"|7 bytes
28      PLP
20 xx xx JSR @rts14</pre>||Requires @rts12, and @rts14; and writes in stack
|-
|-
|<pre>F6 F6   INC $F6,X
|<pre>A6 A6   LDX $A6
20 xx xx JSR @rts15</pre>||Clobbers Z&N; requires @zptemp, @rts12, @rts15, and writable $00-$FF; and writes in stack
A2 05    LDX #5
CA      DEX
10 FD    BPL *-1</pre>||Clobbers X, and Z&N
|-
|-
|<pre>EA      NOP
!colspan="2"|8 bytes
F6 F6    INC $F6,X
00 00    BRK 0</pre>||Clobbers Z&N; requires @zptemp, dummy interrupt handler, and writable $00-$FF; and writes in stack
|-
|-
|<pre>48   ... PHA     &times; 2
|<pre>C5 C5    CMP $C5
20 xx xx JSR @rts15</pre>||Clobbers S; requires @rts12, and @rts15; and writes in stack
48       PHA
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68      PLA</pre>||Clobbers Z&N, and C
|-
|-
|<pre>EA       NOP
|<pre>08       PHP
48  ... PHA      &times; 2
A5 A5    LDA $A5
00 00   BRK 0</pre>||Clobbers S; requires dummy interrupt handler; and writes in stack
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD   BPL *-1
28      PLP</pre>||Clobbers A
|-
|-
!colspan="2"|6 bytes
!colspan="2"|9 bytes
|-
|-
|<pre>08      PHP      \ &times; 3
|<pre>08      PHP
28      PLP       /</pre>||Writes in stack
48       PHA
A9 2A    LDA #$2A ;hides 'ROL A'
38      SEC
10 FC    BPL *-2
68      PLA
28      PLP</pre>||No requirements
|-
|-
|<pre>68      PLA      \ &times; 3
|}
48      PHA      /</pre>||Clobbers A, and Z&N
 
 
=== 35 cycles ===
{| class="wikitable testtable"
!colspan="2"|6 bytes
|-
|-
!colspan="2"|8 bytes
|<pre>A9 2A    LDA #$2A ;hides 'ROL A'
08      PHP
28      PLP
10 FB    BPL *-3</pre>||Clobbers A, Z&N, and C
|-
|<pre>A2 F8    LDX #248 ;hides 'SED'
E8  ... INX      × 2
D0 FB    BNE *-3</pre>||Clobbers X, Z&N, and D
|-
|<pre>A0 88    LDY #136 ;hides 'DEY'
88  ... DEY      × 2
30 FB    BMI *-3</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|7 bytes
|-
|-
|<pre>EA  ... NOP      &times; 2
|<pre>98      TYA
E6 xx   INC @zptemp
A0 06   LDY #6
36 36   ROL $36,X
88      DEY
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires @zptemp
D0 FD   BNE *-1
A8      TAY</pre>||Clobbers A, and Z&N
|-
|-
|<pre>EA       NOP
|<pre>EA   ... NOP     × 2
FE 00 02 INC $0200,X
A2 05    LDX #5
36 36    ROL $36,X
CA      DEX
76 36   ROR $36,X</pre>||Clobbers Z&N; and requires writable $200-$2FF
10 FD   BPL *-1</pre>||Clobbers X, and Z&N
|-
|-
|<pre>EA      NOP
!colspan="2"|8 bytes
FE 00 03 INC $0300,X
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|-
|<pre>EA       NOP
|<pre>48       PHA
FE 00 04 INC $0400,X
38  ... SEC      × 2
36 36   ROL $36,X
A9 0A   LDA #$0A ;hides 'ASL A'
76 36   ROR $36,X</pre>||Clobbers Z&N; and requires writable $400-$4FF
10 FD   BPL *-1
68      PLA</pre>||Clobbers Z&N, and C
|-
|-
|<pre>EA       NOP
|<pre>08       PHP
FE 00 05 INC $0500,X
38  ... SEC      × 2
36 36   ROL $36,X
A9 0A   LDA #$0A ;hides 'ASL A'
76 36   ROR $36,X</pre>||Clobbers Z&N; and requires writable $500-$5FF
10 FD   BPL *-1
28      PLP</pre>||Clobbers A
|-
|-
|<pre>EA      NOP
|<pre>EA      NOP
FE 00 06 INC $0600,X
08      PHP
36 36   ROL $36,X
A2 04   LDX #4
76 36   ROR $36,X</pre>||Clobbers Z&N; and requires writable $600-$6FF
CA      DEX
10 FD   BPL *-1
28      PLP</pre>||Clobbers X
|-
|-
|<pre>EA      NOP
|<pre>EA      NOP
FE 00 07 INC $0700,X
08      PHP
36 36   ROL $36,X
A0 05   LDY #5
76 36   ROR $36,X</pre>||Clobbers Z&N; and requires writable $700-$7FF
88      DEY
D0 FD   BNE *-1
28      PLP</pre>||Clobbers Y
|-
|-
!colspan="2"|9 bytes
!colspan="2"|9 bytes
|-
|-
|<pre>C5 C5    CMP $C5
|<pre>08      PHP
EA  ... NOP      &times; 3
48      PHA
36 36    ROL $36,X
18      CLC
76 36    ROR $36,X</pre>||Clobbers Z&N, and C
A9 2A   LDA #$2A ;hides 'ROL A'
|-
90 FD   BCC *-1
|<pre>24 24   BIT $24
68      PLA
EA  ... NOP      &times; 3
28      PLP</pre>||No requirements
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N, and V
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 3
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|10 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 3
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|11 bytes
|-
|<pre>18  ... CLC      &times; 9
90 00   BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 9
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 9</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 9</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|12 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 9</pre>||Not relocatable code
|-
|-
|}
|}




=== 22 cycles ===
=== 36 cycles ===
{| class="wikitable testtable"
{| class="wikitable testtable"
!colspan="2"|5 bytes
!colspan="2"|5 bytes
|-
|-
|<pre>08      PHP
|<pre>A9 E9    LDA #$E9 ;hides 'SBC #$2A'
28       PLP
2A       ROL A ;first loop only
20 xx xx JSR @rts15</pre>||Requires @rts12, and @rts15; and writes in stack
B0 FC    BCS *-2</pre>||Clobbers A, Z&N, C, and V
|-
|-
|<pre>EA      NOP
|<pre>A2 07    LDX #7
08      PHP
CA       DEX
28       PLP
D0 FD   BNE *-1</pre>||Clobbers X, and Z&N
00 00   BRK 0</pre>||Requires dummy interrupt handler; and writes in stack
|-
|-
|<pre>68  ... PLA      &times; 2
|<pre>A0 06    LDY #6
20 xx xx JSR @rts14</pre>||Clobbers A, S, and Z&N; requires @rts12, and @rts14; and writes in stack
88      DEY
10 FD    BPL *-1</pre>||Clobbers Y, and Z&N
|-
|-
!colspan="2"|6 bytes
!colspan="2"|6 bytes
|-
|-
|<pre>18       CLC
|<pre>38       SEC
A9 2A   LDA #$2A ;hides 'ROL A'
A9 0A   LDA #$0A ;hides 'ASL A'
18       CLC
38       SEC
10 FC    BPL *-2</pre>||Clobbers A, Z&N, and C
10 FC    BPL *-2</pre>||Clobbers A, Z&N, and C
|-
|-
|<pre>A2 03    LDX #3
!colspan="2"|8 bytes
EA      NOP
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers X, and Z&N
|-
|-
|<pre>A0 03   LDY #3
|<pre>48      PHA
18      CLC
A9 2A   LDA #$2A ;hides 'ROL A'
EA      NOP
EA      NOP
88      DEY
90 FC    BCC *-2
D0 FC    BNE *-2</pre>||Clobbers Y, and Z&N
68      PLA</pre>||Clobbers Z&N, and C
|-
|-
|<pre>EA       NOP
|<pre>08      PHP
F6 F6   INC $F6,X
18       CLC
20 xx xx JSR @rts14</pre>||Clobbers Z&N; requires @zptemp, @rts12, @rts14, and writable $00-$FF; and writes in stack
A9 2A   LDA #$2A ;hides 'ROL A'
|-
EA      NOP
|<pre>EA      NOP
90 FC    BCC *-2
68  ... PLA      &times; 5</pre>||Clobbers A, S, and Z&N
28      PLP</pre>||Clobbers A
|-
|<pre>48      PHA
08      PHP
28      PLP
20 xx xx JSR @rts12</pre>||Clobbers S; requires @rts12; and writes in stack
|-
!colspan="2"|7 bytes
|-
|-
|<pre>08      PHP
|<pre>08      PHP
BA      TSX
A2 04    LDX #4
08      PHP
EA      NOP
28  ... PLP      &times; 2
CA       DEX
9A      TXS
D0 FC   BNE *-2
28      PLP</pre>||Clobbers X; and writes in stack
28      PLP</pre>||Clobbers X
|-
|<pre>EA      NOP
08      PHP
28      PLP
08       PHP
F6 F6   INC $F6,X
28      PLP</pre>||Requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>EA      NOP
F6 F6    INC $F6,X
68      PLA      \ &times; 2
48      PHA      /</pre>||Clobbers A, and Z&N; and requires @zptemp, and writable $00-$FF
|-
|-
|<pre>08      PHP
|<pre>08      PHP
24 24   BIT $24
A0 04   LDY #4
28      PLP
EA      NOP
20 xx xx JSR @rts12</pre>||Requires @rts12; and writes in stack
88      DEY
D0 FC    BNE *-2
28      PLP</pre>||Clobbers Y
|-
|-
|<pre>48      PHA
!colspan="2"|9 bytes
08      PHP
36 36    ROL $36,X
76 36    ROR $36,X
28      PLP</pre>||Clobbers S; and writes in stack
|-
|-
!colspan="2"|8 bytes
|<pre>20 xx xx JSR @rts12× 3</pre>||Requires @rts12
|-
|-
|<pre>26 26    ROL $26
!colspan="2"|10 bytes
66 26    ROR $26
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N
|-
|-
|<pre>08      PHP
|<pre>08      PHP
24 24    BIT $24
48      PHA
36 36    ROL $36,X
18      CLC
76 36   ROR $36,X
A9 2A   LDA #$2A ;hides 'ROL A'
28       PLP</pre>||Writes in stack
38       SEC
|-
10 FC    BPL *-2
!colspan="2"|11 bytes
68      PLA
|-
28      PLP</pre>||No requirements
|<pre>EA  ... NOP      &times; 11</pre>||No requirements
|-
|-
|}
|}




=== 23 cycles ===
=== 37 cycles ===
{| class="wikitable testtable"
{| class="wikitable testtable"
!colspan="2"|5 bytes
!colspan="2"|7 bytes
|-
|-
|<pre>A9 2A   LDA #$2A ;hides 'ROL A'
|<pre>A5 A5    LDA $A5
48       PHA
A9 0A   LDA #$0A ;hides 'ASL A'
10 FC    BPL *-2</pre>||Clobbers A, S, Z&N, and C; and writes in stack
18       CLC
10 FC    BPL *-2</pre>||Clobbers A, Z&N, and C
|-
|-
|<pre>68   ... PLA     &times; 2
|<pre>A2 04    LDX #4
20 xx xx JSR @rts15</pre>||Clobbers A, S, and Z&N; requires @rts12, and @rts15; and writes in stack
EA   ... NOP     × 2
CA      DEX
D0 FB    BNE *-3</pre>||Clobbers X, and Z&N
|-
|-
|<pre>48      PHA
|<pre>A0 04    LDY #4
08      PHP
EA  ... NOP      × 2
28       PLP
88       DEY
00 00   BRK 0</pre>||Clobbers S; requires dummy interrupt handler; and writes in stack
D0 FB   BNE *-3</pre>||Clobbers Y, and Z&N
|-
|-
!colspan="2"|6 bytes
!colspan="2"|8 bytes
|-
|<pre>18  ... CLC      &times; 2
A9 2A    LDA #$2A ;hides 'ROL A'
90 FD    BCC *-1</pre>||Clobbers A, Z&N, and C
|-
|-
|<pre>EA      NOP
|<pre>EA      NOP
A2 04    LDX #4
98       TYA
CA      DEX
A0 06   LDY #6
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA       NOP
A0 04   LDY #4
88      DEY
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
D0 FD    BNE *-1
A8      TAY</pre>||Clobbers A, and Z&N
|-
|-
|<pre>EA      NOP
!colspan="2"|9 bytes
08      PHP
28      PLP
20 xx xx JSR @rts14</pre>||Requires @rts12, and @rts14; and writes in stack
|-
|-
|<pre>EA       NOP
|<pre>48       PHA
F6 F6   INC $F6,X
98      TYA
20 xx xx JSR @rts15</pre>||Clobbers Z&N; requires @zptemp, @rts12, @rts15, and writable $00-$FF; and writes in stack
A0 05   LDY #5
88      DEY
D0 FD    BNE *-1
A8      TAY
68      PLA</pre>||Clobbers Z&N
|-
|-
|<pre>08      PHP
|<pre>08      PHP
24 24   BIT $24
98      TYA
28      PLP
A0 05    LDY #5
00 00    BRK 0</pre>||Requires dummy interrupt handler; and writes in stack
88      DEY
D0 FD   BNE *-1
A8      TAY
28      PLP</pre>||Clobbers A
|-
|-
|<pre>68      PLA
|<pre>EA   ... NOP     × 2
48      PHA
08      PHP
68   ... PLA     &times; 4</pre>||Clobbers A, S, and Z&N
A2 04    LDX #4
CA      DEX
10 FD    BPL *-1
28      PLP</pre>||Clobbers X
|-
|-
|<pre>EA       NOP
|<pre>EA  ... NOP     × 2
48   ... PHA     &times; 2
08      PHP
20 xx xx JSR @rts15</pre>||Clobbers S; requires @rts12, and @rts15; and writes in stack
A0 05    LDY #5
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y
|-
|-
!colspan="2"|7 bytes
!colspan="2"|10 bytes
|-
|-
|<pre>EA      NOP
|<pre>08      PHP
08      PHP      \ &times; 3
48       PHA
28      PLP       /</pre>||Writes in stack
18  ... CLC      × 2
A9 2A    LDA #$2A ;hides 'ROL A'
90 FD    BCC *-1
68      PLA
28      PLP</pre>||No requirements
|-
|-
|<pre>EA      NOP
|}
68      PLA      \ &times; 3
 
48      PHA      /</pre>||Clobbers A, and Z&N
 
=== 38 cycles ===
{| class="wikitable testtable"
!colspan="2"|6 bytes
|-
|-
!colspan="2"|8 bytes
|<pre>38      SEC
A9 69    LDA #$69 ;hides 'ADC #$EA'
EA      NOP ;first loop only
B0 FC    BCS *-2</pre>||Clobbers A, Z&N, C, and V
|-
|-
|<pre>E6 xx   INC @zptemp
|<pre>EA      NOP
F6 F6... INC $F6,X&times; 3</pre>||Clobbers Z&N; and requires @zptemp, and writable $00-$FF
A2 07   LDX #7
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|-
!colspan="2"|9 bytes
|<pre>EA      NOP
A0 06    LDY #6
88      DEY
10 FD    BPL *-1</pre>||Clobbers Y, and Z&N
|-
|-
|<pre>E6 xx    INC @zptemp
!colspan="2"|7 bytes
EA  ... NOP      &times; 3
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires @zptemp
|-
|-
|<pre>EA  ... NOP      &times; 2
|<pre>48      PHA
FE 00 02 INC $0200,X
18      CLC
36 36   ROL $36,X
A9 0A   LDA #$0A ;hides 'ASL A'
76 36   ROR $36,X</pre>||Clobbers Z&N; and requires writable $200-$2FF
90 FD   BCC *-1
68      PLA</pre>||Clobbers Z&N, and C
|-
|-
|<pre>EA  ... NOP      &times; 2
|<pre>08      PHP
FE 00 03 INC $0300,X
18      CLC
36 36   ROL $36,X
A9 0A   LDA #$0A ;hides 'ASL A'
76 36   ROR $36,X</pre>||Clobbers Z&N; and requires writable $300-$3FF
90 FD   BCC *-1
28      PLP</pre>||Clobbers A
|-
|-
|<pre>EA  ... NOP      &times; 2
|<pre>08      PHP
FE 00 04 INC $0400,X
A2 05    LDX #5
36 36   ROL $36,X
CA      DEX
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires writable $400-$4FF
10 FD   BPL *-1
28      PLP</pre>||Clobbers X
|-
|-
|<pre>EA  ... NOP      &times; 2
|<pre>08      PHP
FE 00 05 INC $0500,X
A0 06    LDY #6
36 36   ROL $36,X
88      DEY
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires writable $500-$5FF
D0 FD   BNE *-1
28      PLP</pre>||Clobbers Y
|-
|-
|<pre>EA  ... NOP      &times; 2
!colspan="2"|8 bytes
FE 00 06 INC $0600,X
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|-
|<pre>EA  ... NOP      &times; 2
|<pre>08      PHP
FE 00 07 INC $0700,X
48      PHA
36 36    ROL $36,X
A9 0A   LDA #$0A ;hides 'ASL A'
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires writable $700-$7FF
10 FD   BPL *-1
|-
68      PLA
!colspan="2"|10 bytes
28      PLP</pre>||No requirements
|-
|<pre>C5 C5    CMP $C5
26 26    ROL $26  \ &times; 2
66 26    ROR $26  /</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
26 26    ROL $26  \ &times; 2
66 26    ROR $26  /</pre>||Clobbers Z&N, and V
|-
|<pre>04 04    NOP $04
26 26    ROL $26  \ &times; 2
66 26    ROR $26  /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|11 bytes
|-
|<pre>4C xx xx JMP *+3
26 26   ROL $26  \ &times; 2
66 26    ROR $26  /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|12 bytes
|-
|<pre>18  ... CLC      &times; 10
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 10
50 00   BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 10</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 10</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|13 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 10</pre>||Not relocatable code
|-
|-
|}
|}




=== 24 cycles ===
=== 39 cycles ===
{| class="wikitable testtable"
{| class="wikitable testtable"
!colspan="2"|4 bytes
!colspan="2"|4 bytes
|-
|-
|<pre>A9 0A   LDA #$0A ;hides 'ASL A'
|<pre>A9 4A   LDA #$4A ;hides 'LSR A'
10 FD    BPL *-1</pre>||Clobbers A, Z&N, and C
D0 FD    BNE *-1</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|5 bytes
|-
|<pre>48      PHA
68  ... PLA      &times; 2
00 00    BRK 0</pre>||Clobbers A, S, and Z&N; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|6 bytes
|-
|<pre>20 xx xx JSR @rts12&times; 2</pre>||Requires @rts12; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
28      PLP
00 00    BRK 0</pre>||Requires dummy interrupt handler; and writes in stack
|-
|<pre>68  ... PLA      &times; 6</pre>||Clobbers A, S, and Z&N
|-
|<pre>48      PHA
A2 04    LDX #4
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
|<pre>48      PHA
A0 04    LDY #4
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
|-
!colspan="2"|7 bytes
!colspan="2"|7 bytes
|-
|-
|<pre>A6 A6    LDX $A6
|<pre>A6 A6    LDX $A6
A2 04   LDX #4
A2 07   LDX #7
CA      DEX
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|-
|<pre>A4 A4    LDY $A4
|<pre>A4 A4    LDY $A4
A0 04   LDY #4
A0 06   LDY #6
88      DEY
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
10 FD    BPL *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>48      PHA
08      PHP      \ &times; 3
28      PLP      /</pre>||Clobbers S; and writes in stack
|-
|-
!colspan="2"|8 bytes
!colspan="2"|8 bytes
|-
|-
|<pre>36 36   ROL $36,X \ &times; 2
|<pre>98      TYA
76 36   ROR $36,X /</pre>||Clobbers Z&N
A0 88   LDY #136 ;hides 'DEY'
88  ... DEY      × 2
30 FB   BMI *-3
A8      TAY</pre>||Clobbers A, and Z&N
|-
|-
|<pre>08      PHP
|<pre>08      PHP
28       PLP
A2 05    LDX #5 ;hides 'ORA zp'
08       PHP
CA       DEX ;first loop only
26 26    ROL $26
CA       DEX
66 26   ROR $26
D0 FB   BNE *-3
28      PLP</pre>||Writes in stack
28      PLP</pre>||Clobbers A, and X
|-
|-
!colspan="2"|12 bytes
|<pre>08      PHP
A0 05    LDY #5 ;hides 'ORA zp'
88      DEY ;first loop only
88      DEY
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A, and Y
|-
|-
|<pre>EA  ... NOP      &times; 12</pre>||No requirements
!colspan="2"|9 bytes
|-
|-
|}
|<pre>48      PHA
 
A9 2A   LDA #$2A ;hides 'ROL A'
 
EA   ... NOP     × 3
=== 25 cycles ===
10 FA   BPL *-4
{| class="wikitable testtable"
68      PLA</pre>||Clobbers Z&N, and C
!colspan="2"|5 bytes
|-
|<pre>20 xx xx JSR @rts12
00 00   BRK 0</pre>||Requires dummy interrupt handler, and @rts12; and writes in stack
|-
|<pre>68   ... PLA     &times; 3
00 00   BRK 0</pre>||Clobbers A, S, and Z&N; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|6 bytes
|-
|<pre>36 36    ROL $36,X
76 36    ROR $36,X
00 00    BRK 0</pre>||Clobbers Z&N; requires dummy interrupt handler; and writes in stack
|-
|-
|<pre>08      PHP
|<pre>08      PHP
E6 xx    INC @zptemp
28      PLP
00 00    BRK 0</pre>||Requires @zptemp, and dummy interrupt handler; and writes in stack
|-
|<pre>68      PLA
18      CLC
A9 2A    LDA #$2A ;hides 'ROL A'
A9 2A    LDA #$2A ;hides 'ROL A'
90 FD   BCC *-1</pre>||Clobbers A, S, Z&N, and C
EA  ... NOP      × 3
10 FA   BPL *-4
28      PLP</pre>||Clobbers A
|-
|-
|<pre>A2 03    LDX #3
!colspan="2"|10 bytes
48      PHA
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
|-
|<pre>A0 03    LDY #3
|<pre>EA      NOP
48      PHA
48      PHA
98      TYA
A0 05    LDY #5
88      DEY
88      DEY
D0 FC   BNE *-2</pre>||Clobbers Y, S, and Z&N; and writes in stack
D0 FD   BNE *-1
A8      TAY
68      PLA</pre>||Clobbers Z&N
|-
|-
|<pre>68       PLA
|<pre>08       PHP
A6 A6    LDX $A6
A2 04    LDX #4
A2 04    LDX #4
EA      NOP
CA      DEX
CA      DEX
D0 FD   BNE *-1</pre>||Clobbers A, X, S, and Z&N
D0 FC   BNE *-2
28      PLP</pre>||Clobbers X
|-
|-
|<pre>68       PLA
|<pre>08       PHP
A4 A4    LDY $A4
A0 04    LDY #4
A0 04    LDY #4
EA      NOP
88      DEY
88      DEY
D0 FD   BNE *-1</pre>||Clobbers A, Y, S, and Z&N
D0 FC   BNE *-2
28      PLP</pre>||Clobbers Y
|-
|-
|<pre>48      PHA
!colspan="2"|11 bytes
08      PHP
28      PLP
20 xx xx JSR @rts15</pre>||Clobbers S; requires @rts12, and @rts15; and writes in stack
|-
|-
|<pre>48      PHA
|<pre>08      PHP
68   ... PLA     &times; 2
48      PHA
20 xx xx JSR @rts14</pre>||Clobbers A, S, and Z&N; requires @rts12, and @rts14; and writes in stack
98      TYA
|-
A0 04    LDY #4
|<pre>48  ... PHA      &times; 4
88      DEY
00 00   BRK 0</pre>||Clobbers S; requires dummy interrupt handler; and writes in stack
D0 FD    BNE *-1
A8      TAY
68       PLA
28      PLP</pre>||No requirements
|-
|}
 
 
=== 40 cycles ===
{| class="wikitable testtable"
!colspan="2"|6 bytes
|-
|<pre>A2 05    LDX #5 ;hides 'ORA zp'
EA      NOP
CA      DEX
D0 FB    BNE *-3</pre>||Clobbers A, X, and Z&N
|-
|<pre>A0 05    LDY #5 ;hides 'ORA zp'
EA      NOP
88      DEY
D0 FB   BNE *-3</pre>||Clobbers A, Y, and Z&N
|-
|-
!colspan="2"|7 bytes
!colspan="2"|7 bytes
|-
|-
|<pre>EA  ... NOP      &times; 2
|<pre>98       TYA
18       CLC
A0 06   LDY #6
A9 2A   LDA #$2A ;hides 'ROL A'
88      DEY
90 FD    BCC *-1</pre>||Clobbers A, Z&N, and C
10 FD    BPL *-1
A8      TAY</pre>||Clobbers A, and Z&N
|-
|-
|<pre>A9 09    LDA #$09 ;hides 'ORA #$EA'
|<pre>EA  ... NOP      × 2
EA      NOP ;first loop only
A2 07   LDX #7
08      PHP
28      PLP
10 FA    BPL *-4</pre>||Clobbers A, and Z&N; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
A2 04   LDX #4
CA      DEX
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|-
|<pre>EA  ... NOP      &times; 2
|<pre>EA  ... NOP      × 2
A0 04   LDY #4
A0 06   LDY #6
88      DEY
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
10 FD    BPL *-1</pre>||Clobbers Y, and Z&N
|-
|-
|<pre>20 xx xx JSR @rts12
!colspan="2"|8 bytes
08      PHP
F6 F6    INC $F6,X
28      PLP</pre>||Requires @zptemp, @rts12, and writable $00-$FF; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
28      PLP
20 xx xx JSR @rts14</pre>||Requires @rts12, and @rts14; and writes in stack
|-
|<pre>08      PHP
24 24    BIT $24
28      PLP
20 xx xx JSR @rts15</pre>||Requires @rts12, and @rts15; and writes in stack
|-
|-
|<pre>48      PHA
|<pre>48      PHA
A9       LDA #0
18  ... CLC      × 2
20 xx xx JSR delay_256a_16_clocks
A9 0A    LDA #$0A ;hides 'ASL A'
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks, and delay_256a_16_clocks; and writes in stack
90 FD    BCC *-1
68      PLA</pre>||Clobbers Z&N, and C
|-
|-
|<pre>08      PHP
|<pre>08      PHP
A9       LDA #0
18  ... CLC      × 2
20 xx xx JSR delay_256a_16_clocks
A9 0A    LDA #$0A ;hides 'ASL A'
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks, and delay_256a_16_clocks; and writes in stack
90 FD    BCC *-1
28      PLP</pre>||Clobbers A
|-
|-
|<pre>EA      NOP
|<pre>EA      NOP
08      PHP
08      PHP
24 24   BIT $24
A2 05   LDX #5
28      PLP
CA      DEX
00 00    BRK 0</pre>||Requires dummy interrupt handler; and writes in stack
10 FD    BPL *-1
28      PLP</pre>||Clobbers X
|-
|-
|<pre>EA      NOP
|<pre>EA      NOP
68      PLA
48      PHA
68  ... PLA      &times; 4</pre>||Clobbers A, S, and Z&N
|-
|<pre>48  ... PHA      &times; 2
08      PHP
08      PHP
28       PLP
A0 06    LDY #6
20 xx xx JSR @rts12</pre>||Clobbers S; requires @rts12; and writes in stack
88       DEY
|-
D0 FD    BNE *-1
!colspan="2"|8 bytes
28      PLP</pre>||Clobbers Y
|-
|<pre>EA  ... NOP      &times; 2
08      PHP      \ &times; 3
28      PLP       /</pre>||Writes in stack
|-
|<pre>EA  ... NOP      &times; 2
68      PLA      \ &times; 3
48      PHA      /</pre>||Clobbers A, and Z&N
|-
|-
!colspan="2"|9 bytes
!colspan="2"|9 bytes
|-
|-
|<pre>EA       NOP
|<pre>08       PHP
E6 xx   INC @zptemp
48      PHA
F6 F6... INC $F6,X&times; 3</pre>||Clobbers Z&N; and requires @zptemp, and writable $00-$FF
18      CLC
A9 0A   LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68      PLA
28      PLP</pre>||No requirements
|-
|-
!colspan="2"|10 bytes
|}
 
 
=== 41 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|-
|<pre>C5 C5    CMP $C5
|<pre>38      SEC
26 26    ROL $26
A9 4A   LDA #$4A ;hides 'LSR A'
66 26    ROR $26
D0 FD   BNE *-1</pre>||Clobbers A, Z&N, and C
36 36   ROL $36,X
76 36   ROR $36,X</pre>||Clobbers Z&N, and C
|-
|-
|<pre>24 24   BIT $24
|<pre>A2 08   LDX #8
26 26    ROL $26
CA      DEX
66 26    ROR $26
D0 FD   BNE *-1</pre>||Clobbers X, and Z&N
36 36    ROL $36,X
76 36   ROR $36,X</pre>||Clobbers Z&N, and V
|-
|-
|<pre>E6 xx   INC @zptemp
|<pre>A0 08   LDY #8
26 26    ROL $26  \ &times; 2
88      DEY
66 26   ROR $26  /</pre>||Clobbers Z&N; and requires @zptemp
D0 FD   BNE *-1</pre>||Clobbers Y, and Z&N
|-
|-
|<pre>EA  ... NOP      &times; 3
!colspan="2"|7 bytes
FE 00 02 INC $0200,X
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|-
|<pre>EA  ... NOP      &times; 3
|<pre>48      PHA
FE 00 03 INC $0300,X
A9 0A    LDA #$0A ;hides 'ASL A'
36 36   ROL $36,X
18      CLC
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires writable $300-$3FF
10 FC   BPL *-2
68      PLA</pre>||Clobbers Z&N, and C
|-
|-
|<pre>EA  ... NOP      &times; 3
|<pre>08      PHP
FE 00 04 INC $0400,X
A9 0A    LDA #$0A ;hides 'ASL A'
36 36   ROL $36,X
18      CLC
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires writable $400-$4FF
10 FC   BPL *-2
28      PLP</pre>||Clobbers A
|-
|-
|<pre>EA  ... NOP      &times; 3
|<pre>08      PHP
FE 00 05 INC $0500,X
A0 88    LDY #136 ;hides 'DEY'
36 36   ROL $36,X
88      DEY
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires writable $500-$5FF
30 FC   BMI *-2
28      PLP</pre>||Clobbers Y
|-
|-
|<pre>EA  ... NOP      &times; 3
!colspan="2"|9 bytes
FE 00 06 INC $0600,X
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|-
|<pre>EA  ... NOP      &times; 3
|<pre>08      PHP
FE 00 07 INC $0700,X
A6 A6    LDX $A6
36 36   ROL $36,X
A2 05   LDX #5
76 36   ROR $36,X</pre>||Clobbers Z&N; and requires writable $700-$7FF
CA      DEX
10 FD   BPL *-1
28      PLP</pre>||Clobbers X
|-
|-
|<pre>04 04    NOP $04
!colspan="2"|10 bytes
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
|-
!colspan="2"|11 bytes
|<pre>08      PHP
|-
48      PHA
|<pre>4C xx xx JMP *+3
A5 A5   LDA $A5
26 26    ROL $26
A9 0A   LDA #$0A ;hides 'ASL A'
66 26    ROR $26
10 FD   BPL *-1
36 36   ROL $36,X
68      PLA
76 36   ROR $36,X</pre>||Clobbers Z&N; and not relocatable code
28      PLP</pre>||No requirements
|-
!colspan="2"|13 bytes
|-
|<pre>18  ... CLC      &times; 11
90 00   BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 11
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 11</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 11</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|14 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 11</pre>||Not relocatable code
|-
|-
|}
|}




=== 26 cycles ===
=== 42 cycles ===
{| class="wikitable testtable"
{| class="wikitable testtable"
!colspan="2"|4 bytes
!colspan="2"|6 bytes
|-
|-
|<pre>00 00... BRK 0   &times; 2</pre>||Requires dummy interrupt handler; and writes in stack
|<pre>A5 A5   LDA $A5
A9 4A    LDA #$4A ;hides 'LSR A'
D0 FD    BNE *-1</pre>||Clobbers A, Z&N, and C
|-
|-
!colspan="2"|5 bytes
!colspan="2"|7 bytes
|-
|-
|<pre>18       CLC
|<pre>EA       NOP
A9 0A   LDA #$0A ;hides 'ASL A'
A2 05   LDX #5 ;hides 'ORA zp'
10 FD    BPL *-1</pre>||Clobbers A, Z&N, and C
EA      NOP
|-
|<pre>A2 05    LDX #5
CA      DEX
CA      DEX
D0 FD   BNE *-1</pre>||Clobbers X, and Z&N
D0 FB   BNE *-3</pre>||Clobbers A, X, and Z&N
|-
|-
|<pre>A0 05    LDY #5
|<pre>EA      NOP
A0 05    LDY #5 ;hides 'ORA zp'
EA      NOP
88      DEY
88      DEY
D0 FD   BNE *-1</pre>||Clobbers Y, and Z&N
D0 FB   BNE *-3</pre>||Clobbers A, Y, and Z&N
|-
|-
!colspan="2"|6 bytes
!colspan="2"|8 bytes
|-
|<pre>20 xx xx JSR @rts12
20 xx xx JSR @rts14</pre>||Requires @rts12, and @rts14; and writes in stack
|-
|-
|<pre>48      PHA
|<pre>48      PHA
68   ... PLA     &times; 2
A9 2A    LDA #$2A ;hides 'ROL A'
20 xx xx JSR @rts15</pre>||Clobbers A, S, and Z&N; requires @rts12, and @rts15; and writes in stack
08      PHP
|-
28      PLP
!colspan="2"|7 bytes
10 FB    BPL *-3
68       PLA</pre>||Clobbers Z&N, and C
|-
|-
|<pre>EA       NOP
|<pre>08       PHP
20 xx xx JSR @rts12&times; 2</pre>||Requires @rts12; and writes in stack
A9 2A    LDA #$2A ;hides 'ROL A'
08      PHP
28      PLP
10 FB    BPL *-3
28      PLP</pre>||Clobbers A
|-
|-
|<pre>EA       NOP
|<pre>08       PHP
68   ... PLA     &times; 6</pre>||Clobbers A, S, and Z&N
A2 F8    LDX #248 ;hides 'SED'
|-
E8   ... INX     × 2
!colspan="2"|8 bytes
D0 FB    BNE *-3
28      PLP</pre>||Clobbers X
|-
|-
|<pre>08      PHP
|<pre>08      PHP
28      PLP
A0 88    LDY #136 ;hides 'DEY'
08      PHP
88  ... DEY      × 2
36 36   ROL $36,X
30 FB   BMI *-3
76 36    ROR $36,X
28      PLP</pre>||Clobbers Y
28      PLP</pre>||Writes in stack
|-
|<pre>36 36    ROL $36,X
76 36    ROR $36,X
68      PLA      \ &times; 2
48      PHA      /</pre>||Clobbers A, and Z&N
|-
|-
!colspan="2"|9 bytes
!colspan="2"|9 bytes
|-
|-
|<pre>EA       NOP
|<pre>48       PHA
36 36   ROL $36,X \ &times; 2
98      TYA
76 36   ROR $36,X /</pre>||Clobbers Z&N
A0 06   LDY #6
88      DEY
D0 FD   BNE *-1
A8      TAY
68      PLA</pre>||Clobbers Z&N
|-
|-
!colspan="2"|13 bytes
!colspan="2"|10 bytes
|-
|-
|<pre>EA   ... NOP     &times; 13</pre>||No requirements
|<pre>08      PHP
48      PHA
38   ... SEC     × 2
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68      PLA
28      PLP</pre>||No requirements
|-
|-
|}
|}




=== 27 cycles ===
=== 43 cycles ===
{| class="wikitable testtable"
{| class="wikitable testtable"
!colspan="2"|5 bytes
!colspan="2"|6 bytes
|-
|-
|<pre>A9       LDA #0
|<pre>38  ... SEC      × 2
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
A9 4A    LDA #$4A ;hides 'LSR A'
D0 FD    BNE *-1</pre>||Clobbers A, Z&N, and C
|-
|-
|<pre>00 00   BRK 0
|<pre>A2 05   LDX #5
20 xx xx JSR @rts14</pre>||Requires dummy interrupt handler, @rts12, and @rts14; and writes in stack
EA      NOP
CA      DEX
10 FC    BPL *-2</pre>||Clobbers X, and Z&N
|-
|-
|<pre>48       PHA
|<pre>A0 06    LDY #6
A9 0A    LDA #$0A ;hides 'ASL A'
EA       NOP
10 FD   BPL *-1</pre>||Clobbers A, S, Z&N, and C; and writes in stack
88      DEY
D0 FC   BNE *-2</pre>||Clobbers Y, and Z&N
|-
|-
!colspan="2"|6 bytes
!colspan="2"|7 bytes
|-
|-
|<pre>A5 A5    LDA $A5
|<pre>48      PHA
A9 0A   LDA #$0A ;hides 'ASL A'
A9 E9   LDA #$E9 ;hides 'SBC #$2A'
10 FD   BPL *-1</pre>||Clobbers A, Z&N, and C
2A      ROL A ;first loop only
B0 FC   BCS *-2
68      PLA</pre>||Clobbers Z&N, C, and V
|-
|-
|<pre>20 xx xx JSR @rts12
|<pre>08      PHP
20 xx xx JSR @rts15</pre>||Requires @rts12, and @rts15; and writes in stack
A9 E9    LDA #$E9 ;hides 'SBC #$2A'
2A      ROL A ;first loop only
B0 FC    BCS *-2
28      PLP</pre>||Clobbers A
|-
|-
|<pre>00 00    BRK 0
|<pre>08      PHP
08      PHP      \ &times; 2
A2 07    LDX #7
28      PLP       /</pre>||Requires dummy interrupt handler; and writes in stack
CA       DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X
|-
|-
!colspan="2"|7 bytes
|<pre>08      PHP
A0 06    LDY #6
88      DEY
10 FD    BPL *-1
28      PLP</pre>||Clobbers Y
|-
!colspan="2"|8 bytes
|-
|-
|<pre>48      PHA
|<pre>48      PHA
A9 2A   LDA #$2A ;hides 'ROL A'
38      SEC
18       CLC
A9 0A   LDA #$0A ;hides 'ASL A'
38       SEC
10 FC    BPL *-2
10 FC    BPL *-2
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
68      PLA</pre>||Clobbers Z&N, and C
|-
!colspan="2"|10 bytes
|-
|-
|<pre>08      PHP
|<pre>08      PHP
48      PHA
18      CLC
A9 2A    LDA #$2A ;hides 'ROL A'
A9 2A    LDA #$2A ;hides 'ROL A'
18       CLC
EA       NOP
10 FC    BPL *-2
90 FC    BCC *-2
28      PLP</pre>||Clobbers A; and writes in stack
68      PLA
28      PLP</pre>||No requirements
|-
|}
 
 
=== 44 cycles ===
{| class="wikitable testtable"
!colspan="2"|6 bytes
|-
|-
|<pre>A2 04   LDX #4
|<pre>A9 0A   LDA #$0A ;hides 'ASL A'
CA      DEX
EA  ... NOP      × 2
D0 FD   BNE *-1
10 FB   BPL *-3</pre>||Clobbers A, Z&N, and C
F6 xx    INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
|-
|-
|<pre>F6 F6    INC $F6,X
|<pre>A0 88   LDY #136 ;hides 'DEY'
A0 04   LDY #4
EA      NOP
88      DEY
88      DEY
D0 FD   BNE *-1</pre>||Clobbers Y, and Z&N; and requires @zptemp, and writable $00-$FF
30 FB   BMI *-3</pre>||Clobbers Y, and Z&N
|-
|-
|<pre>08      PHP
!colspan="2"|7 bytes
F6 F6    INC $F6,X
28      PLP
20 xx xx JSR @rts14</pre>||Requires @zptemp, @rts12, @rts14, and writable $00-$FF; and writes in stack
|-
|-
|<pre>A2 82   LDX #130 ;hides 'NOP #imm'
|<pre>A6 A6    LDX $A6
04 EA    NOP $EA ;hides 'NOP'
A2 08   LDX #8
CA      DEX
CA      DEX
30 FA   BMI *-4</pre>||Clobbers X, and Z&N; and requires support for unofficial opcodes
D0 FD   BNE *-1</pre>||Clobbers X, and Z&N
|-
|-
|<pre>A0 82    LDY #130 ;hides 'NOP #imm'
!colspan="2"|9 bytes
04 EA    NOP $EA ;hides 'NOP'
88      DEY
30 FA    BMI *-4</pre>||Clobbers Y, and Z&N; and requires support for unofficial opcodes
|-
|-
|<pre>68      PLA
|<pre>C5 C5    CMP $C5
48      PHA
48      PHA
68   ... PLA     &times; 5</pre>||Clobbers A, S, and Z&N
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
10 FC    BPL *-2
68       PLA</pre>||Clobbers Z&N, and C
|-
|-
|<pre>48  ... PHA      &times; 2
|<pre>08      PHP
A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
10 FC    BPL *-2
28      PLP</pre>||Clobbers A
|-
|<pre>08      PHP
A2 04    LDX #4
A2 04    LDX #4
EA  ... NOP      × 2
CA      DEX
CA      DEX
D0 FD   BNE *-1</pre>||Clobbers X, S, and Z&N; and writes in stack
D0 FB   BNE *-3
28      PLP</pre>||Clobbers X
|-
|-
|<pre>48  ... PHA      &times; 2
|<pre>08      PHP
A0 04    LDY #4
A0 04    LDY #4
EA  ... NOP      × 2
88      DEY
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, S, and Z&N; and writes in stack
D0 FB    BNE *-3
28      PLP</pre>||Clobbers Y
|-
!colspan="2"|10 bytes
|-
|<pre>EA      NOP
48      PHA
98      TYA
A0 06    LDY #6
88      DEY
D0 FD    BNE *-1
A8      TAY
68      PLA</pre>||Clobbers Z&N
|-
|-
|<pre>48      PHA
!colspan="2"|11 bytes
20 xx xx JSR @rts12&times; 2</pre>||Clobbers S; requires @rts12; and writes in stack
|-
|<pre>08      PHP
48      PHA
98      TYA
A0 05    LDY #5
88      DEY
D0 FD    BNE *-1
A8      TAY
68      PLA
28      PLP</pre>||No requirements
|-
|}
 
 
=== 45 cycles ===
{| class="wikitable testtable"
!colspan="2"|7 bytes
|-
|-
!colspan="2"|8 bytes
|<pre>98      TYA
A0 08    LDY #8
88      DEY
D0 FD    BNE *-1
A8      TAY</pre>||Clobbers A, and Z&N
|-
|-
|<pre>EA  ... NOP      &times; 3
|<pre>EA  ... NOP      × 2
A2 04   LDX #4
A2 08   LDX #8
CA      DEX
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|-
|<pre>EA  ... NOP      &times; 3
|<pre>EA  ... NOP      × 2
A0 04   LDY #4
A0 08   LDY #8
88      DEY
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|-
|<pre>08      PHP
!colspan="2"|8 bytes
F6 F6    INC $F6,X
28      PLP      \ &times; 2
08      PHP      /
28      PLP</pre>||Requires @zptemp, and writable $00-$FF; and writes in stack
|-
|-
|<pre>F6 F6   INC $F6,X
|<pre>48      PHA
68      PLA       \ &times; 3
38      SEC
48       PHA      /</pre>||Clobbers A, and Z&N; and requires @zptemp, and writable $00-$FF
A9 69   LDA #$69 ;hides 'ADC #$EA'
EA       NOP ;first loop only
B0 FC    BCS *-2
68       PLA</pre>||Clobbers Z&N, C, and V
|-
|-
|<pre>24 24   BIT $24
|<pre>08      PHP
20 xx xx JSR @rts12&times; 2</pre>||Clobbers Z&N, and V; requires @rts12; and writes in stack
38      SEC
A9 69   LDA #$69 ;hides 'ADC #$EA'
EA      NOP ;first loop only
B0 FC    BCS *-2
28      PLP</pre>||Clobbers A
|-
|-
|<pre>20 xx xx JSR @rts12
|<pre>EA      NOP
08      PHP
08      PHP
BA      TSX
A2 07    LDX #7
28       PLP
CA       DEX
9A      TXS
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; requires @rts12; and writes in stack
28      PLP</pre>||Clobbers X
|-
|-
|<pre>85 xx    STA @zptemp
|<pre>EA       NOP
20 xx xx JSR @rts12&times; 2</pre>||Requires @zptemp, and @rts12; and writes in stack
|-
|<pre>EA   ... NOP     &times; 3
08      PHP
08      PHP
28       PLP
A0 06    LDY #6
20 xx xx JSR @rts14</pre>||Requires @rts12, and @rts14; and writes in stack
88       DEY
|-
10 FD   BPL *-1
|<pre>04 04   NOP $04
28      PLP</pre>||Clobbers Y
20 xx xx JSR @rts12&times; 2</pre>||Requires @rts12, and support for unofficial opcodes; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
08      PHP      \ &times; 3
28      PLP       /</pre>||Clobbers S; and writes in stack
|-
|-
!colspan="2"|9 bytes
!colspan="2"|9 bytes
Line 2,176: Line 1,876:
|<pre>08      PHP
|<pre>08      PHP
48      PHA
48      PHA
A9 6A   LDA #$6A ;hides 'ROR A'
18      CLC
38      SEC
A9 0A   LDA #$0A ;hides 'ASL A'
10 FC   BPL *-2
90 FD   BCC *-1
68      PLA
68      PLA
28      PLP</pre>||Writes in stack
28      PLP</pre>||No requirements
|-
|-
|<pre>EA  ... NOP      &times; 3
|}
68      PLA      \ &times; 3
 
48      PHA      /</pre>||Clobbers A, and Z&N
 
=== 46 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|-
!colspan="2"|10 bytes
|<pre>A2 08    LDX #8
CA      DEX
10 FD    BPL *-1</pre>||Clobbers X, and Z&N
|-
|-
|<pre>C5 C5   CMP $C5
|<pre>A0 09   LDY #9
36 36    ROL $36,X \ &times; 2
88      DEY
76 36   ROR $36,X /</pre>||Clobbers Z&N, and C
D0 FD   BNE *-1</pre>||Clobbers Y, and Z&N
|-
|-
|<pre>24 24    BIT $24
!colspan="2"|6 bytes
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|-
|<pre>E6 xx    INC @zptemp
|<pre>48      PHA
26 26   ROL $26
A9 4A   LDA #$4A ;hides 'LSR A'
66 26    ROR $26
D0 FD   BNE *-1
36 36   ROL $36,X
68      PLA</pre>||Clobbers Z&N, and C
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires @zptemp
|-
|-
|<pre>04 04    NOP $04
|<pre>08      PHP
36 36   ROL $36,X \ &times; 2
A9 4A   LDA #$4A ;hides 'LSR A'
76 36   ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
D0 FD   BNE *-1
28      PLP</pre>||Clobbers A
|-
|-
!colspan="2"|11 bytes
!colspan="2"|9 bytes
|-
|-
|<pre>4C xx xx JMP *+3
|<pre>08      PHP
36 36   ROL $36,X \ &times; 2
A6 A6   LDX $A6
76 36   ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
A2 07    LDX #7
CA      DEX
D0 FD   BNE *-1
28      PLP</pre>||Clobbers X
|-
|-
|<pre>FE 00 02 INC $0200,X
|<pre>08      PHP
26 26   ROL $26  \ &times; 2
A4 A4    LDY $A4
66 26   ROR $26  /</pre>||Clobbers Z&N; and requires writable $200-$2FF
A0 06   LDY #6
88      DEY
10 FD   BPL *-1
28      PLP</pre>||Clobbers Y
|-
|-
|<pre>FE 00 03 INC $0300,X
!colspan="2"|10 bytes
26 26    ROL $26  \ &times; 2
66 26    ROR $26  /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|-
|<pre>FE 00 04 INC $0400,X
|<pre>48      PHA
26 26   ROL $26   \ &times; 2
98      TYA
66 26   ROR $26  /</pre>||Clobbers Z&N; and requires writable $400-$4FF
A0 88   LDY #136 ;hides 'DEY'
88   ... DEY      × 2
30 FB   BMI *-3
A8      TAY
68      PLA</pre>||Clobbers Z&N
|-
|-
|<pre>FE 00 05 INC $0500,X
!colspan="2"|11 bytes
26 26    ROL $26  \ &times; 2
66 26    ROR $26  /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|-
|<pre>FE 00 06 INC $0600,X
|<pre>08      PHP
26 26    ROL $26  \ &times; 2
48      PHA
66 26   ROR $26  /</pre>||Clobbers Z&N; and requires writable $600-$6FF
A9 2A   LDA #$2A ;hides 'ROL A'
|-
EA  ... NOP      × 3
|<pre>FE 00 07 INC $0700,X
10 FA   BPL *-4
26 26    ROL $26  \ &times; 2
68      PLA
66 26    ROR $26  /</pre>||Clobbers Z&N; and requires writable $700-$7FF
28      PLP</pre>||No requirements
|-
!colspan="2"|14 bytes
|-
|<pre>18  ... CLC      &times; 12
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 12
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 12</pre>||Requires @zptemp
|-
|<pre>04 04   NOP $04
EA  ... NOP      &times; 12</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|15 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 12</pre>||Not relocatable code
|-
|-
|}
|}




=== 28 cycles ===
=== 47 cycles ===
{| class="wikitable testtable"
{| class="wikitable testtable"
!colspan="2"|5 bytes
!colspan="2"|8 bytes
|-
|-
|<pre>A9       LDA #1
|<pre>98       TYA
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
A0 06    LDY #6
EA      NOP
88      DEY
D0 FC    BNE *-2
A8      TAY</pre>||Clobbers A, and Z&N
|-
|-
|<pre>EA      NOP
|<pre>EA  ... NOP      × 3
00 00... BRK 0    &times; 2</pre>||Requires dummy interrupt handler; and writes in stack
A2 08   LDX #8
|-
|<pre>68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1</pre>||Clobbers A, S, Z&N, and C
|-
!colspan="2"|6 bytes
|-
|<pre>EA  ... NOP      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1</pre>||Clobbers A, Z&N, and C
|-
|<pre>EA      NOP
A2 05   LDX #5
CA      DEX
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|-
|<pre>EA      NOP
|<pre>08      PHP
A0 05   LDY #5
A2 05    LDX #5 ;hides 'ORA zp'
EA      NOP
CA      DEX
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A, and X
|-
|<pre>EA  ... NOP      × 3
A0 08   LDY #8
88      DEY
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|-
|<pre>20 xx xx JSR @rts14&times; 2</pre>||Requires @rts12, and @rts14; and writes in stack
|<pre>08      PHP
A0 05    LDY #5 ;hides 'ORA zp'
EA      NOP
88      DEY
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A, and Y
|-
|-
!colspan="2"|7 bytes
!colspan="2"|9 bytes
|-
|-
|<pre>48      PHA
|<pre>48      PHA
18       CLC
98       TYA
A9 2A   LDA #$2A ;hides 'ROL A'
A0 06   LDY #6
90 FD    BCC *-1
88      DEY
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
10 FD    BPL *-1
A8      TAY
68      PLA</pre>||Clobbers Z&N
|-
|-
|<pre>08      PHP
|<pre>08      PHP
18       CLC
98       TYA
A9 2A   LDA #$2A ;hides 'ROL A'
A0 06   LDY #6
90 FD    BCC *-1
88      DEY
28      PLP</pre>||Clobbers A; and writes in stack
10 FD    BPL *-1
A8      TAY
28      PLP</pre>||Clobbers A
|-
|-
|<pre>08      PHP
|<pre>EA  ... NOP      × 2
A2 04   LDX #4
08      PHP
A2 07   LDX #7
CA      DEX
CA      DEX
D0 FD    BNE *-1
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
28      PLP</pre>||Clobbers X
|-
|-
|<pre>08      PHP
|<pre>EA  ... NOP      × 2
A0 04   LDY #4
08      PHP
A0 06   LDY #6
88      DEY
88      DEY
D0 FD    BNE *-1
10 FD    BPL *-1
28      PLP</pre>||Clobbers Y; and writes in stack
28      PLP</pre>||Clobbers Y
|-
|<pre>08      PHP
F6 F6    INC $F6,X
28      PLP
20 xx xx JSR @rts15</pre>||Requires @zptemp, @rts12, @rts15, and writable $00-$FF; and writes in stack
|-
|<pre>68  ... PLA      &times; 7</pre>||Clobbers A, S, and Z&N
|-
|<pre>48  ... PHA      &times; 2
08      PHP
28      PLP
20 xx xx JSR @rts15</pre>||Clobbers S; requires @rts12, and @rts15; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>08      PHP      \ &times; 4
28      PLP      /</pre>||Writes in stack
|-
|<pre>68      PLA      \ &times; 4
48      PHA      /</pre>||Clobbers A, and Z&N
|-
|-
!colspan="2"|10 bytes
!colspan="2"|10 bytes
|-
|-
|<pre>EA   ... NOP     &times; 2
|<pre>08      PHP
36 36   ROL $36,X \ &times; 2
48      PHA
76 36   ROR $36,X /</pre>||Clobbers Z&N
18   ... CLC     × 2
|-
A9 0A   LDA #$0A ;hides 'ASL A'
!colspan="2"|14 bytes
90 FD   BCC *-1
|-
68      PLA
|<pre>EA  ... NOP      &times; 14</pre>||No requirements
28      PLP</pre>||No requirements
|-
|-
|}
|}




=== 29 cycles ===
=== 48 cycles ===
{| class="wikitable testtable"
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #2
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
|<pre>48      PHA
00 00... BRK 0    &times; 2</pre>||Clobbers S; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|6 bytes
!colspan="2"|6 bytes
|-
|-
|<pre>18      CLC
|<pre>EA      NOP
A9 2A    LDA #$2A ;hides 'ROL A'
A2 08   LDX #8
EA      NOP
90 FC    BCC *-2</pre>||Clobbers A, Z&N, and C
|-
|<pre>A2 04   LDX #4
EA      NOP
CA      DEX
CA      DEX
D0 FC   BNE *-2</pre>||Clobbers X, and Z&N
10 FD   BPL *-1</pre>||Clobbers X, and Z&N
|-
|-
|<pre>A0 04   LDY #4
|<pre>EA      NOP
EA      NOP
A0 09   LDY #9
88      DEY
88      DEY
D0 FC   BNE *-2</pre>||Clobbers Y, and Z&N
D0 FD   BNE *-1</pre>||Clobbers Y, and Z&N
|-
|-
|<pre>20 xx xx JSR @rts14
!colspan="2"|7 bytes
20 xx xx JSR @rts15</pre>||Requires @rts12, @rts14, and @rts15; and writes in stack
|-
|-
|<pre>C5 C5   CMP $C5
|<pre>48      PHA
00 00... BRK 0   &times; 2</pre>||Clobbers Z&N, and C; requires dummy interrupt handler; and writes in stack
38      SEC
A9 4A   LDA #$4A ;hides 'LSR A'
D0 FD   BNE *-1
68      PLA</pre>||Clobbers Z&N, and C
|-
|-
|<pre>24 24   BIT $24
|<pre>08      PHP
00 00... BRK 0   &times; 2</pre>||Clobbers Z&N, and V; requires dummy interrupt handler; and writes in stack
38      SEC
A9 4A   LDA #$4A ;hides 'LSR A'
D0 FD   BNE *-1
28      PLP</pre>||Clobbers A
|-
|-
|<pre>A5 A5   LDA $A5
|<pre>08      PHP
00 00... BRK 0   &times; 2</pre>||Clobbers A, and Z&N; requires dummy interrupt handler; and writes in stack
A2 08   LDX #8
CA      DEX
D0 FD   BNE *-1
28      PLP</pre>||Clobbers X
|-
|-
|<pre>85 xx   STA @zptemp
|<pre>08      PHP
00 00... BRK 0   &times; 2</pre>||Requires @zptemp, and dummy interrupt handler; and writes in stack
A0 08   LDY #8
88      DEY
D0 FD   BNE *-1
28      PLP</pre>||Clobbers Y
|-
|-
|<pre>EA      NOP
!colspan="2"|9 bytes
00 00    BRK 0
20 xx xx JSR @rts14</pre>||Requires dummy interrupt handler, @rts12, and @rts14; and writes in stack
|-
|-
|<pre>04 04   NOP $04
|<pre>08      PHP
00 00... BRK 0   &times; 2</pre>||Requires dummy interrupt handler, and support for unofficial opcodes; and writes in stack
48      PHA
A9 0A   LDA #$0A ;hides 'ASL A'
18      CLC
10 FC   BPL *-2
68      PLA
28      PLP</pre>||No requirements
|-
|-
!colspan="2"|7 bytes
|}
|-
 
|<pre>EA      NOP
 
20 xx xx JSR @rts12
=== 49 cycles ===
20 xx xx JSR @rts15</pre>||Requires @rts12, and @rts15; and writes in stack
{| class="wikitable testtable"
|-
!colspan="2"|4 bytes
|<pre>EA      NOP
00 00    BRK 0
08      PHP      \ &times; 2
28      PLP      /</pre>||Requires dummy interrupt handler; and writes in stack
|-
|-
|<pre>48      PHA
|<pre>A0 88    LDY #136 ;hides 'DEY'
20 xx xx JSR @rts12
30 FD    BMI *-1</pre>||Clobbers Y, and Z&N
20 xx xx JSR @rts14</pre>||Clobbers S; requires @rts12, and @rts14; and writes in stack
|-
|-
!colspan="2"|8 bytes
!colspan="2"|7 bytes
|-
|-
|<pre>48      PHA
|<pre>18      CLC
18      CLC
A9 2A    LDA #$2A ;hides 'ROL A'
A9 2A    LDA #$2A ;hides 'ROL A'
18       CLC
08       PHP
10 FC   BPL *-2
28      PLP
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
90 FB   BCC *-3</pre>||Clobbers A, Z&N, and C
|-
|-
|<pre>08      PHP
|<pre>A6 A6   LDX $A6
18      CLC
A2 08    LDX #8
A9 2A   LDA #$2A ;hides 'ROL A'
18      CLC
10 FC    BPL *-2
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08       PHP
A2 03   LDX #3
EA      NOP
CA      DEX
CA      DEX
D0 FC   BNE *-2
10 FD   BPL *-1</pre>||Clobbers X, and Z&N
28      PLP</pre>||Clobbers X; and writes in stack
|-
|-
|<pre>08      PHP
!colspan="2"|8 bytes
A0 03    LDY #3
EA      NOP
88      DEY
D0 FC    BNE *-2
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|-
|<pre>E6 xx   INC @zptemp
|<pre>C5 C5   CMP $C5
20 xx xx JSR @rts12&times; 2</pre>||Clobbers Z&N; requires @zptemp, and @rts12; and writes in stack
48      PHA
A9 4A    LDA #$4A ;hides 'LSR A'
D0 FD    BNE *-1
68      PLA</pre>||Clobbers Z&N, and C
|-
|-
|<pre>24 24   BIT $24
|<pre>08      PHP
20 xx xx JSR @rts12
A5 A5    LDA $A5
20 xx xx JSR @rts14</pre>||Clobbers Z&N, and V; requires @rts12, and @rts14; and writes in stack
A9 4A   LDA #$4A ;hides 'LSR A'
D0 FD    BNE *-1
28      PLP</pre>||Clobbers A
|-
|-
|<pre>85 xx    STA @zptemp
!colspan="2"|10 bytes
20 xx xx JSR @rts12
20 xx xx JSR @rts14</pre>||Requires @zptemp, @rts12, and @rts14; and writes in stack
|-
|-
|<pre>04 04   NOP $04
|<pre>08      PHP
20 xx xx JSR @rts12
48      PHA
20 xx xx JSR @rts14</pre>||Requires @rts12, @rts14, and support for unofficial opcodes; and writes in stack
A9 2A   LDA #$2A ;hides 'ROL A'
|-
08      PHP
|<pre>EA      NOP
28      PLP
10 FB    BPL *-3
68      PLA
68      PLA
48       PHA
28       PLP</pre>||No requirements
68  ... PLA      &times; 5</pre>||Clobbers A, S, and Z&N
|-
|-
|<pre>EA      NOP
|}
48      PHA
 
20 xx xx JSR @rts12&times; 2</pre>||Clobbers S; requires @rts12; and writes in stack
 
=== 50 cycles ===
{| class="wikitable testtable"
!colspan="2"|6 bytes
|-
|-
!colspan="2"|9 bytes
|<pre>A9 E9    LDA #$E9 ;hides 'SBC #$2A'
2A      ROL A ;first loop only
EA      NOP
B0 FB    BCS *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>A2 07    LDX #7
EA      NOP
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers X, and Z&N
|-
|<pre>A0 06    LDY #6
EA      NOP
88      DEY
10 FC    BPL *-2</pre>||Clobbers Y, and Z&N
|-
|-
|<pre>EA      NOP
!colspan="2"|7 bytes
08      PHP
F6 F6    INC $F6,X
28      PLP      \ &times; 2
08      PHP      /
28      PLP</pre>||Requires @zptemp, and writable $00-$FF; and writes in stack
|-
|-
|<pre>EA       NOP
|<pre>98       TYA
F6 F6   INC $F6,X
A0 09   LDY #9
68       PLA      \ &times; 3
88       DEY
48      PHA       /</pre>||Clobbers A, and Z&N; and requires @zptemp, and writable $00-$FF
D0 FD    BNE *-1
A8       TAY</pre>||Clobbers A, and Z&N
|-
|-
|<pre>20 xx xx JSR @rts12
!colspan="2"|8 bytes
08      PHP
26 26    ROL $26
66 26    ROR $26
28      PLP</pre>||Requires @rts12; and writes in stack
|-
|-
|<pre>48      PHA
|<pre>48      PHA
08      PHP
38  ... SEC      × 2
28      PLP
A9 4A   LDA #$4A ;hides 'LSR A'
08      PHP
D0 FD   BNE *-1
36 36   ROL $36,X
68       PLA</pre>||Clobbers Z&N, and C
76 36   ROR $36,X
28       PLP</pre>||Clobbers S; and writes in stack
|-
|-
!colspan="2"|10 bytes
|<pre>08      PHP
38  ... SEC      × 2
A9 4A    LDA #$4A ;hides 'LSR A'
D0 FD    BNE *-1
28      PLP</pre>||Clobbers A
|-
|-
|<pre>08      PHP
|<pre>08      PHP
26 26   ROL $26
A2 05   LDX #5
66 26    ROR $26
EA      NOP
36 36    ROL $36,X
CA      DEX
76 36   ROR $36,X
10 FC   BPL *-2
28      PLP</pre>||Writes in stack
28      PLP</pre>||Clobbers X
|-
|-
|<pre>68       PLA
|<pre>08       PHP
48       PHA
A0 06    LDY #6
26 26    ROL $26
EA       NOP
66 26   ROR $26
88      DEY
36 36    ROL $36,X
D0 FC   BNE *-2
76 36    ROR $36,X</pre>||Clobbers A, and Z&N
28      PLP</pre>||Clobbers Y
|-
|-
|<pre>E6 xx    INC @zptemp
!colspan="2"|9 bytes
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
|-
!colspan="2"|11 bytes
|<pre>08       PHP
|-
48       PHA
|<pre>EA      NOP
A9 E9   LDA #$E9 ;hides 'SBC #$2A'
C5 C5    CMP $C5
2A       ROL A ;first loop only
36 36    ROL $36,X \ &times; 2
B0 FC   BCS *-2
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
68      PLA
|-
28      PLP</pre>||No requirements
|<pre>EA       NOP
24 24    BIT $24
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>FE 00 02 INC $0200,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X
76 36    ROR $36,X</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>EA       NOP
04 04   NOP $04
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|12 bytes
|-
|<pre>EA       NOP
4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 2
76 36   ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|15 bytes
|-
|<pre>18  ... CLC      &times; 13
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 13
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 13</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 13</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|16 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 13</pre>||Not relocatable code
|-
|-
|}
|}




=== 30 cycles ===
== Sanity checks ==
{| class="wikitable testtable"
 
!colspan="2"|5 bytes
It is possible to verify on compile time that no page wrap occurs,
|-
by replacing all branches with these macros:
|<pre>A9      LDA #3
<pre>.macro branch_check opc, dest
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
    opc dest
|-
    .assert >* = >(dest), warning, "branch_check: failed, crosses page"
|<pre>68      PLA
.endmacro
00 00... BRK 0    &times; 2</pre>||Clobbers A, S, and Z&N; requires dummy interrupt handler; and writes in stack
.macro bccnw dest
|-
        branch_check bcc, dest
!colspan="2"|6 bytes
.endmacro
|-
.macro bcsnw dest
|<pre>F6 F6    INC $F6,X
        branch_check bcs, dest
A9 0A    LDA #$0A ;hides 'ASL A'
.endmacro
10 FD    BPL *-1</pre>||Clobbers A, Z&N, and C; and requires @zptemp, and writable $00-$FF
.macro beqnw dest
|-
        branch_check beq, dest
|<pre>20 xx xx JSR @rts15&times; 2</pre>||Requires @rts12, and @rts15; and writes in stack
.endmacro
|-
.macro bnenw dest
|<pre>EA  ... NOP      &times; 2
        branch_check bne, dest
00 00... BRK 0    &times; 2</pre>||Requires dummy interrupt handler; and writes in stack
.endmacro
|-
.macro bminw dest
|<pre>EA      NOP
        branch_check bmi, dest
68      PLA
.endmacro
A9 0A    LDA #$0A ;hides 'ASL A'
.macro bplnw dest
10 FD    BPL *-1</pre>||Clobbers A, S, Z&N, and C
        branch_check bpl, dest
|-
.endmacro
|<pre>68      PLA
.macro bvcnw dest
A2 05    LDX #5
        branch_check bvc, dest
CA      DEX
.endmacro
D0 FD    BNE *-1</pre>||Clobbers A, X, S, and Z&N
.macro bvsnw dest
|-
        branch_check bvs, dest
|<pre>68      PLA
.endmacro</pre>
A0 05    LDY #5
88      DEY
D0 FD    BNE *-1</pre>||Clobbers A, Y, S, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>EA  ... NOP      &times; 3
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1</pre>||Clobbers A, Z&N, and C
|-
|<pre>EA  ... NOP      &times; 2
A2 05    LDX #5
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA  ... NOP      &times; 2
A0 05    LDY #5
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>EA      NOP
20 xx xx JSR @rts14&times; 2</pre>||Requires @rts12, and @rts14; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>48      PHA
18  ... CLC      &times; 2
A9 2A    LDA #$2A ;hides 'ROL A'
90 FD    BCC *-1
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>08      PHP
18  ... CLC      &times; 2
A9 2A    LDA #$2A ;hides 'ROL A'
90 FD    BCC *-1
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A2 04    LDX #4
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A0 04    LDY #4
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>F6 F6    INC $F6,X
20 xx xx JSR @rts12&times; 2</pre>||Clobbers Z&N; requires @zptemp, @rts12, and writable $00-$FF; and writes in stack
|-
|<pre>EA      NOP
68  ... PLA      &times; 7</pre>||Clobbers A, S, and Z&N
|-
|<pre>48  ... PHA      &times; 2
20 xx xx JSR @rts12&times; 2</pre>||Clobbers S; requires @rts12; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 2A    LDA #$2A ;hides 'ROL A'
10 FD    BPL *-1
68      PLA
28      PLP</pre>||Writes in stack
|-
|<pre>EA      NOP
68      PLA      \ &times; 4
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|10 bytes
|-
|<pre>F6 F6... INC $F6,X&times; 5</pre>||Clobbers Z&N; and requires @zptemp, and writable $00-$FF
|-
!colspan="2"|11 bytes
|-
|<pre>EA  ... NOP      &times; 3
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|15 bytes
|-
|<pre>EA  ... NOP      &times; 15</pre>||No requirements
|-
|}
 
 
=== 31 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
90 FD    BCC *-1</pre>||Clobbers A, Z&N, and C
|-
|<pre>A2 06    LDX #6
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A0 06    LDY #6
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|6 bytes
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>E6 xx    INC @zptemp
00 00... BRK 0    &times; 2</pre>||Clobbers Z&N; requires @zptemp, and dummy interrupt handler; and writes in stack
|-
|<pre>EA      NOP
48      PHA
00 00... BRK 0    &times; 2</pre>||Clobbers S; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>EA      NOP
20 xx xx JSR @rts14
20 xx xx JSR @rts15</pre>||Requires @rts12, @rts14, and @rts15; and writes in stack
|-
|<pre>18      CLC
90 00    BCC *+2
00 00... BRK 0    &times; 2</pre>||Clobbers C; requires dummy interrupt handler; and writes in stack
|-
|<pre>B8      CLV
50 00    BVC *+2
00 00... BRK 0    &times; 2</pre>||Clobbers V; requires dummy interrupt handler; and writes in stack
|-
|<pre>EA      NOP
85 xx    STA @zptemp
00 00... BRK 0    &times; 2</pre>||Requires @zptemp, and dummy interrupt handler; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
00 00    BRK 0
20 xx xx JSR @rts14</pre>||Requires dummy interrupt handler, @rts12, and @rts14; and writes in stack
|-
|<pre>EA      NOP
04 04    NOP $04
00 00... BRK 0    &times; 2</pre>||Requires dummy interrupt handler, and support for unofficial opcodes; and writes in stack
|-
|<pre>48      PHA
20 xx xx JSR @rts14&times; 2</pre>||Clobbers S; requires @rts12, and @rts14; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>08      PHP
28      PLP
20 xx xx JSR @rts12&times; 2</pre>||Requires @rts12; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
00 00    BRK 0
08      PHP      \ &times; 2
28      PLP      /</pre>||Requires dummy interrupt handler; and writes in stack
|-
|<pre>68      PLA
48      PHA
68  ... PLA      &times; 6</pre>||Clobbers A, S, and Z&N
|-
|<pre>48      PHA
08      PHP
A2 04    LDX #4
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X, and S; and writes in stack
|-
|<pre>48      PHA
08      PHP
A0 04    LDY #4
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y, and S; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
A6 A6    LDX $A6
A2 04    LDX #4
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A4 A4    LDY $A4
A0 04    LDY #4
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>48      PHA
08      PHP      \ &times; 4
28      PLP      /</pre>||Clobbers S; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>08      PHP
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
28      PLP</pre>||Writes in stack
|-
|<pre>68      PLA
48      PHA
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|11 bytes
|-
|<pre>EA      NOP
E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
!colspan="2"|12 bytes
|-
|<pre>EA  ... NOP      &times; 2
C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>EA  ... NOP      &times; 2
24 24    BIT $24
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>EA  ... NOP      &times; 2
04 04    NOP $04
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|13 bytes
|-
|<pre>EA  ... NOP      &times; 2
4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|16 bytes
|-
|<pre>18  ... CLC      &times; 14
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 14
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 14</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 14</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|17 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 14</pre>||Not relocatable code
|-
|}
 
 
=== 32 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #5
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>A2 05    LDX #5 ;hides 'ORA zp'
CA      DEX ;first loop only
CA      DEX
D0 FB    BNE *-3</pre>||Clobbers A, X, and Z&N
|-
|<pre>A0 05    LDY #5 ;hides 'ORA zp'
88      DEY ;first loop only
88      DEY
D0 FB    BNE *-3</pre>||Clobbers A, Y, and Z&N
|-
|<pre>F6 F6    INC $F6,X
00 00... BRK 0    &times; 2</pre>||Clobbers Z&N; requires @zptemp, dummy interrupt handler, and writable $00-$FF; and writes in stack
|-
|<pre>68  ... PLA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1</pre>||Clobbers A, S, Z&N, and C
|-
|<pre>48  ... PHA      &times; 2
00 00... BRK 0    &times; 2</pre>||Clobbers S; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>A9 2A    LDA #$2A ;hides 'ROL A'
EA  ... NOP      &times; 2
18      CLC
10 FA    BPL *-4</pre>||Clobbers A, Z&N, and C
|-
|<pre>A2 05    LDX #5
CA      DEX
D0 FD    BNE *-1
F6 xx    INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
|-
|<pre>F6 F6    INC $F6,X
A0 05    LDY #5
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N; and requires @zptemp, and writable $00-$FF
|-
|<pre>EA      NOP
20 xx xx JSR @rts15&times; 2</pre>||Requires @rts12, and @rts15; and writes in stack
|-
|<pre>A2 FA    LDX #250 ;hides 'NOP'
EA      NOP
E8  ... INX      &times; 2
D0 FA    BNE *-4</pre>||Clobbers X, and Z&N; and requires support for unofficial opcodes
|-
|<pre>A0 FA    LDY #250 ;hides 'NOP'
EA      NOP
C8  ... INY      &times; 2
D0 FA    BNE *-4</pre>||Clobbers Y, and Z&N; and requires support for unofficial opcodes
|-
|<pre>EA  ... NOP      &times; 3
00 00... BRK 0    &times; 2</pre>||Requires dummy interrupt handler; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A2 05    LDX #5
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A0 05    LDY #5
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
|<pre>68      PLA
20 xx xx JSR @rts14&times; 2</pre>||Clobbers A, S, and Z&N; requires @rts12, and @rts14; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>A6 A6    LDX $A6
A2 04    LDX #4
EA      NOP
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers X, and Z&N
|-
|<pre>A4 A4    LDY $A4
A0 04    LDY #4
EA      NOP
88      DEY
D0 FC    BNE *-2</pre>||Clobbers Y, and Z&N
|-
|<pre>EA  ... NOP      &times; 2
20 xx xx JSR @rts14&times; 2</pre>||Requires @rts12, and @rts14; and writes in stack
|-
|<pre>68  ... PLA      &times; 8</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|9 bytes
|-
|<pre>48      PHA
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
08      PHP
28      PLP
10 FA    BPL *-4
68      PLA</pre>||Clobbers Z&N; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
18      CLC
A9 2A    LDA #$2A ;hides 'ROL A'
90 FD    BCC *-1
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
A2 03    LDX #3
C5 C5    CMP $C5
CA      DEX
D0 FB    BNE *-3
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 03    LDY #3
C5 C5    CMP $C5
88      DEY
D0 FB    BNE *-3
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>08      PHP
28      PLP
20 xx xx JSR @rts12
08      PHP
F6 F6    INC $F6,X
28      PLP</pre>||Requires @zptemp, @rts12, and writable $00-$FF; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #0
20 xx xx JSR delay_256a_16_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks, and delay_256a_16_clocks; and writes in stack
|-
|<pre>EA      NOP
48  ... PHA      &times; 2
20 xx xx JSR @rts12&times; 2</pre>||Clobbers S; requires @rts12; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>08      PHP
48      PHA
18  ... CLC      &times; 2
A9 2A    LDA #$2A ;hides 'ROL A'
10 FD    BPL *-1
68      PLA
28      PLP</pre>||Writes in stack
|-
|<pre>EA  ... NOP      &times; 2
68      PLA      \ &times; 4
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|11 bytes
|-
|<pre>EA      NOP
F6 F6... INC $F6,X&times; 5</pre>||Clobbers Z&N; and requires @zptemp, and writable $00-$FF
|-
!colspan="2"|12 bytes
|-
|<pre>36 36    ROL $36,X
76 36    ROR $36,X
26 26    ROL $26  \ &times; 2
66 26    ROR $26  /</pre>||Clobbers Z&N
|-
!colspan="2"|16 bytes
|-
|<pre>EA  ... NOP      &times; 16</pre>||No requirements
|-
|}
 
 
=== 33 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #6
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>18  ... CLC      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
90 FD    BCC *-1</pre>||Clobbers A, Z&N, and C
|-
|<pre>EA      NOP
A2 06    LDX #6
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA      NOP
A0 06    LDY #6
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>08      PHP
28      PLP
00 00... BRK 0    &times; 2</pre>||Requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>08      PHP
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
A2 05    LDX #5
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 05    LDY #5
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>48      PHA
20 xx xx JSR @rts15&times; 2</pre>||Clobbers S; requires @rts12, and @rts15; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>08      PHP
28      PLP
20 xx xx JSR @rts12
20 xx xx JSR @rts14</pre>||Requires @rts12, and @rts14; and writes in stack
|-
|<pre>24 24    BIT $24
20 xx xx JSR @rts15&times; 2</pre>||Clobbers Z&N, and V; requires @rts12, and @rts15; and writes in stack
|-
|<pre>85 xx    STA @zptemp
20 xx xx JSR @rts15&times; 2</pre>||Requires @zptemp, @rts12, and @rts15; and writes in stack
|-
|<pre>04 04    NOP $04
20 xx xx JSR @rts15&times; 2</pre>||Requires @rts12, @rts15, and support for unofficial opcodes; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>EA      NOP
08      PHP
28      PLP
20 xx xx JSR @rts12&times; 2</pre>||Requires @rts12; and writes in stack
|-
|<pre>EA      NOP
68      PLA
48      PHA
68  ... PLA      &times; 6</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|10 bytes
|-
|<pre>08      PHP      \ &times; 2
28      PLP      /
08      PHP
36 36    ROL $36,X
76 36    ROR $36,X
28      PLP</pre>||Writes in stack
|-
|<pre>36 36    ROL $36,X
76 36    ROR $36,X
68      PLA      \ &times; 3
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|12 bytes
|-
|<pre>EA  ... NOP      &times; 2
E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>EA      NOP
FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>EA      NOP
FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>EA      NOP
FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>EA      NOP
FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>EA      NOP
FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>EA      NOP
FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
!colspan="2"|13 bytes
|-
|<pre>C5 C5    CMP $C5
EA  ... NOP      &times; 3
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
EA  ... NOP      &times; 3
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 3
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|14 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 3
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|17 bytes
|-
|<pre>18  ... CLC      &times; 15
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 15
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 15</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 15</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|18 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 15</pre>||Not relocatable code
|-
|}
 
 
=== 34 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
10 FC    BPL *-2</pre>||Clobbers A, Z&N, and C
|-
|<pre>A0 88    LDY #136 ;hides 'DEY'
88      DEY
30 FC    BMI *-2</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|6 bytes
|-
|<pre>48      PHA
A2 06    LDX #6
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
|<pre>68  ... PLA      &times; 2
00 00... BRK 0    &times; 2</pre>||Clobbers A, S, and Z&N; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>A6 A6    LDX $A6
A2 06    LDX #6
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>48      PHA
A9      LDA #0
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #0
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>EA      NOP
F6 F6    INC $F6,X
00 00... BRK 0    &times; 2</pre>||Clobbers Z&N; requires @zptemp, dummy interrupt handler, and writable $00-$FF; and writes in stack
|-
|<pre>08      PHP
28      PLP
00 00    BRK 0
20 xx xx JSR @rts14</pre>||Requires dummy interrupt handler, @rts12, and @rts14; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68      PLA</pre>||Clobbers S, Z&N, and C; and writes in stack
|-
|<pre>48      PHA
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
28      PLP</pre>||Clobbers A, and S; and writes in stack
|-
|<pre>EA      NOP
48  ... PHA      &times; 2
00 00... BRK 0    &times; 2</pre>||Clobbers S; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>C5 C5    CMP $C5
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>08      PHP
A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
20 xx xx JSR @rts15&times; 2</pre>||Requires @rts12, and @rts15; and writes in stack
|-
|<pre>F6 F6    INC $F6,X
20 xx xx JSR @rts14&times; 2</pre>||Clobbers Z&N; requires @zptemp, @rts12, @rts14, and writable $00-$FF; and writes in stack
|-
|<pre>EA  ... NOP      &times; 4
00 00... BRK 0    &times; 2</pre>||Requires dummy interrupt handler; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
20 xx xx JSR @rts14&times; 2</pre>||Clobbers S; requires @rts12, and @rts14; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
48      PHA
A9 2A    LDA #$2A ;hides 'ROL A'
18      CLC
10 FC    BPL *-2
68      PLA
28      PLP</pre>||Writes in stack
|-
|<pre>EA      NOP
68  ... PLA      &times; 8</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|10 bytes
|-
|<pre>F6 F6    INC $F6,X
68      PLA      \ &times; 4
48      PHA      /</pre>||Clobbers A, and Z&N; and requires @zptemp, and writable $00-$FF
|-
!colspan="2"|11 bytes
|-
|<pre>EA  ... NOP      &times; 3
68      PLA      \ &times; 4
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|12 bytes
|-
|<pre>26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|17 bytes
|-
|<pre>EA  ... NOP      &times; 17</pre>||No requirements
|-
|}
 
 
=== 35 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #8
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>A9 2A    LDA #$2A ;hides 'ROL A'
08      PHP
28      PLP
10 FB    BPL *-3</pre>||Clobbers A, Z&N, and C; and writes in stack
|-
|<pre>A0 88    LDY #136 ;hides 'DEY'
88  ... DEY      &times; 2
30 FB    BMI *-3</pre>||Clobbers Y, and Z&N
|-
|<pre>A2 F8    LDX #248 ;hides 'SED'
E8  ... INX      &times; 2
D0 FB    BNE *-3</pre>||Clobbers X, Z&N, and D
|-
|<pre>68      PLA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
90 FD    BCC *-1</pre>||Clobbers A, S, Z&N, and C
|-
|<pre>68      PLA
A2 06    LDX #6
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers A, X, S, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>EA  ... NOP      &times; 2
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
90 FD    BCC *-1</pre>||Clobbers A, Z&N, and C
|-
|<pre>EA  ... NOP      &times; 2
A2 06    LDX #6
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>48      PHA
A9      LDA #1
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #1
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>EA      NOP
08      PHP
28      PLP
00 00... BRK 0    &times; 2</pre>||Requires dummy interrupt handler; and writes in stack
|-
|<pre>68      PLA
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
28      PLP</pre>||Clobbers A, S, and Z&N; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>EA  ... NOP      &times; 2
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A2 05    LDX #5
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A0 05    LDY #5
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>08      PHP
28      PLP
20 xx xx JSR @rts14&times; 2</pre>||Requires @rts12, and @rts14; and writes in stack
|-
|<pre>E6 xx    INC @zptemp
20 xx xx JSR @rts15&times; 2</pre>||Clobbers Z&N; requires @zptemp, @rts12, and @rts15; and writes in stack
|-
|<pre>EA      NOP
48      PHA
20 xx xx JSR @rts15&times; 2</pre>||Clobbers S; requires @rts12, and @rts15; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 2A    LDA #$2A ;hides 'ROL A'
90 FD    BCC *-1
68      PLA
28      PLP</pre>||Writes in stack
|-
|<pre>68      PLA
48      PHA
68  ... PLA      &times; 7</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|10 bytes
|-
|<pre>68      PLA      \ &times; 5
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|12 bytes
|-
|<pre>E6 xx    INC @zptemp
F6 F6... INC $F6,X&times; 5</pre>||Clobbers Z&N; and requires @zptemp, and writable $00-$FF
|-
!colspan="2"|13 bytes
|-
|<pre>E6 xx    INC @zptemp
EA  ... NOP      &times; 3
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>EA  ... NOP      &times; 2
FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>EA  ... NOP      &times; 2
FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>EA  ... NOP      &times; 2
FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>EA  ... NOP      &times; 2
FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>EA  ... NOP      &times; 2
FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>EA  ... NOP      &times; 2
FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
!colspan="2"|14 bytes
|-
|<pre>C5 C5    CMP $C5
36 36    ROL $36,X
76 36    ROR $36,X
26 26    ROL $26  \ &times; 2
66 26    ROR $26  /</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
36 36    ROL $36,X
76 36    ROR $36,X
26 26    ROL $26  \ &times; 2
66 26    ROR $26  /</pre>||Clobbers Z&N, and V
|-
|<pre>04 04    NOP $04
36 36    ROL $36,X
76 36    ROR $36,X
26 26    ROL $26  \ &times; 2
66 26    ROR $26  /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|15 bytes
|-
|<pre>4C xx xx JMP *+3
36 36    ROL $36,X
76 36    ROR $36,X
26 26    ROL $26  \ &times; 2
66 26    ROR $26  /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|18 bytes
|-
|<pre>18  ... CLC      &times; 16
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 16
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 16</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 16</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|19 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 16</pre>||Not relocatable code
|-
|}
 
 
=== 36 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9 E9    LDA #$E9 ;hides 'SBC #$2A'
2A      ROL A ;first loop only
B0 FC    BCS *-2</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>A2 07    LDX #7
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A0 07    LDY #7
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|6 bytes
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
10 FC    BPL *-2</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|7 bytes
|-
|<pre>48      PHA
A9      LDA #2
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #2
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>48      PHA
08      PHP
28      PLP
00 00... BRK 0    &times; 2</pre>||Clobbers S; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>48      PHA
18      CLC
A9 2A    LDA #$2A ;hides 'ROL A'
EA      NOP
90 FC    BCC *-2
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>08      PHP
18      CLC
A9 2A    LDA #$2A ;hides 'ROL A'
EA      NOP
90 FC    BCC *-2
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
A2 04    LDX #4
EA      NOP
CA      DEX
D0 FC    BNE *-2
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 04    LDY #4
EA      NOP
88      DEY
D0 FC    BNE *-2
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>F6 F6    INC $F6,X
20 xx xx JSR @rts15&times; 2</pre>||Clobbers Z&N; requires @zptemp, @rts12, @rts15, and writable $00-$FF; and writes in stack
|-
|<pre>08      PHP
28      PLP
20 xx xx JSR @rts14
20 xx xx JSR @rts15</pre>||Requires @rts12, @rts14, and @rts15; and writes in stack
|-
|<pre>08      PHP
24 24    BIT $24
28      PLP
00 00... BRK 0    &times; 2</pre>||Requires dummy interrupt handler; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
20 xx xx JSR @rts15&times; 2</pre>||Clobbers S; requires @rts12, and @rts15; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>20 xx xx JSR @rts12&times; 3</pre>||Requires @rts12; and writes in stack
|-
|<pre>68  ... PLA      &times; 9</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|10 bytes
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 2A    LDA #$2A ;hides 'ROL A'
18      CLC
10 FC    BPL *-2
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>EA      NOP
F6 F6    INC $F6,X
68      PLA      \ &times; 4
48      PHA      /</pre>||Clobbers A, and Z&N; and requires @zptemp, and writable $00-$FF
|-
!colspan="2"|12 bytes
|-
|<pre>36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|18 bytes
|-
|<pre>EA  ... NOP      &times; 18</pre>||No requirements
|-
|}
 
 
=== 37 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #10
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>00 00    BRK 0
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1</pre>||Clobbers A, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
10 FC    BPL *-2</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
|<pre>48      PHA
A0 88    LDY #136 ;hides 'DEY'
88      DEY
30 FC    BMI *-2</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
|<pre>A2 04    LDX #4
68      PLA
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers A, X, S, and Z&N
|-
|<pre>A0 04    LDY #4
68      PLA
88      DEY
D0 FC    BNE *-2</pre>||Clobbers A, Y, S, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
10 FC    BPL *-2</pre>||Clobbers A, Z&N, and C
|-
|<pre>A2 04    LDX #4
EA  ... NOP      &times; 2
CA      DEX
D0 FB    BNE *-3</pre>||Clobbers X, and Z&N
|-
|<pre>A0 04    LDY #4
EA  ... NOP      &times; 2
88      DEY
D0 FB    BNE *-3</pre>||Clobbers Y, and Z&N
|-
|<pre>48      PHA
A9      LDA #3
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #3
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
00 00    BRK 0
10 FA    BPL *-4</pre>||Clobbers A, and Z&N; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>F6 F6    INC $F6,X
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68      PLA</pre>||Clobbers Z&N, and C; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>08      PHP
F6 F6    INC $F6,X
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
28      PLP</pre>||Clobbers A; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>08      PHP
28      PLP
20 xx xx JSR @rts15&times; 2</pre>||Requires @rts12, and @rts15; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
28      PLP
00 00... BRK 0    &times; 2</pre>||Requires dummy interrupt handler; and writes in stack
|-
|<pre>48  ... PHA      &times; 3
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68      PLA</pre>||Clobbers S, Z&N, and C; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
28      PLP</pre>||Clobbers A, and S; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>EA  ... NOP      &times; 3
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>EA  ... NOP      &times; 3
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A2 05    LDX #5
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A0 05    LDY #5
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>EA      NOP
08      PHP
28      PLP
20 xx xx JSR @rts14&times; 2</pre>||Requires @rts12, and @rts14; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>08      PHP
48      PHA
18  ... CLC      &times; 2
A9 2A    LDA #$2A ;hides 'ROL A'
90 FD    BCC *-1
68      PLA
28      PLP</pre>||Writes in stack
|-
|<pre>EA      NOP
68      PLA
48      PHA
68  ... PLA      &times; 7</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|11 bytes
|-
|<pre>EA      NOP
68      PLA      \ &times; 5
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|13 bytes
|-
|<pre>EA      NOP
E6 xx    INC @zptemp
F6 F6... INC $F6,X&times; 5</pre>||Clobbers Z&N; and requires @zptemp, and writable $00-$FF
|-
!colspan="2"|14 bytes
|-
|<pre>C5 C5    CMP $C5
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>E6 xx    INC @zptemp
36 36    ROL $36,X
76 36    ROR $36,X
26 26    ROL $26  \ &times; 2
66 26    ROR $26  /</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>EA  ... NOP      &times; 3
FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>EA  ... NOP      &times; 3
FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>EA  ... NOP      &times; 3
FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>EA  ... NOP      &times; 3
FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>EA  ... NOP      &times; 3
FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>EA  ... NOP      &times; 3
FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>04 04    NOP $04
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|15 bytes
|-
|<pre>4C xx xx JMP *+3
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|19 bytes
|-
|<pre>18  ... CLC      &times; 17
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 17
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 17</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 17</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|20 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 17</pre>||Not relocatable code
|-
|}
 
 
=== 38 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #11
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>38      SEC
A9 69    LDA #$69 ;hides 'ADC #$EA'
EA      NOP ;first loop only
10 FC    BPL *-2</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>EA      NOP
A2 07    LDX #7
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA      NOP
A0 07    LDY #7
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
10 FC    BPL *-2</pre>||Clobbers A, S, Z&N, and C
|-
!colspan="2"|7 bytes
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
90 FD    BCC *-1
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
10 FC    BPL *-2</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
90 FD    BCC *-1
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
A2 06    LDX #6
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 06    LDY #6
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>20 xx xx JSR @rts12
00 00... BRK 0    &times; 2</pre>||Requires dummy interrupt handler, and @rts12; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>EA      NOP
68  ... PLA      &times; 9</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|12 bytes
|-
|<pre>68      PLA      \ &times; 2
48      PHA      /
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|13 bytes
|-
|<pre>EA      NOP
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|19 bytes
|-
|<pre>EA  ... NOP      &times; 19</pre>||No requirements
|-
|}
 
 
=== 39 cycles ===
{| class="wikitable testtable"
!colspan="2"|4 bytes
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|6 bytes
|-
|<pre>00 00... BRK 0    &times; 3</pre>||Requires dummy interrupt handler; and writes in stack
|-
|<pre>48      PHA
A2 07    LDX #7
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
|<pre>48      PHA
A0 07    LDY #7
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>A6 A6    LDX $A6
A2 07    LDX #7
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A4 A4    LDY $A4
A0 07    LDY #7
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>48      PHA
A9      LDA #5
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #5
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>08      PHP
A2 05    LDX #5 ;hides 'ORA zp'
CA      DEX ;first loop only
CA      DEX
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A, and X; and writes in stack
|-
|<pre>08      PHP
A0 05    LDY #5 ;hides 'ORA zp'
88      DEY ;first loop only
88      DEY
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A, and Y; and writes in stack
|-
|<pre>A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
20 xx xx JSR @rts14
10 F9    BPL *-5</pre>||Clobbers A, and Z&N; requires @rts12, and @rts14; and writes in stack
|-
|<pre>68  ... PLA      &times; 2
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
28      PLP</pre>||Clobbers A, S, and Z&N; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>48      PHA
A9 2A    LDA #$2A ;hides 'ROL A'
EA  ... NOP      &times; 2
18      CLC
10 FA    BPL *-4
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>08      PHP
A9 2A    LDA #$2A ;hides 'ROL A'
EA  ... NOP      &times; 2
18      CLC
10 FA    BPL *-4
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
A2 05    LDX #5
CA      DEX
D0 FD    BNE *-1
F6 xx    INC @zptemp,X
28      PLP</pre>||Clobbers X; requires @zptemp; and writes in stack
|-
|<pre>08      PHP
F6 F6    INC $F6,X
A0 05    LDY #5
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>20 xx xx JSR @rts15
20 xx xx JSR @rts12&times; 2</pre>||Requires @rts12, and @rts15; and writes in stack
|-
|<pre>08      PHP
A2 FA    LDX #250 ;hides 'NOP'
EA      NOP
E8  ... INX      &times; 2
D0 FA    BNE *-4
28      PLP</pre>||Clobbers X; requires support for unofficial opcodes; and writes in stack
|-
|<pre>08      PHP
A0 FA    LDY #250 ;hides 'NOP'
EA      NOP
C8  ... INY      &times; 2
D0 FA    BNE *-4
28      PLP</pre>||Clobbers Y; requires support for unofficial opcodes; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
08      PHP
A2 05    LDX #5
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X, and S; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
08      PHP
A0 05    LDY #5
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y, and S; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>08      PHP
A6 A6    LDX $A6
A2 04    LDX #4
EA      NOP
CA      DEX
D0 FC    BNE *-2
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A4 A4    LDY $A4
A0 04    LDY #4
EA      NOP
88      DEY
D0 FC    BNE *-2
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
28      PLP
20 xx xx JSR @rts14&times; 2</pre>||Requires @rts12, and @rts14; and writes in stack
|-
|<pre>68      PLA
48      PHA
68  ... PLA      &times; 8</pre>||Clobbers A, S, and Z&N
|-
|<pre>48      PHA
20 xx xx JSR @rts12&times; 3</pre>||Clobbers S; requires @rts12; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
48      PHA
18      CLC
A9 2A    LDA #$2A ;hides 'ROL A'
90 FD    BCC *-1
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>EA  ... NOP      &times; 2
68      PLA      \ &times; 5
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|14 bytes
|-
|<pre>C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>E6 xx    INC @zptemp
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>04 04    NOP $04
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|15 bytes
|-
|<pre>4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
|<pre>FE 00 02 INC $0200,X
36 36    ROL $36,X
76 36    ROR $36,X
26 26    ROL $26  \ &times; 2
66 26    ROR $26  /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
36 36    ROL $36,X
76 36    ROR $36,X
26 26    ROL $26  \ &times; 2
66 26    ROR $26  /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
36 36    ROL $36,X
76 36    ROR $36,X
26 26    ROL $26  \ &times; 2
66 26    ROR $26  /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
36 36    ROL $36,X
76 36    ROR $36,X
26 26    ROL $26  \ &times; 2
66 26    ROR $26  /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
36 36    ROL $36,X
76 36    ROR $36,X
26 26    ROL $26  \ &times; 2
66 26    ROR $26  /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
36 36    ROL $36,X
76 36    ROR $36,X
26 26    ROL $26  \ &times; 2
66 26    ROR $26  /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
!colspan="2"|20 bytes
|-
|<pre>18  ... CLC      &times; 18
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 18
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 18</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 18</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|21 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 18</pre>||Not relocatable code
|-
|}
 
 
=== 40 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #13
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>A2 05    LDX #5 ;hides 'ORA zp'
EA      NOP
CA      DEX
D0 FB    BNE *-3</pre>||Clobbers A, X, and Z&N
|-
|<pre>A0 05    LDY #5 ;hides 'ORA zp'
EA      NOP
88      DEY
D0 FB    BNE *-3</pre>||Clobbers A, Y, and Z&N
|-
|<pre>68      PLA
A9 E9    LDA #$E9 ;hides 'SBC #$2A'
2A      ROL A ;first loop only
B0 FC    BCS *-2</pre>||Clobbers A, S, Z&N, C, and V
|-
!colspan="2"|7 bytes
|-
|<pre>EA      NOP
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$EA'
EA      NOP ;first loop only
10 FC    BPL *-2</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>EA  ... NOP      &times; 2
A2 07    LDX #7
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA  ... NOP      &times; 2
A0 07    LDY #7
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>F6 F6    INC $F6,X
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
10 FC    BPL *-2</pre>||Clobbers A, Z&N, and C; and requires @zptemp, and writable $00-$FF
|-
|<pre>48      PHA
A9      LDA #6
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #6
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>00 00... BRK 0    &times; 2
20 xx xx JSR @rts14</pre>||Requires dummy interrupt handler, @rts12, and @rts14; and writes in stack
|-
|<pre>EA      NOP
68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
10 FC    BPL *-2</pre>||Clobbers A, S, Z&N, and C
|-
!colspan="2"|8 bytes
|-
|<pre>48      PHA
18  ... CLC      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
90 FD    BCC *-1
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>EA  ... NOP      &times; 3
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
10 FC    BPL *-2</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
18  ... CLC      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
90 FD    BCC *-1
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A2 06    LDX #6
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A0 06    LDY #6
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>00 00... BRK 0    &times; 2
08      PHP      \ &times; 2
28      PLP      /</pre>||Requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>68  ... PLA      &times; 10</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|12 bytes
|-
|<pre>36 36    ROL $36,X
76 36    ROR $36,X
68      PLA      \ &times; 4
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|14 bytes
|-
|<pre>EA  ... NOP      &times; 2
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|20 bytes
|-
|<pre>EA  ... NOP      &times; 20</pre>||No requirements
|-
|}
 
 
=== 41 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1</pre>||Clobbers A, Z&N, and C
|-
|<pre>A2 08    LDX #8
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A0 08    LDY #8
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
10 FC    BPL *-2
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
10 FC    BPL *-2
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
A0 88    LDY #136 ;hides 'DEY'
88      DEY
30 FC    BMI *-2
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>EA      NOP
00 00... BRK 0    &times; 3</pre>||Requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>48      PHA
08      PHP
A2 06    LDX #6
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X, and S; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
A6 A6    LDX $A6
A2 06    LDX #6
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>20 xx xx JSR @rts12
20 xx xx JSR @rts14
20 xx xx JSR @rts15</pre>||Requires @rts12, @rts14, and @rts15; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #0
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>48      PHA
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68      PLA
28      PLP</pre>||Clobbers S; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>08      PHP
C5 C5    CMP $C5
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>EA      NOP
68      PLA
48      PHA
68  ... PLA      &times; 8</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|12 bytes
|-
|<pre>F6 F6    INC $F6,X
68      PLA      \ &times; 5
48      PHA      /</pre>||Clobbers A, and Z&N; and requires @zptemp, and writable $00-$FF
|-
!colspan="2"|13 bytes
|-
|<pre>EA  ... NOP      &times; 3
68      PLA      \ &times; 5
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|14 bytes
|-
|<pre>E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
!colspan="2"|15 bytes
|-
|<pre>EA      NOP
C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>EA      NOP
24 24    BIT $24
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>FE 00 02 INC $0200,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>EA      NOP
04 04    NOP $04
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|16 bytes
|-
|<pre>EA      NOP
4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|21 bytes
|-
|<pre>18  ... CLC      &times; 19
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 19
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 19</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 19</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|22 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 19</pre>||Not relocatable code
|-
|}
 
 
=== 42 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #15
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|6 bytes
|-
|<pre>A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|7 bytes
|-
|<pre>EA      NOP
A2 05    LDX #5 ;hides 'ORA zp'
EA      NOP
CA      DEX
D0 FB    BNE *-3</pre>||Clobbers A, X, and Z&N
|-
|<pre>EA      NOP
A0 05    LDY #5 ;hides 'ORA zp'
EA      NOP
88      DEY
D0 FB    BNE *-3</pre>||Clobbers A, Y, and Z&N
|-
|<pre>A2 07    LDX #7
CA      DEX
D0 FD    BNE *-1
F6 xx    INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
|-
|<pre>F6 F6    INC $F6,X
A0 07    LDY #7
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N; and requires @zptemp, and writable $00-$FF
|-
|<pre>48      PHA
A9      LDA #8
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #8
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A2 07    LDX #7
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A0 07    LDY #7
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
|<pre>48      PHA
00 00... BRK 0    &times; 3</pre>||Clobbers S; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>48      PHA
A9 2A    LDA #$2A ;hides 'ROL A'
08      PHP
28      PLP
10 FB    BPL *-3
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>08      PHP
A9 2A    LDA #$2A ;hides 'ROL A'
08      PHP
28      PLP
10 FB    BPL *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>EA  ... NOP      &times; 3
A2 07    LDX #7
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA  ... NOP      &times; 3
A0 07    LDY #7
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>08      PHP
A2 F8    LDX #248 ;hides 'SED'
E8  ... INX      &times; 2
D0 FB    BNE *-3
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 88    LDY #136 ;hides 'DEY'
88  ... DEY      &times; 2
30 FB    BMI *-3
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>24 24    BIT $24
00 00... BRK 0    &times; 3</pre>||Clobbers Z&N, and V; requires dummy interrupt handler; and writes in stack
|-
|<pre>85 xx    STA @zptemp
00 00... BRK 0    &times; 3</pre>||Requires @zptemp, and dummy interrupt handler; and writes in stack
|-
|<pre>EA      NOP
00 00... BRK 0    &times; 2
20 xx xx JSR @rts14</pre>||Requires dummy interrupt handler, @rts12, and @rts14; and writes in stack
|-
|<pre>04 04    NOP $04
00 00... BRK 0    &times; 3</pre>||Requires dummy interrupt handler, and support for unofficial opcodes; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>20 xx xx JSR @rts14&times; 3</pre>||Requires @rts12, and @rts14; and writes in stack
|-
|<pre>20 xx xx JSR @rts12
20 xx xx JSR @rts15&times; 2</pre>||Requires @rts12, and @rts15; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #1
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>EA      NOP
00 00... BRK 0    &times; 2
08      PHP      \ &times; 2
28      PLP      /</pre>||Requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>EA      NOP
68  ... PLA      &times; 10</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|12 bytes
|-
|<pre>68      PLA      \ &times; 6
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|14 bytes
|-
|<pre>F6 F6... INC $F6,X&times; 7</pre>||Clobbers Z&N; and requires @zptemp, and writable $00-$FF
|-
!colspan="2"|15 bytes
|-
|<pre>EA  ... NOP      &times; 3
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|21 bytes
|-
|<pre>EA  ... NOP      &times; 21</pre>||No requirements
|-
|}
 
 
=== 43 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #16
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
|<pre>68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1</pre>||Clobbers A, S, Z&N, and C
|-
!colspan="2"|6 bytes
|-
|<pre>EA  ... NOP      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1</pre>||Clobbers A, Z&N, and C
|-
|<pre>A2 06    LDX #6
EA      NOP
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers X, and Z&N
|-
|<pre>A0 06    LDY #6
EA      NOP
88      DEY
D0 FC    BNE *-2</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$2A'
2A      ROL A ;first loop only
B0 FC    BCS *-2
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>08      PHP
A9 E9    LDA #$E9 ;hides 'SBC #$2A'
2A      ROL A ;first loop only
B0 FC    BCS *-2
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
A2 07    LDX #7
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 07    LDY #7
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
10 FC    BPL *-2
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
00 00... BRK 0    &times; 3</pre>||Requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>20 xx xx JSR @rts15
20 xx xx JSR @rts14&times; 2</pre>||Requires @rts12, @rts14, and @rts15; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #2
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 2A    LDA #$2A ;hides 'ROL A'
EA      NOP
90 FC    BCC *-2
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>68      PLA
48      PHA
68  ... PLA      &times; 9</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|13 bytes
|-
|<pre>A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 8
10 F4    BPL *-10</pre>||Clobbers A, and Z&N
|-
!colspan="2"|15 bytes
|-
|<pre>EA      NOP
E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
!colspan="2"|16 bytes
|-
|<pre>EA  ... NOP      &times; 2
C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>EA  ... NOP      &times; 2
24 24    BIT $24
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>EA  ... NOP      &times; 2
04 04    NOP $04
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|17 bytes
|-
|<pre>EA  ... NOP      &times; 2
4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|22 bytes
|-
|<pre>18  ... CLC      &times; 20
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 20
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 20</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 20</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|23 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 20</pre>||Not relocatable code
|-
|}
 
 
=== 44 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #17
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
10 FB    BPL *-3</pre>||Clobbers A, Z&N, and C
|-
|<pre>A0 88    LDY #136 ;hides 'DEY'
EA      NOP
88      DEY
30 FB    BMI *-3</pre>||Clobbers Y, and Z&N
|-
|<pre>48      PHA
A2 08    LDX #8
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>A6 A6    LDX $A6
A2 08    LDX #8
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>48      PHA
A9      LDA #10
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #10
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>00 00    BRK 0
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68      PLA</pre>||Clobbers Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>00 00    BRK 0
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
28      PLP</pre>||Clobbers A; requires dummy interrupt handler; and writes in stack
|-
|<pre>E6 xx    INC @zptemp
00 00... BRK 0    &times; 3</pre>||Clobbers Z&N; requires @zptemp, and dummy interrupt handler; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
10 FC    BPL *-2
68      PLA</pre>||Clobbers S, Z&N, and C; and writes in stack
|-
|<pre>48      PHA
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
10 FC    BPL *-2
28      PLP</pre>||Clobbers A, and S; and writes in stack
|-
|<pre>48      PHA
08      PHP
A0 88    LDY #136 ;hides 'DEY'
88      DEY
30 FC    BMI *-2
28      PLP</pre>||Clobbers Y, and S; and writes in stack
|-
|<pre>EA      NOP
48      PHA
00 00... BRK 0    &times; 3</pre>||Clobbers S; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>C5 C5    CMP $C5
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
10 FC    BPL *-2
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>08      PHP
A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
10 FC    BPL *-2
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
A2 04    LDX #4
EA  ... NOP      &times; 2
CA      DEX
D0 FB    BNE *-3
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 04    LDY #4
EA  ... NOP      &times; 2
88      DEY
D0 FB    BNE *-3
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>20 xx xx JSR @rts14
20 xx xx JSR @rts15&times; 2</pre>||Requires @rts12, @rts14, and @rts15; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #3
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>48      PHA
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
00 00    BRK 0
10 FA    BPL *-4
68      PLA</pre>||Clobbers Z&N; requires dummy interrupt handler; and writes in stack
|-
|<pre>18      CLC
90 00    BCC *+2
00 00... BRK 0    &times; 3</pre>||Clobbers C; requires dummy interrupt handler; and writes in stack
|-
|<pre>B8      CLV
50 00    BVC *+2
00 00... BRK 0    &times; 3</pre>||Clobbers V; requires dummy interrupt handler; and writes in stack
|-
|<pre>EA      NOP
85 xx    STA @zptemp
00 00... BRK 0    &times; 3</pre>||Requires @zptemp, and dummy interrupt handler; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
00 00... BRK 0    &times; 2
20 xx xx JSR @rts14</pre>||Requires dummy interrupt handler, @rts12, and @rts14; and writes in stack
|-
|<pre>EA      NOP
04 04    NOP $04
00 00... BRK 0    &times; 3</pre>||Requires dummy interrupt handler, and support for unofficial opcodes; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>08      PHP
F6 F6    INC $F6,X
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68      PLA
28      PLP</pre>||Requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>EA      NOP
20 xx xx JSR @rts14&times; 3</pre>||Requires @rts12, and @rts14; and writes in stack
|-
|<pre>EA      NOP
20 xx xx JSR @rts12
20 xx xx JSR @rts15&times; 2</pre>||Requires @rts12, and @rts15; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
00 00... BRK 0    &times; 2
08      PHP      \ &times; 2
28      PLP      /</pre>||Requires dummy interrupt handler; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68      PLA
28      PLP</pre>||Clobbers S; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>EA  ... NOP      &times; 3
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68      PLA
28      PLP</pre>||Writes in stack
|-
|<pre>68  ... PLA      &times; 11</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|13 bytes
|-
|<pre>EA      NOP
68      PLA      \ &times; 6
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|15 bytes
|-
|<pre>EA      NOP
F6 F6... INC $F6,X&times; 7</pre>||Clobbers Z&N; and requires @zptemp, and writable $00-$FF
|-
!colspan="2"|16 bytes
|-
|<pre>26 26    ROL $26  \ &times; 2
66 26    ROR $26  /
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|22 bytes
|-
|<pre>EA  ... NOP      &times; 22</pre>||No requirements
|-
|}
 
 
=== 45 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #18
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>F6 F6    INC $F6,X
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1</pre>||Clobbers A, Z&N, and C; and requires @zptemp, and writable $00-$FF
|-
|<pre>EA      NOP
68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1</pre>||Clobbers A, S, Z&N, and C
|-
|<pre>68      PLA
A2 08    LDX #8
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers A, X, S, and Z&N
|-
|<pre>68      PLA
A0 08    LDY #8
88      DEY
D0 FD    BNE *-1</pre>||Clobbers A, Y, S, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>EA  ... NOP      &times; 3
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1</pre>||Clobbers A, Z&N, and C
|-
|<pre>EA  ... NOP      &times; 2
A2 08    LDX #8
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA  ... NOP      &times; 2
A0 08    LDY #8
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>48      PHA
A9      LDA #11
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #11
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>48      PHA
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$EA'
EA      NOP ;first loop only
10 FC    BPL *-2
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>08      PHP
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$EA'
EA      NOP ;first loop only
10 FC    BPL *-2
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A2 07    LDX #7
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A0 07    LDY #7
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>F6 F6    INC $F6,X
00 00... BRK 0    &times; 3</pre>||Clobbers Z&N; requires @zptemp, dummy interrupt handler, and writable $00-$FF; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
00 00... BRK 0    &times; 3</pre>||Clobbers S; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
90 FD    BCC *-1
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>EA      NOP
68      PLA
48      PHA
68  ... PLA      &times; 9</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|14 bytes
|-
|<pre>36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
68      PLA      \ &times; 3
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|16 bytes
|-
|<pre>EA  ... NOP      &times; 2
E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>EA      NOP
FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>EA      NOP
FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>EA      NOP
FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>EA      NOP
FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>EA      NOP
FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>EA      NOP
FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
!colspan="2"|17 bytes
|-
|<pre>EA  ... NOP      &times; 3
C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>EA  ... NOP      &times; 3
24 24    BIT $24
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>EA  ... NOP      &times; 3
04 04    NOP $04
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|18 bytes
|-
|<pre>26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|23 bytes
|-
|<pre>18  ... CLC      &times; 21
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 21
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 21</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 21</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|24 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 21</pre>||Not relocatable code
|-
|}
 
 
=== 46 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A2 09    LDX #9
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A0 09    LDY #9
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>A9      LDA #19
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
28      PLP</pre>||Clobbers A; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>08      PHP
28      PLP
00 00... BRK 0    &times; 3</pre>||Requires dummy interrupt handler; and writes in stack
|-
|<pre>48      PHA
08      PHP
A2 07    LDX #7
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X, and S; and writes in stack
|-
|<pre>48      PHA
08      PHP
A0 07    LDY #7
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y, and S; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
A6 A6    LDX $A6
A2 07    LDX #7
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A4 A4    LDY $A4
A0 07    LDY #7
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #5
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>48      PHA
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
20 xx xx JSR @rts14
10 F9    BPL *-5
68      PLA</pre>||Clobbers Z&N; requires @rts12, and @rts14; and writes in stack
|-
|<pre>EA      NOP
20 xx xx JSR @rts14
20 xx xx JSR @rts15&times; 2</pre>||Requires @rts12, @rts14, and @rts15; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
48      PHA
A9 2A    LDA #$2A ;hides 'ROL A'
EA  ... NOP      &times; 2
18      CLC
10 FA    BPL *-4
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>EA      NOP
68  ... PLA      &times; 11</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|14 bytes
|-
|<pre>EA  ... NOP      &times; 2
68      PLA      \ &times; 6
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|16 bytes
|-
|<pre>26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|23 bytes
|-
|<pre>EA  ... NOP      &times; 23</pre>||No requirements
|-
|}
 
 
=== 47 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #20
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>68  ... PLA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1</pre>||Clobbers A, S, Z&N, and C
|-
!colspan="2"|7 bytes
|-
|<pre>BA      TSX
68      PLA
9A      TXS
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1</pre>||Clobbers A, X, Z&N, and C; and unsafe for interrupts
|-
|<pre>A2 08    LDX #8
CA      DEX
D0 FD    BNE *-1
F6 xx    INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
|-
|<pre>EA      NOP
F6 F6    INC $F6,X
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1</pre>||Clobbers A, Z&N, and C; and requires @zptemp, and writable $00-$FF
|-
|<pre>F6 F6    INC $F6,X
A0 08    LDY #8
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N; and requires @zptemp, and writable $00-$FF
|-
|<pre>48      PHA
A9      LDA #13
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #13
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>00 00    BRK 0
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
10 FC    BPL *-2</pre>||Clobbers A, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>00 00    BRK 0
A0 88    LDY #136 ;hides 'DEY'
88      DEY
30 FC    BMI *-2</pre>||Clobbers Y, and Z&N; requires dummy interrupt handler; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A2 08    LDX #8
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A0 08    LDY #8
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
|<pre>EA      NOP
68      PLA
A2 08    LDX #8
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers A, X, S, and Z&N
|-
|<pre>EA      NOP
68      PLA
A0 08    LDY #8
88      DEY
D0 FD    BNE *-1</pre>||Clobbers A, Y, S, and Z&N
|-
!colspan="2"|8 bytes
|-
|<pre>A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
10 FB    BPL *-3</pre>||Clobbers A, Z&N, and C
|-
|<pre>EA  ... NOP      &times; 3
A2 08    LDX #8
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA  ... NOP      &times; 3
A0 08    LDY #8
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>08      PHP
A2 05    LDX #5 ;hides 'ORA zp'
EA      NOP
CA      DEX
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A, and X; and writes in stack
|-
|<pre>08      PHP
A0 05    LDY #5 ;hides 'ORA zp'
EA      NOP
88      DEY
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A, and Y; and writes in stack
|-
|<pre>68      PLA
08      PHP
A9 E9    LDA #$E9 ;hides 'SBC #$2A'
2A      ROL A ;first loop only
B0 FC    BCS *-2
28      PLP</pre>||Clobbers A, S, and Z&N; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>EA      NOP
48      PHA
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$EA'
EA      NOP ;first loop only
10 FC    BPL *-2
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>EA      NOP
08      PHP
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$EA'
EA      NOP ;first loop only
10 FC    BPL *-2
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A2 07    LDX #7
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A0 07    LDY #7
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>F6 F6    INC $F6,X
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
10 FC    BPL *-2
68      PLA</pre>||Clobbers Z&N, and C; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #6
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>EA      NOP
F6 F6    INC $F6,X
00 00... BRK 0    &times; 3</pre>||Clobbers Z&N; requires @zptemp, dummy interrupt handler, and writable $00-$FF; and writes in stack
|-
|<pre>08      PHP
28      PLP
00 00... BRK 0    &times; 2
20 xx xx JSR @rts14</pre>||Requires dummy interrupt handler, @rts12, and @rts14; and writes in stack
|-
|<pre>48  ... PHA      &times; 3
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
10 FC    BPL *-2
68      PLA</pre>||Clobbers S, Z&N, and C; and writes in stack
|-
|<pre>EA      NOP
48  ... PHA      &times; 2
00 00... BRK 0    &times; 3</pre>||Clobbers S; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>08      PHP
48      PHA
18  ... CLC      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
90 FD    BCC *-1
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>68      PLA
48      PHA
68  ... PLA      &times; 10</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|14 bytes
|-
|<pre>36 36    ROL $36,X
76 36    ROR $36,X
68      PLA      \ &times; 5
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|16 bytes
|-
|<pre>E6 xx    INC @zptemp
F6 F6... INC $F6,X&times; 7</pre>||Clobbers Z&N; and requires @zptemp, and writable $00-$FF
|-
!colspan="2"|17 bytes
|-
|<pre>EA  ... NOP      &times; 3
E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>EA  ... NOP      &times; 2
FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>EA  ... NOP      &times; 2
FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>EA  ... NOP      &times; 2
FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>EA  ... NOP      &times; 2
FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>EA  ... NOP      &times; 2
FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>EA  ... NOP      &times; 2
FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
!colspan="2"|18 bytes
|-
|<pre>C5 C5    CMP $C5
26 26    ROL $26  \ &times; 2
66 26    ROR $26  /
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
26 26    ROL $26  \ &times; 2
66 26    ROR $26  /
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>04 04    NOP $04
26 26    ROL $26  \ &times; 2
66 26    ROR $26  /
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|19 bytes
|-
|<pre>EA      NOP
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|24 bytes
|-
|<pre>18  ... CLC      &times; 22
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 22
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 22</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 22</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|25 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 22</pre>||Not relocatable code
|-
|}
 
 
=== 48 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #21
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>EA      NOP
A2 09    LDX #9
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA      NOP
A0 09    LDY #9
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>EA      NOP
68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
A2 08    LDX #8
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 08    LDY #8
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
10 FC    BPL *-2
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>68  ... PLA      &times; 12</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|14 bytes
|-
|<pre>F6 F6    INC $F6,X
68      PLA      \ &times; 6
48      PHA      /</pre>||Clobbers A, and Z&N; and requires @zptemp, and writable $00-$FF
|-
!colspan="2"|15 bytes
|-
|<pre>EA  ... NOP      &times; 3
68      PLA      \ &times; 6
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|16 bytes
|-
|<pre>36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|24 bytes
|-
|<pre>EA  ... NOP      &times; 24</pre>||No requirements
|-
|}
 
 
=== 49 cycles ===
{| class="wikitable testtable"
!colspan="2"|4 bytes
|-
|<pre>A0 88    LDY #136 ;hides 'DEY'
30 FD    BMI *-1</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #22
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
48      PHA
90 FC    BCC *-2</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
|<pre>A2 06    LDX #6
48      PHA
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
24 24    BIT $24
90 FB    BCC *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>18      CLC
A9 2A    LDA #$2A ;hides 'ROL A'
08      PHP
28      PLP
90 FB    BCC *-3</pre>||Clobbers A, Z&N, and C; and writes in stack
|-
|<pre>A6 A6    LDX $A6
A2 09    LDX #9
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
90 FB    BCC *-3</pre>||Clobbers A, Z&N, and C; and requires @zptemp
|-
|<pre>48      PHA
A9      LDA #15
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #15
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
90 FB    BCC *-3</pre>||Clobbers A, Z&N, and C; and requires support for unofficial opcodes
|-
|<pre>48  ... PHA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
68      PLA</pre>||Clobbers S, Z&N, and C; and writes in stack
|-
|<pre>EA      NOP
68  ... PLA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1</pre>||Clobbers A, S, Z&N, and C
|-
|<pre>48      PHA
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
28      PLP</pre>||Clobbers A, and S; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>C5 C5    CMP $C5
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>26 26    ROL $26
66 26    ROR $26
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
28      PLP</pre>||Clobbers A; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
A2 07    LDX #7
CA      DEX
D0 FD    BNE *-1
F6 xx    INC @zptemp,X
28      PLP</pre>||Clobbers X; requires @zptemp; and writes in stack
|-
|<pre>08      PHP
F6 F6    INC $F6,X
A0 07    LDY #7
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #8
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
08      PHP
A2 07    LDX #7
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X, and S; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
08      PHP
A0 07    LDY #7
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y, and S; and writes in stack
|-
|<pre>48      PHA
08      PHP
28      PLP
00 00... BRK 0    &times; 3</pre>||Clobbers S; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>08      PHP
48      PHA
A9 2A    LDA #$2A ;hides 'ROL A'
08      PHP
28      PLP
10 FB    BPL *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|13 bytes
|-
|<pre>EA      NOP
68      PLA
48      PHA
68  ... PLA      &times; 10</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|14 bytes
|-
|<pre>68      PLA      \ &times; 7
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|17 bytes
|-
|<pre>EA      NOP
E6 xx    INC @zptemp
F6 F6... INC $F6,X&times; 7</pre>||Clobbers Z&N; and requires @zptemp, and writable $00-$FF
|-
!colspan="2"|18 bytes
|-
|<pre>C5 C5    CMP $C5
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>E6 xx    INC @zptemp
26 26    ROL $26  \ &times; 2
66 26    ROR $26  /
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>EA  ... NOP      &times; 3
FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>EA  ... NOP      &times; 3
FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>EA  ... NOP      &times; 3
FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>EA  ... NOP      &times; 3
FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>EA  ... NOP      &times; 3
FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>EA  ... NOP      &times; 3
FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>04 04    NOP $04
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|19 bytes
|-
|<pre>4C xx xx JMP *+3
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|20 bytes
|-
|<pre>EA  ... NOP      &times; 2
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|25 bytes
|-
|<pre>18  ... CLC      &times; 23
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 23
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 23</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 23</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|26 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 23</pre>||Not relocatable code
|-
|}
 
 
=== 50 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #23
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>A9 E9    LDA #$E9 ;hides 'SBC #$2A'
2A      ROL A ;first loop only
EA      NOP
B0 FB    BCS *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>A2 07    LDX #7
EA      NOP
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers X, and Z&N
|-
|<pre>A0 07    LDY #7
EA      NOP
88      DEY
D0 FC    BNE *-2</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>A9 2A    LDA #$2A ;hides 'ROL A'
20 xx xx JSR @rts12
10 FA    BPL *-4</pre>||Clobbers A, Z&N, and C; requires @rts12; and writes in stack
|-
|<pre>48      PHA
A9      LDA #16
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #16
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>68  ... PLA      &times; 2
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1</pre>||Clobbers A, S, Z&N, and C
|-
|<pre>68      PLA
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
28      PLP</pre>||Clobbers A, S, and Z&N; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>EA  ... NOP      &times; 2
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1</pre>||Clobbers A, Z&N, and C
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
A2 06    LDX #6
EA      NOP
CA      DEX
D0 FC    BNE *-2
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 06    LDY #6
EA      NOP
88      DEY
D0 FC    BNE *-2
28      PLP</pre>||Clobbers Y; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$2A'
2A      ROL A ;first loop only
B0 FC    BCS *-2
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|13 bytes
|-
|<pre>EA      NOP
68  ... PLA      &times; 12</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|15 bytes
|-
|<pre>68      PLA
48      PHA
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 8
10 F4    BPL *-10</pre>||Clobbers A, and Z&N
|-
!colspan="2"|17 bytes
|-
|<pre>EA      NOP
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|25 bytes
|-
|<pre>EA  ... NOP      &times; 25</pre>||No requirements
|-
|}
 
 
=== 51 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
30 FC    BMI *-2</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>A2 09    LDX #9
CA      DEX
10 FD    BPL *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A0 09    LDY #9
88      DEY
10 FD    BPL *-1</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>20 xx xx JSR @rts12
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1</pre>||Clobbers A, Z&N, and C; requires @rts12; and writes in stack
|-
|<pre>48      PHA
A9      LDA #17
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #17
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>68  ... PLA      &times; 3
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1</pre>||Clobbers A, S, Z&N, and C
|-
!colspan="2"|8 bytes
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
10 FB    BPL *-3
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>36 36    ROL $36,X
76 36    ROR $36,X
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
10 FB    BPL *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
A0 88    LDY #136 ;hides 'DEY'
EA      NOP
88      DEY
30 FB    BMI *-3
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>48      PHA
08      PHP
A2 08    LDX #8
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X, and S; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
A6 A6    LDX $A6
A2 08    LDX #8
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #10
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>20 xx xx JSR @rts12
00 00... BRK 0    &times; 3</pre>||Requires dummy interrupt handler, and @rts12; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>00 00    BRK 0
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68      PLA
28      PLP</pre>||Requires dummy interrupt handler; and writes in stack
|-
|<pre>48      PHA
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
10 FC    BPL *-2
68      PLA
28      PLP</pre>||Clobbers S; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
C5 C5    CMP $C5
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
10 FC    BPL *-2
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|13 bytes
|-
|<pre>68      PLA
48      PHA
68  ... PLA      &times; 11</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|15 bytes
|-
|<pre>EA      NOP
68      PLA      \ &times; 7
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|18 bytes
|-
|<pre>C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>E6 xx    INC @zptemp
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>04 04    NOP $04
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|19 bytes
|-
|<pre>4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
|<pre>FE 00 02 INC $0200,X
26 26    ROL $26  \ &times; 2
66 26    ROR $26  /
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
26 26    ROL $26  \ &times; 2
66 26    ROR $26  /
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
26 26    ROL $26  \ &times; 2
66 26    ROR $26  /
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
26 26    ROL $26  \ &times; 2
66 26    ROR $26  /
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
26 26    ROL $26  \ &times; 2
66 26    ROR $26  /
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
26 26    ROL $26  \ &times; 2
66 26    ROR $26  /
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
!colspan="2"|21 bytes
|-
|<pre>EA  ... NOP      &times; 3
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|26 bytes
|-
|<pre>18  ... CLC      &times; 24
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 24
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 24</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 24</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|27 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 24</pre>||Not relocatable code
|-
|}
 
 
=== 52 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #25
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
|<pre>48      PHA
A0 88    LDY #136 ;hides 'DEY'
30 FD    BMI *-1</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
!colspan="2"|6 bytes
|-
|<pre>A4 A4    LDY $A4
A0 88    LDY #136 ;hides 'DEY'
30 FD    BMI *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>00 00    BRK 0
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1</pre>||Clobbers A, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>38      SEC
A9 69    LDA #$69 ;hides 'ADC #$EA'
EA      NOP ;first loop only
EA      NOP
10 FB    BPL *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>EA      NOP
A2 07    LDX #7
EA      NOP
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers X, and Z&N
|-
|<pre>48      PHA
A9      LDA #18
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #18
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
48      PHA
90 FC    BCC *-2</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>F6 F6    INC $F6,X
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
68      PLA</pre>||Clobbers Z&N, and C; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>F6 F6    INC $F6,X
68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1</pre>||Clobbers A, Z&N, and C; and requires @zptemp, and writable $00-$FF
|-
|<pre>08      PHP
F6 F6    INC $F6,X
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
28      PLP</pre>||Clobbers A; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>18      CLC
A9 2A    LDA #$2A ;hides 'ROL A'
20 xx xx JSR @rts12
10 FA    BPL *-4</pre>||Clobbers A, Z&N, and C; requires @rts12; and writes in stack
|-
|<pre>00 00... BRK 0    &times; 4</pre>||Requires dummy interrupt handler; and writes in stack
|-
|<pre>48  ... PHA      &times; 3
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
68      PLA</pre>||Clobbers S, Z&N, and C; and writes in stack
|-
|<pre>68  ... PLA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
10 FB    BPL *-3</pre>||Clobbers A, S, Z&N, and C
|-
|<pre>48  ... PHA      &times; 2
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
28      PLP</pre>||Clobbers A, and S; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>EA  ... NOP      &times; 3
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>18      CLC
A9 4A    LDA #$4A ;hides 'LSR A'
36 36    ROL $36,X
76 36    ROR $36,X
90 F9    BCC *-5</pre>||Clobbers A, Z&N, and C
|-
|<pre>EA  ... NOP      &times; 3
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A2 08    LDX #8
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A0 08    LDY #8
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #11
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>08      PHP
48      PHA
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$EA'
EA      NOP ;first loop only
10 FC    BPL *-2
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|13 bytes
|-
|<pre>68  ... PLA      &times; 13</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|16 bytes
|-
|<pre>36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
68      PLA      \ &times; 4
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|18 bytes
|-
|<pre>EA  ... NOP      &times; 2
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|26 bytes
|-
|<pre>EA  ... NOP      &times; 26</pre>||No requirements
|-
|}
 
 
=== 53 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #26
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
|<pre>68      PLA
A0 88    LDY #136 ;hides 'DEY'
30 FD    BMI *-1</pre>||Clobbers A, Y, S, and Z&N
|-
!colspan="2"|6 bytes
|-
|<pre>18      CLC
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
30 FC    BMI *-2</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>EA      NOP
A2 09    LDX #9
CA      DEX
10 FD    BPL *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA      NOP
A0 09    LDY #9
88      DEY
10 FD    BPL *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>A9 2A    LDA #$2A ;hides 'ROL A'
00 00    BRK 0
10 FB    BPL *-3</pre>||Clobbers A, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>08      PHP
A2 09    LDX #9
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 09    LDY #9
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>20 xx xx JSR @rts14
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1</pre>||Clobbers A, Z&N, and C; requires @rts12, and @rts14; and writes in stack
|-
|<pre>48      PHA
A9      LDA #19
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #19
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>68      PLA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
48      PHA
90 FC    BCC *-2</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
68      PLA
28      PLP</pre>||Writes in stack
|-
|<pre>68      PLA      \ &times; 2
48      PHA      /
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|14 bytes
|-
|<pre>EA      NOP
68      PLA
48      PHA
68  ... PLA      &times; 11</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|16 bytes
|-
|<pre>EA  ... NOP      &times; 2
68      PLA      \ &times; 7
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|18 bytes
|-
|<pre>E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
!colspan="2"|19 bytes
|-
|<pre>EA      NOP
C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>EA      NOP
24 24    BIT $24
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>FE 00 02 INC $0200,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>EA      NOP
04 04    NOP $04
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|20 bytes
|-
|<pre>EA      NOP
4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|22 bytes
|-
|<pre>EA  ... NOP      &times; 4
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|27 bytes
|-
|<pre>18  ... CLC      &times; 25
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 25
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 25</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 25</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|28 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 25</pre>||Not relocatable code
|-
|}
 
 
=== 54 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #27
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>E6 xx    INC @zptemp
A0 88    LDY #136 ;hides 'DEY'
30 FD    BMI *-1</pre>||Clobbers Y, and Z&N; and requires @zptemp
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
48  ... PHA      &times; 2
10 FB    BPL *-3</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
|<pre>48      PHA
A2 09    LDX #9
CA      DEX
10 FD    BPL *-1</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
|<pre>48      PHA
A0 09    LDY #9
88      DEY
10 FD    BPL *-1</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
|<pre>A0 88    LDY #136 ;hides 'DEY'
68      PLA
88      DEY
30 FB    BMI *-3</pre>||Clobbers A, Y, S, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 2
18      CLC
10 FA    BPL *-4</pre>||Clobbers A, Z&N, and C
|-
|<pre>A6 A6    LDX $A6
A2 09    LDX #9
CA      DEX
10 FD    BPL *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A4 A4    LDY $A4
A0 09    LDY #9
88      DEY
10 FD    BPL *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>48      PHA
A9      LDA #20
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #20
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>68  ... PLA      &times; 2
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
28      PLP</pre>||Clobbers A, S, and Z&N; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
BA      TSX
68      PLA
9A      TXS
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
28      PLP</pre>||Clobbers A, and X; writes in stack; and unsafe for interrupts
|-
|<pre>08      PHP
A2 08    LDX #8
CA      DEX
D0 FD    BNE *-1
F6 xx    INC @zptemp,X
28      PLP</pre>||Clobbers X; requires @zptemp; and writes in stack
|-
|<pre>EA      NOP
F6 F6    INC $F6,X
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
68      PLA</pre>||Clobbers Z&N, and C; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>08      PHP
EA      NOP
F6 F6    INC $F6,X
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
28      PLP</pre>||Clobbers A; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>08      PHP
F6 F6    INC $F6,X
A0 08    LDY #8
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #13
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>EA      NOP
00 00... BRK 0    &times; 4</pre>||Requires dummy interrupt handler; and writes in stack
|-
|<pre>EA      NOP
48  ... PHA      &times; 3
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
68      PLA</pre>||Clobbers S, Z&N, and C; and writes in stack
|-
|<pre>EA      NOP
48  ... PHA      &times; 2
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
28      PLP</pre>||Clobbers A, and S; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
08      PHP
A2 08    LDX #8
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X, and S; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
08      PHP
A0 08    LDY #8
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y, and S; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>C5 C5    CMP $C5
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
10 FB    BPL *-3
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>08      PHP
A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
10 FB    BPL *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>EA  ... NOP      &times; 3
08      PHP
A2 08    LDX #8
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA  ... NOP      &times; 3
08      PHP
A0 08    LDY #8
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>EA      NOP
08      PHP
48      PHA
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$EA'
EA      NOP ;first loop only
10 FC    BPL *-2
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|14 bytes
|-
|<pre>EA      NOP
68  ... PLA      &times; 13</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|16 bytes
|-
|<pre>36 36    ROL $36,X
76 36    ROR $36,X
68      PLA      \ &times; 6
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|18 bytes
|-
|<pre>36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|27 bytes
|-
|<pre>EA  ... NOP      &times; 27</pre>||No requirements
|-
|}
 
 
=== 55 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, and C
|-
|<pre>A2 F8    LDX #248 ;hides 'SED'
E8      INX
D0 FC    BNE *-2</pre>||Clobbers X, Z&N, and D
|-
|<pre>A0 F8    LDY #248 ;hides 'SED'
C8      INY
D0 FC    BNE *-2</pre>||Clobbers Y, Z&N, and D
|-
!colspan="2"|6 bytes
|-
|<pre>F6 F6    INC $F6,X
A0 88    LDY #136 ;hides 'DEY'
30 FD    BMI *-1</pre>||Clobbers Y, and Z&N; and requires @zptemp, and writable $00-$FF
|-
|<pre>48  ... PHA      &times; 2
A0 88    LDY #136 ;hides 'DEY'
30 FD    BMI *-1</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
|<pre>A2 06    LDX #6
68      PLA
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers A, X, S, and Z&N
|-
|<pre>A0 06    LDY #6
68      PLA
88      DEY
D0 FC    BNE *-2</pre>||Clobbers A, Y, S, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>EA  ... NOP      &times; 2
A2 09    LDX #9
CA      DEX
10 FD    BPL *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA  ... NOP      &times; 2
A0 09    LDY #9
88      DEY
10 FD    BPL *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>48      PHA
A9      LDA #21
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #21
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>EA      NOP
08      PHP
A2 09    LDX #9
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A0 09    LDY #9
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|14 bytes
|-
|<pre>68      PLA
48      PHA
68  ... PLA      &times; 12</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|16 bytes
|-
|<pre>A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 11
10 F1    BPL *-13</pre>||Clobbers A, and Z&N
|-
!colspan="2"|19 bytes
|-
|<pre>EA      NOP
E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
!colspan="2"|20 bytes
|-
|<pre>EA  ... NOP      &times; 2
C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>EA  ... NOP      &times; 2
24 24    BIT $24
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>EA  ... NOP      &times; 2
04 04    NOP $04
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|21 bytes
|-
|<pre>EA  ... NOP      &times; 2
4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|22 bytes
|-
|<pre>26 26    ROL $26
66 26    ROR $26
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|28 bytes
|-
|<pre>18  ... CLC      &times; 26
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 26
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 26</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 26</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|29 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 26</pre>||Not relocatable code
|-
|}
 
 
=== 56 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A2 0B    LDX #11
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A0 0B    LDY #11
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>A9      LDA #29
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>08      PHP
A0 88    LDY #136 ;hides 'DEY'
30 FD    BMI *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>E6 xx    INC @zptemp
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
30 FC    BMI *-2</pre>||Clobbers A, Z&N, C, and V; and requires @zptemp
|-
|<pre>A9 2A    LDA #$2A ;hides 'ROL A'
20 xx xx JSR @rts14
10 FA    BPL *-4</pre>||Clobbers A, Z&N, and C; requires @rts12, and @rts14; and writes in stack
|-
|<pre>48      PHA
A9      LDA #22
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #22
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
48  ... PHA      &times; 2
10 FB    BPL *-3</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 2
18      CLC
10 FA    BPL *-4</pre>||Clobbers A, Z&N, and C
|-
|<pre>48      PHA
08      PHP
A2 09    LDX #9
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X, and S; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>48      PHA
18      CLC
A9 2A    LDA #$2A ;hides 'ROL A'
08      PHP
28      PLP
90 FB    BCC *-3
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>08      PHP
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
24 24    BIT $24
90 FB    BCC *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
A2 06    LDX #6
C5 C5    CMP $C5
CA      DEX
D0 FB    BNE *-3
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #15
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>48      PHA
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
68      PLA
28      PLP</pre>||Clobbers S; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>08      PHP
C5 C5    CMP $C5
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|14 bytes
|-
|<pre>68  ... PLA      &times; 14</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|16 bytes
|-
|<pre>68      PLA      \ &times; 8
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|19 bytes
|-
|<pre>EA      NOP
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|28 bytes
|-
|<pre>EA  ... NOP      &times; 28</pre>||No requirements
|-
|}
 
 
=== 57 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #30
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, and C
|-
|<pre>A2 08    LDX #8
EA      NOP
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers X, and Z&N
|-
|<pre>A0 08    LDY #8
EA      NOP
88      DEY
D0 FC    BNE *-2</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>48      PHA
A9      LDA #23
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #23
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$2A'
2A      ROL A ;first loop only
EA      NOP
B0 FB    BCS *-3
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>08      PHP
A9 E9    LDA #$E9 ;hides 'SBC #$2A'
2A      ROL A ;first loop only
EA      NOP
B0 FB    BCS *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
A2 07    LDX #7
EA      NOP
CA      DEX
D0 FC    BNE *-2
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 07    LDY #7
EA      NOP
88      DEY
D0 FC    BNE *-2
28      PLP</pre>||Clobbers Y; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>48      PHA
A9 2A    LDA #$2A ;hides 'ROL A'
20 xx xx JSR @rts12
10 FA    BPL *-4
68      PLA</pre>||Clobbers Z&N, and C; requires @rts12; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #16
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|15 bytes
|-
|<pre>EA      NOP
68      PLA
48      PHA
68  ... PLA      &times; 12</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|17 bytes
|-
|<pre>EA      NOP
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 11
10 F1    BPL *-13</pre>||Clobbers A, and Z&N
|-
!colspan="2"|20 bytes
|-
|<pre>C5 C5    CMP $C5
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and V
|-
|<pre>85 xx    STA @zptemp
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>EA      NOP
FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>EA      NOP
FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>EA      NOP
FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>EA      NOP
FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>EA      NOP
FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>EA      NOP
FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>04 04    NOP $04
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|21 bytes
|-
|<pre>4C xx xx JMP *+3
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|22 bytes
|-
|<pre>36 36    ROL $36,X
76 36    ROR $36,X
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|29 bytes
|-
|<pre>18  ... CLC      &times; 27
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 27
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 27</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 27</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|30 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 27</pre>||Not relocatable code
|-
|}
 
 
=== 58 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #31
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>EA      NOP
A2 0B    LDX #11
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA      NOP
A0 0B    LDY #11
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>38      SEC
A9 EB    LDA #$EB ;hides 'SBC #$1A'
1A      NOP ;first loop only
B0 FC    BCS *-2</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
30 FC    BMI *-2
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
30 FC    BMI *-2
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
A2 09    LDX #9
CA      DEX
10 FD    BPL *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 09    LDY #9
88      DEY
10 FD    BPL *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>20 xx xx JSR @rts12
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
68      PLA</pre>||Clobbers Z&N, and C; requires @rts12; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #17
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
10 FB    BPL *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|15 bytes
|-
|<pre>EA      NOP
68  ... PLA      &times; 14</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|17 bytes
|-
|<pre>EA      NOP
68      PLA      \ &times; 8
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|20 bytes
|-
|<pre>26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|29 bytes
|-
|<pre>EA  ... NOP      &times; 29</pre>||No requirements
|-
|}
 
 
=== 59 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #32
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
10 FB    BPL *-3</pre>||Clobbers A, Z&N, and C; and writes in stack
|-
|<pre>68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2</pre>||Clobbers A, S, Z&N, and C
|-
|<pre>48      PHA
A2 0B    LDX #11
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
|<pre>48      PHA
A0 0B    LDY #11
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
|<pre>68      PLA
A2 F8    LDX #248 ;hides 'SED'
E8      INX
D0 FC    BNE *-2</pre>||Clobbers A, X, S, Z&N, and D
|-
|<pre>68      PLA
A0 F8    LDY #248 ;hides 'SED'
C8      INY
D0 FC    BNE *-2</pre>||Clobbers A, Y, S, Z&N, and D
|-
!colspan="2"|7 bytes
|-
|<pre>EA  ... NOP      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, and C
|-
|<pre>A6 A6    LDX $A6
A2 0B    LDX #11
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A4 A4    LDY $A4
A0 0B    LDY #11
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>48      PHA
A9      LDA #25
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #25
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>48      PHA
08      PHP
A0 88    LDY #136 ;hides 'DEY'
30 FD    BMI *-1
28      PLP</pre>||Clobbers Y, and S; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>08      PHP
A4 A4    LDY $A4
A0 88    LDY #136 ;hides 'DEY'
30 FD    BMI *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>00 00    BRK 0
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
68      PLA</pre>||Clobbers Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>00 00    BRK 0
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
28      PLP</pre>||Clobbers A; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>48      PHA
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$EA'
EA      NOP ;first loop only
EA      NOP
10 FB    BPL *-3
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>08      PHP
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$EA'
EA      NOP ;first loop only
EA      NOP
10 FB    BPL *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A2 07    LDX #7
EA      NOP
CA      DEX
D0 FC    BNE *-2
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #18
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>08      PHP
F6 F6    INC $F6,X
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
68      PLA
28      PLP</pre>||Requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>48      PHA
18      CLC
A9 2A    LDA #$2A ;hides 'ROL A'
20 xx xx JSR @rts12
10 FA    BPL *-4
68      PLA</pre>||Clobbers Z&N, and C; requires @rts12; and writes in stack
|-
|<pre>08      PHP
28      PLP
00 00... BRK 0    &times; 4</pre>||Requires dummy interrupt handler; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
68      PLA
28      PLP</pre>||Clobbers S; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>EA  ... NOP      &times; 3
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|15 bytes
|-
|<pre>68      PLA
48      PHA
68  ... PLA      &times; 13</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|17 bytes
|-
|<pre>A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 12
10 F0    BPL *-14</pre>||Clobbers A, and Z&N
|-
!colspan="2"|20 bytes
|-
|<pre>E6 xx    INC @zptemp
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires @zptemp
|-
!colspan="2"|21 bytes
|-
|<pre>EA      NOP
C5 C5    CMP $C5
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and C
|-
|<pre>EA      NOP
24 24    BIT $24
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and V
|-
|<pre>EA  ... NOP      &times; 2
FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>EA  ... NOP      &times; 2
FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>EA  ... NOP      &times; 2
FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>EA  ... NOP      &times; 2
FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>EA  ... NOP      &times; 2
FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>EA  ... NOP      &times; 2
FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>EA      NOP
04 04    NOP $04
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|22 bytes
|-
|<pre>EA      NOP
4C xx xx JMP *+3
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|23 bytes
|-
|<pre>EA      NOP
36 36    ROL $36,X
76 36    ROR $36,X
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|30 bytes
|-
|<pre>18  ... CLC      &times; 28
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 28
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 28</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 28</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|31 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 28</pre>||Not relocatable code
|-
|}
 
 
=== 60 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #33
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>68      PLA
A2 0B    LDX #11
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers A, X, S, and Z&N
|-
|<pre>68      PLA
A0 0B    LDY #11
88      DEY
D0 FD    BNE *-1</pre>||Clobbers A, Y, S, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>EA  ... NOP      &times; 2
A2 0B    LDX #11
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA  ... NOP      &times; 2
A0 0B    LDY #11
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>E6 xx    INC @zptemp
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, and C; and requires @zptemp
|-
|<pre>48      PHA
A9      LDA #26
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #26
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>EA      NOP
38      SEC
A9 EB    LDA #$EB ;hides 'SBC #$1A'
1A      NOP ;first loop only
B0 FC    BCS *-2</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
|-
|<pre>EA      NOP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>48      PHA
18      CLC
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
30 FC    BMI *-2
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>EA      NOP
A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
18      CLC
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
30 FC    BMI *-2
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A2 09    LDX #9
CA      DEX
10 FD    BPL *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A0 09    LDY #9
88      DEY
10 FD    BPL *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>48      PHA
A9 2A    LDA #$2A ;hides 'ROL A'
00 00    BRK 0
10 FB    BPL *-3
68      PLA</pre>||Clobbers Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>20 xx xx JSR @rts14
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
68      PLA</pre>||Clobbers Z&N, and C; requires @rts12, and @rts14; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #19
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>08      PHP
28      PLP
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|15 bytes
|-
|<pre>68  ... PLA      &times; 15</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|18 bytes
|-
|<pre>EA  ... NOP      &times; 2
68      PLA      \ &times; 8
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|20 bytes
|-
|<pre>36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|30 bytes
|-
|<pre>EA  ... NOP      &times; 30</pre>||No requirements
|-
|}
 
 
=== 61 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A2 0C    LDX #12
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A0 0C    LDY #12
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>A9      LDA #34
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|7 bytes
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
10 FB    BPL *-3</pre>||Clobbers A, Z&N, and C; and writes in stack
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
E6 xx    INC @zptemp
90 FB    BCC *-3</pre>||Clobbers A, Z&N, and C; and requires @zptemp
|-
|<pre>48      PHA
A9      LDA #27
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #27
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>EA      NOP
68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2</pre>||Clobbers A, S, Z&N, and C
|-
!colspan="2"|8 bytes
|-
|<pre>EA  ... NOP      &times; 3
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
E6 xx    INC @zptemp
A0 88    LDY #136 ;hides 'DEY'
30 FD    BMI *-1
28      PLP</pre>||Clobbers Y; requires @zptemp; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
30 FC    BMI *-2
68      PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
|-
|<pre>48      PHA
08      PHP
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
30 FC    BMI *-2
28      PLP</pre>||Clobbers A, and S; and writes in stack
|-
|<pre>48      PHA
08      PHP
A2 09    LDX #9
CA      DEX
10 FD    BPL *-1
28      PLP</pre>||Clobbers X, and S; and writes in stack
|-
|<pre>48      PHA
08      PHP
A0 09    LDY #9
88      DEY
10 FD    BPL *-1
28      PLP</pre>||Clobbers Y, and S; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 2
18      CLC
10 FA    BPL *-4
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 2
18      CLC
10 FA    BPL *-4
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
A6 A6    LDX $A6
A2 09    LDX #9
CA      DEX
10 FD    BPL *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A4 A4    LDY $A4
A0 09    LDY #9
88      DEY
10 FD    BPL *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #20
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
EA      NOP
F6 F6    INC $F6,X
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
68      PLA
28      PLP</pre>||Requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>EA      NOP
08      PHP
28      PLP
00 00... BRK 0    &times; 4</pre>||Requires dummy interrupt handler; and writes in stack
|-
|<pre>EA      NOP
48  ... PHA      &times; 2
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
68      PLA
28      PLP</pre>||Clobbers S; and writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>08      PHP
C5 C5    CMP $C5
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
10 FB    BPL *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|16 bytes
|-
|<pre>EA      NOP
68      PLA
48      PHA
68  ... PLA      &times; 13</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|18 bytes
|-
|<pre>36 36    ROL $36,X
76 36    ROR $36,X
68      PLA      \ &times; 7
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|21 bytes
|-
|<pre>EA      NOP
E6 xx    INC @zptemp
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>FE 00 02 INC $0200,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
!colspan="2"|22 bytes
|-
|<pre>C5 C5    CMP $C5
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>04 04    NOP $04
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|23 bytes
|-
|<pre>4C xx xx JMP *+3
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|24 bytes
|-
|<pre>EA  ... NOP      &times; 2
36 36    ROL $36,X
76 36    ROR $36,X
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|31 bytes
|-
|<pre>18  ... CLC      &times; 29
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 29
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 29</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 29</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|32 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 29</pre>||Not relocatable code
|-
|}
 
 
=== 62 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A2 88    LDX #136 ;hides 'DEY'
CA      DEX
30 FC    BMI *-2</pre>||Clobbers X, Y, and Z&N
|-
|<pre>A9      LDA #35
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>00 00    BRK 0
A0 88    LDY #136 ;hides 'DEY'
30 FD    BMI *-1</pre>||Clobbers Y, and Z&N; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
A2 F8    LDX #248 ;hides 'SED'
E8      INX
D0 FC    BNE *-2
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 F8    LDY #248 ;hides 'SED'
C8      INY
D0 FC    BNE *-2
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>68      PLA
48      PHA
A2 F8    LDX #248 ;hides 'SED'
E8      INX
D0 FC    BNE *-2</pre>||Clobbers A, X, Z&N, and D
|-
|<pre>68      PLA
48      PHA
A0 F8    LDY #248 ;hides 'SED'
C8      INY
D0 FC    BNE *-2</pre>||Clobbers A, Y, Z&N, and D
|-
|<pre>A2 0B    LDX #11
CA      DEX
D0 FD    BNE *-1
F6 xx    INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
|-
|<pre>F6 F6    INC $F6,X
A0 0B    LDY #11
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N; and requires @zptemp, and writable $00-$FF
|-
|<pre>EA      NOP
68      PLA
A2 0B    LDX #11
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers A, X, S, and Z&N
|-
|<pre>EA      NOP
68      PLA
A0 0B    LDY #11
88      DEY
D0 FD    BNE *-1</pre>||Clobbers A, Y, S, and Z&N
|-
!colspan="2"|8 bytes
|-
|<pre>EA  ... NOP      &times; 3
A2 0B    LDX #11
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA  ... NOP      &times; 3
A0 0B    LDY #11
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
48      PHA
A9      LDA #21
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>EA      NOP
08      PHP
28      PLP
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|16 bytes
|-
|<pre>EA      NOP
68  ... PLA      &times; 15</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|18 bytes
|-
|<pre>68      PLA
48      PHA
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 11
10 F1    BPL *-13</pre>||Clobbers A, and Z&N
|-
!colspan="2"|21 bytes
|-
|<pre>EA      NOP
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|31 bytes
|-
|<pre>EA  ... NOP      &times; 31</pre>||No requirements
|-
|}
 
 
=== 63 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #36
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
48      PHA
D0 FC    BNE *-2</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|6 bytes
|-
|<pre>EA      NOP
A2 0C    LDX #12
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA      NOP
A0 0C    LDY #12
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C; and requires @zptemp
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C; and requires support for unofficial opcodes
|-
!colspan="2"|7 bytes
|-
|<pre>38      SEC
A9 0C    LDA #12
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
4C xx xx JMP *+3
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C; and not relocatable code
|-
|<pre>08      PHP
A2 0B    LDX #11
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 0B    LDY #11
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>48      PHA
A9      LDA #29
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #29
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>68  ... PLA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2</pre>||Clobbers A, S, Z&N, and C
|-
!colspan="2"|8 bytes
|-
|<pre>EA  ... NOP      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
10 FB    BPL *-3</pre>||Clobbers A, Z&N, and C; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>EA  ... NOP      &times; 4
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, and C
|-
|<pre>E6 xx    INC @zptemp
48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
30 FC    BMI *-2
68      PLA</pre>||Clobbers Z&N, C, and V; requires @zptemp; and writes in stack
|-
|<pre>08      PHP
E6 xx    INC @zptemp
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
30 FC    BMI *-2
28      PLP</pre>||Clobbers A; requires @zptemp; and writes in stack
|-
|<pre>48      PHA
A9 2A    LDA #$2A ;hides 'ROL A'
20 xx xx JSR @rts14
10 FA    BPL *-4
68      PLA</pre>||Clobbers Z&N, and C; requires @rts12, and @rts14; and writes in stack
|-
|<pre>08      PHP
A9 2A    LDA #$2A ;hides 'ROL A'
20 xx xx JSR @rts14
10 FA    BPL *-4
28      PLP</pre>||Clobbers A; requires @rts12, and @rts14; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #22
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
00 00... BRK 0    &times; 2
10 F8    BPL *-6</pre>||Clobbers A, and Z&N; requires dummy interrupt handler; and writes in stack
|-
|<pre>EA      NOP
48  ... PHA      &times; 2
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
30 FC    BMI *-2
68      PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
|-
|<pre>EA      NOP
48      PHA
08      PHP
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
30 FC    BMI *-2
28      PLP</pre>||Clobbers A, and S; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A9 2A    LDA #$2A ;hides 'ROL A'
00 00    BRK 0
10 FB    BPL *-3
68      PLA</pre>||Clobbers S, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 2
18      CLC
10 FA    BPL *-4
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>08      PHP
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 2
18      CLC
10 FA    BPL *-4
28      PLP</pre>||Clobbers A; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 2A    LDA #$2A ;hides 'ROL A'
08      PHP
28      PLP
90 FB    BCC *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|16 bytes
|-
|<pre>68      PLA
48      PHA
68  ... PLA      &times; 14</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|18 bytes
|-
|<pre>68      PLA      \ &times; 9
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|22 bytes
|-
|<pre>C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>E6 xx    INC @zptemp
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>EA      NOP
FE 00 02 INC $0200,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>EA      NOP
FE 00 03 INC $0300,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>EA      NOP
FE 00 04 INC $0400,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>EA      NOP
FE 00 05 INC $0500,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>EA      NOP
FE 00 06 INC $0600,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>EA      NOP
FE 00 07 INC $0700,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>04 04    NOP $04
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|23 bytes
|-
|<pre>4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|25 bytes
|-
|<pre>EA  ... NOP      &times; 3
36 36    ROL $36,X
76 36    ROR $36,X
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|32 bytes
|-
|<pre>18  ... CLC      &times; 30
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 30
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 30</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 30</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|33 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 30</pre>||Not relocatable code
|-
|}
 
 
=== 64 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #37
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>A2 09    LDX #9
EA      NOP
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers X, and Z&N
|-
|<pre>A0 09    LDY #9
EA      NOP
88      DEY
D0 FC    BNE *-2</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>A9 E9    LDA #$E9 ;hides 'SBC #$2A'
2A      ROL A ;first loop only
EA  ... NOP      &times; 2
B0 FA    BCS *-4</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>48      PHA
A9      LDA #30
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #30
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
48  ... PHA      &times; 2
18      CLC
10 FA    BPL *-4</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 3
18      CLC
10 F9    BPL *-5</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
A2 08    LDX #8
EA      NOP
CA      DEX
D0 FC    BNE *-2
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 08    LDY #8
EA      NOP
88      DEY
D0 FC    BNE *-2
28      PLP</pre>||Clobbers Y; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
48      PHA
A9      LDA #23
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>08      PHP
48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$2A'
2A      ROL A ;first loop only
EA      NOP
B0 FB    BCS *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|16 bytes
|-
|<pre>68  ... PLA      &times; 16</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|19 bytes
|-
|<pre>EA      NOP
68      PLA
48      PHA
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 11
10 F1    BPL *-13</pre>||Clobbers A, and Z&N
|-
!colspan="2"|22 bytes
|-
|<pre>26 26    ROL $26
66 26    ROR $26
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|32 bytes
|-
|<pre>EA  ... NOP      &times; 32</pre>||No requirements
|-
|}
 
 
=== 65 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #38
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
48      PHA
D0 FC    BNE *-2</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
|<pre>A2 08    LDX #8
48      PHA
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
|<pre>A0 08    LDY #8
48      PHA
88      DEY
D0 FC    BNE *-2</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
|<pre>68      PLA
A2 0C    LDX #12
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers A, X, S, and Z&N
|-
|<pre>68      PLA
A0 0C    LDY #12
88      DEY
D0 FD    BNE *-1</pre>||Clobbers A, Y, S, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>EA  ... NOP      &times; 2
A2 0C    LDX #12
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA  ... NOP      &times; 2
A0 0C    LDY #12
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C; and requires @zptemp
|-
|<pre>48      PHA
A9      LDA #31
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #31
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C; and requires support for unofficial opcodes
|-
!colspan="2"|8 bytes
|-
|<pre>EA      NOP
38      SEC
A9 0C    LDA #12
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
4C xx xx JMP *+3
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C; and not relocatable code
|-
|<pre>EA      NOP
08      PHP
A2 0B    LDX #11
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A0 0B    LDY #11
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>A9 2A    LDA #$2A ;hides 'ROL A'
20 xx xx JSR @rts15
18      CLC
10 F9    BPL *-5</pre>||Clobbers A, Z&N, and C; requires @rts12, and @rts15; and writes in stack
|-
|<pre>48      PHA
38      SEC
A9 EB    LDA #$EB ;hides 'SBC #$1A'
1A      NOP ;first loop only
B0 FC    BCS *-2
68      PLA</pre>||Clobbers Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
|-
|<pre>08      PHP
38      SEC
A9 EB    LDA #$EB ;hides 'SBC #$1A'
1A      NOP ;first loop only
B0 FC    BCS *-2
28      PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
|-
|<pre>00 00... BRK 0    &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1</pre>||Clobbers A, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2
68      PLA</pre>||Clobbers S, Z&N, and C; and writes in stack
|-
|<pre>EA      NOP
68  ... PLA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2</pre>||Clobbers A, S, Z&N, and C
|-
|<pre>48      PHA
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2
28      PLP</pre>||Clobbers A, and S; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
30 FC    BMI *-2
68      PLA
28      PLP</pre>||Writes in stack
|-
|<pre>26 26    ROL $26
66 26    ROR $26
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|17 bytes
|-
|<pre>EA      NOP
68      PLA
48      PHA
68  ... PLA      &times; 14</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|19 bytes
|-
|<pre>EA      NOP
68      PLA      \ &times; 9
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|22 bytes
|-
|<pre>E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
!colspan="2"|23 bytes
|-
|<pre>EA      NOP
C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>EA      NOP
24 24    BIT $24
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>FE 00 02 INC $0200,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>EA      NOP
04 04    NOP $04
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|24 bytes
|-
|<pre>EA      NOP
4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|26 bytes
|-
|<pre>26 26    ROL $26  \ &times; 2
66 26    ROR $26  /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|33 bytes
|-
|<pre>18  ... CLC      &times; 31
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 31
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 31</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 31</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|34 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 31</pre>||Not relocatable code
|-
|}
 
 
=== 66 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A2 0D    LDX #13
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A0 0D    LDY #13
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>A9      LDA #39
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
48      PHA
D0 FC    BNE *-2</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>48      PHA
A9      LDA #32
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #32
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
10 FB    BPL *-3
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>38      SEC
A9 09    LDA #9
EA      NOP
E9 01    SBC #1
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
10 FB    BPL *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C; and requires @zptemp
|-
|<pre>04 04    NOP $04
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C; and requires support for unofficial opcodes
|-
|<pre>68  ... PLA      &times; 2
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2</pre>||Clobbers A, S, Z&N, and C
|-
|<pre>48      PHA
08      PHP
A2 0B    LDX #11
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X, and S; and writes in stack
|-
|<pre>48      PHA
08      PHP
A0 0B    LDY #11
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y, and S; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>EA  ... NOP      &times; 2
68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
A6 A6    LDX $A6
A2 0B    LDX #11
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A4 A4    LDY $A4
A0 0B    LDY #11
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #25
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>00 00    BRK 0
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
68      PLA
28      PLP</pre>||Requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
48      PHA
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$EA'
EA      NOP ;first loop only
EA      NOP
10 FB    BPL *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|17 bytes
|-
|<pre>EA      NOP
68  ... PLA      &times; 16</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|19 bytes
|-
|<pre>68      PLA
48      PHA
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 12
10 F0    BPL *-14</pre>||Clobbers A, and Z&N
|-
!colspan="2"|22 bytes
|-
|<pre>36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|33 bytes
|-
|<pre>EA  ... NOP      &times; 33</pre>||No requirements
|-
|}
 
 
=== 67 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #40
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
48      PHA
D0 FC    BNE *-2</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>BA      TSX
A9 0A    LDA #$0A ;hides 'ASL A'
48      PHA
D0 FC    BNE *-2
9A      TXS</pre>||Clobbers A, X, Z&N, and C; and writes in stack
|-
|<pre>A2 0C    LDX #12
CA      DEX
D0 FD    BNE *-1
F6 xx    INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
F6 F6    INC $F6,X
90 FB    BCC *-3</pre>||Clobbers A, Z&N, and C; and requires @zptemp, and writable $00-$FF
|-
|<pre>A0 06    LDY #6
F6 F6    INC $F6,X
88      DEY
D0 FB    BNE *-3</pre>||Clobbers Y, and Z&N; and requires @zptemp, and writable $00-$FF
|-
|<pre>48      PHA
A9      LDA #33
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #33
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>A2 06    LDX #6
48  ... PHA      &times; 2
CA      DEX
D0 FB    BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
|<pre>A0 06    LDY #6
48  ... PHA      &times; 2
88      DEY
D0 FB    BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
|<pre>A2 06    LDX #6
EA      NOP
68      PLA
CA      DEX
D0 FB    BNE *-3</pre>||Clobbers A, X, S, and Z&N
|-
|<pre>A0 06    LDY #6
EA      NOP
68      PLA
88      DEY
D0 FB    BNE *-3</pre>||Clobbers A, Y, S, and Z&N
|-
|<pre>68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C; and requires @zptemp
|-
|<pre>68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C; and requires support for unofficial opcodes
|-
!colspan="2"|8 bytes
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 3
90 FA    BCC *-4</pre>||Clobbers A, Z&N, and C
|-
|<pre>A6 A6    LDX $A6
A2 09    LDX #9
EA      NOP
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers X, and Z&N
|-
|<pre>A4 A4    LDY $A4
A0 09    LDY #9
EA      NOP
88      DEY
D0 FC    BNE *-2</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|9 bytes
|-
|<pre>98      TYA
48      PHA
A0 0B    LDY #11
88      DEY
D0 FD    BNE *-1
68      PLA
A8      TAY</pre>||Clobbers A, and Z&N; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A2 0B    LDX #11
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A0 0B    LDY #11
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>E6 xx    INC @zptemp
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2
68      PLA</pre>||Clobbers Z&N, and C; requires @zptemp; and writes in stack
|-
|<pre>08      PHP
E6 xx    INC @zptemp
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2
28      PLP</pre>||Clobbers A; requires @zptemp; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #26
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>EA      NOP
48      PHA
38      SEC
A9 EB    LDA #$EB ;hides 'SBC #$1A'
1A      NOP ;first loop only
B0 FC    BCS *-2
68      PLA</pre>||Clobbers Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
|-
|<pre>EA      NOP
08      PHP
38      SEC
A9 EB    LDA #$EB ;hides 'SBC #$1A'
1A      NOP ;first loop only
B0 FC    BCS *-2
28      PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
|-
|<pre>EA      NOP
48  ... PHA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2
68      PLA</pre>||Clobbers S, Z&N, and C; and writes in stack
|-
|<pre>EA      NOP
48      PHA
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2
28      PLP</pre>||Clobbers A, and S; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
30 FC    BMI *-2
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|17 bytes
|-
|<pre>68      PLA
48      PHA
68  ... PLA      &times; 15</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|19 bytes
|-
|<pre>A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 14
10 EE    BPL *-16</pre>||Clobbers A, and Z&N
|-
!colspan="2"|23 bytes
|-
|<pre>EA      NOP
E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
!colspan="2"|24 bytes
|-
|<pre>C5 C5    CMP $C5
26 26    ROL $26
66 26    ROR $26
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
26 26    ROL $26
66 26    ROR $26
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and V
|-
|<pre>04 04    NOP $04
26 26    ROL $26
66 26    ROR $26
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|25 bytes
|-
|<pre>4C xx xx JMP *+3
26 26    ROL $26
66 26    ROR $26
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|26 bytes
|-
|<pre>26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X
76 36    ROR $36,X
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|34 bytes
|-
|<pre>18  ... CLC      &times; 32
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 32
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 32</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 32</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|35 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 32</pre>||Not relocatable code
|-
|}
 
 
=== 68 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #41
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>EA      NOP
A2 0D    LDX #13
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA      NOP
A0 0D    LDY #13
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>38      SEC
A9 0D    LDA #13
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>08      PHP
A2 0C    LDX #12
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 0C    LDY #12
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>48      PHA
A9      LDA #34
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #34
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>00 00    BRK 0
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>EA      NOP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
48      PHA
D0 FC    BNE *-2</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>E6 xx    INC @zptemp
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C; and requires @zptemp
|-
!colspan="2"|9 bytes
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
10 FB    BPL *-3
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>08      PHP
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
10 FB    BPL *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #27
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>EA      NOP
04 04    NOP $04
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C; and requires support for unofficial opcodes
|-
|<pre>EA      NOP
68  ... PLA      &times; 2
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2</pre>||Clobbers A, S, Z&N, and C
|-
!colspan="2"|10 bytes
|-
|<pre>EA  ... NOP      &times; 3
68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, and C
|-
|<pre>48      PHA
08      PHP
48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
30 FC    BMI *-2
68      PLA
28      PLP</pre>||Clobbers S; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 2
18      CLC
10 FA    BPL *-4
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|17 bytes
|-
|<pre>68  ... PLA      &times; 17</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|20 bytes
|-
|<pre>36 36    ROL $36,X
76 36    ROR $36,X
68      PLA      \ &times; 8
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|23 bytes
|-
|<pre>EA      NOP
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|34 bytes
|-
|<pre>EA  ... NOP      &times; 34</pre>||No requirements
|-
|}
 
 
=== 69 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A0 88    LDY #136 ;hides 'DEY'
EA      NOP
30 FC    BMI *-2</pre>||Clobbers Y, and Z&N
|-
|<pre>A2 0A    LDX #10 ;hides 'ASL A'
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers A, X, Z&N, and C
|-
|<pre>A9      LDA #42
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>48      PHA
A2 0D    LDX #13
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
18      CLC
10 FA    BPL *-4</pre>||Clobbers A, Z&N, and C; and writes in stack
|-
|<pre>A6 A6    LDX $A6
A2 0D    LDX #13
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>08      PHP
A2 88    LDX #136 ;hides 'DEY'
CA      DEX
30 FC    BMI *-2
28      PLP</pre>||Clobbers X, and Y; and writes in stack
|-
|<pre>48      PHA
A9      LDA #35
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #35
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>F6 F6    INC $F6,X
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C; and requires @zptemp, and writable $00-$FF
|-
|<pre>00 00    BRK 0
08      PHP
A0 88    LDY #136 ;hides 'DEY'
30 FD    BMI *-1
28      PLP</pre>||Clobbers Y; requires dummy interrupt handler; and writes in stack
|-
|<pre>EA      NOP
68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C; and requires @zptemp
|-
|<pre>EA      NOP
68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C; and requires support for unofficial opcodes
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2
68      PLA
28      PLP</pre>||Writes in stack
|-
|<pre>18      CLC
A9 2A    LDA #$2A ;hides 'ROL A'
36 36    ROL $36,X
76 36    ROR $36,X
90 F9    BCC *-5</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|18 bytes
|-
|<pre>EA      NOP
68      PLA
48      PHA
68  ... PLA      &times; 15</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|20 bytes
|-
|<pre>EA      NOP
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 14
10 EE    BPL *-16</pre>||Clobbers A, and Z&N
|-
!colspan="2"|24 bytes
|-
|<pre>C5 C5    CMP $C5
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and V
|-
|<pre>E6 xx    INC @zptemp
26 26    ROL $26
66 26    ROR $26
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>EA      NOP
FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>EA      NOP
FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>EA      NOP
FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>EA      NOP
FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>EA      NOP
FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>EA      NOP
FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>04 04    NOP $04
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|25 bytes
|-
|<pre>4C xx xx JMP *+3
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|26 bytes
|-
|<pre>36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|35 bytes
|-
|<pre>18  ... CLC      &times; 33
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 33
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 33</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 33</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|36 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 33</pre>||Not relocatable code
|-
|}
 
 
=== 70 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #43
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>68      PLA
A2 0D    LDX #13
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers A, X, S, and Z&N
|-
|<pre>68      PLA
A0 0D    LDY #13
88      DEY
D0 FD    BNE *-1</pre>||Clobbers A, Y, S, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>EA  ... NOP      &times; 2
A2 0D    LDX #13
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA  ... NOP      &times; 2
A0 0D    LDY #13
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>48      PHA
A9      LDA #36
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #36
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>48      PHA
68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
48      PHA
D0 FC    BNE *-2</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>EA      NOP
38      SEC
A9 0D    LDA #13
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>EA      NOP
08      PHP
A2 0C    LDX #12
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A0 0C    LDY #12
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, and C; requires @zptemp; and writes in stack
|-
|<pre>68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C; and requires @zptemp
|-
|<pre>08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; requires @zptemp; and writes in stack
|-
|<pre>20 xx xx JSR @rts15
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, and C; requires @rts12, and @rts15; and writes in stack
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, and C; requires support for unofficial opcodes; and writes in stack
|-
|<pre>68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C; and requires support for unofficial opcodes
|-
|<pre>08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
|-
|<pre>EA      NOP
00 00    BRK 0
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>48      PHA
38      SEC
A9 0C    LDA #12
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
4C xx xx JMP *+3
D0 FA    BNE *-4
68      PLA</pre>||Clobbers Z&N, and C; writes in stack; and not relocatable code
|-
|<pre>08      PHP
38      SEC
A9 0C    LDA #12
E9 01    SBC #1
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
4C xx xx JMP *+3
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C; and not relocatable code
|-
|<pre>08      PHP
48      PHA
A9      LDA #29
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>68      PLA
48      PHA
68  ... PLA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2</pre>||Clobbers A, S, Z&N, and C
|-
!colspan="2"|10 bytes
|-
|<pre>EA  ... NOP      &times; 2
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
10 FB    BPL *-3
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>A5 A5    LDA $A5
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 3
90 FA    BCC *-4</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
E6 xx    INC @zptemp
48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
30 FC    BMI *-2
68      PLA
28      PLP</pre>||Requires @zptemp; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9 2A    LDA #$2A ;hides 'ROL A'
20 xx xx JSR @rts14
10 FA    BPL *-4
68      PLA
28      PLP</pre>||Requires @rts12, and @rts14; and writes in stack
|-
|<pre>48      PHA
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
00 00... BRK 0    &times; 2
10 F8    BPL *-6
68      PLA</pre>||Clobbers Z&N; requires dummy interrupt handler; and writes in stack
|-
|<pre>EA      NOP
48      PHA
08      PHP
48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
30 FC    BMI *-2
68      PLA
28      PLP</pre>||Clobbers S; and writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 2
18      CLC
10 FA    BPL *-4
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|18 bytes
|-
|<pre>EA      NOP
68  ... PLA      &times; 17</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|20 bytes
|-
|<pre>68      PLA      \ &times; 10
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|24 bytes
|-
|<pre>26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|35 bytes
|-
|<pre>EA  ... NOP      &times; 35</pre>||No requirements
|-
|}
 
 
=== 71 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A2 0E    LDX #14
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A0 0E    LDY #14
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>A9      LDA #44
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|7 bytes
|-
|<pre>48      PHA
A9      LDA #37
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #37
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>08      PHP
A2 09    LDX #9
EA      NOP
CA      DEX
D0 FC    BNE *-2
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 09    LDY #9
EA      NOP
88      DEY
D0 FC    BNE *-2
28      PLP</pre>||Clobbers Y; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$2A'
2A      ROL A ;first loop only
EA  ... NOP      &times; 2
B0 FA    BCS *-4
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>08      PHP
A9 E9    LDA #$E9 ;hides 'SBC #$2A'
2A      ROL A ;first loop only
EA  ... NOP      &times; 2
B0 FA    BCS *-4
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #30
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|18 bytes
|-
|<pre>68      PLA
48      PHA
68  ... PLA      &times; 16</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|21 bytes
|-
|<pre>36 36    ROL $36,X
76 36    ROR $36,X
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 12
10 F0    BPL *-14</pre>||Clobbers A, and Z&N
|-
!colspan="2"|24 bytes
|-
|<pre>E6 xx    INC @zptemp
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires @zptemp
|-
!colspan="2"|25 bytes
|-
|<pre>EA      NOP
C5 C5    CMP $C5
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and C
|-
|<pre>EA      NOP
24 24    BIT $24
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and V
|-
|<pre>FE 00 02 INC $0200,X
26 26    ROL $26
66 26    ROR $26
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
26 26    ROL $26
66 26    ROR $26
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
26 26    ROL $26
66 26    ROR $26
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
26 26    ROL $26
66 26    ROR $26
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
26 26    ROL $26
66 26    ROR $26
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
26 26    ROL $26
66 26    ROR $26
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>EA      NOP
04 04    NOP $04
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|26 bytes
|-
|<pre>EA      NOP
4C xx xx JMP *+3
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|27 bytes
|-
|<pre>EA      NOP
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|36 bytes
|-
|<pre>18  ... CLC      &times; 34
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 34
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 34</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 34</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|37 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 34</pre>||Not relocatable code
|-
|}
 
 
=== 72 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #45
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>48      PHA
A0 88    LDY #136 ;hides 'DEY'
EA      NOP
30 FC    BMI *-2</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
|<pre>48      PHA
A2 0A    LDX #10 ;hides 'ASL A'
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers A, X, S, Z&N, and C; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>A4 A4    LDY $A4
A0 88    LDY #136 ;hides 'DEY'
EA      NOP
30 FC    BMI *-2</pre>||Clobbers Y, and Z&N
|-
|<pre>A6 A6    LDX $A6
A2 0A    LDX #10 ;hides 'ASL A'
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers A, X, Z&N, and C
|-
|<pre>A2 0D    LDX #13
CA      DEX
D0 FD    BNE *-1
F6 xx    INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
|-
|<pre>48      PHA
A9      LDA #38
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #38
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A2 0D    LDX #13
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
|<pre>EA      NOP
68      PLA
A2 0D    LDX #13
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers A, X, S, and Z&N
|-
!colspan="2"|8 bytes
|-
|<pre>EA  ... NOP      &times; 3
A2 0D    LDX #13
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>00 00    BRK 0
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
10 FB    BPL *-3</pre>||Clobbers A, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>68      PLA
38      SEC
A9 0D    LDA #13
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, C, and V
|-
|<pre>48  ... PHA      &times; 3
A9 0A    LDA #$0A ;hides 'ASL A'
48      PHA
D0 FC    BNE *-2</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
|<pre>48      PHA
08      PHP
A2 88    LDX #136 ;hides 'DEY'
CA      DEX
30 FC    BMI *-2
28      PLP</pre>||Clobbers X, Y, and S; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>EA  ... NOP      &times; 2
38      SEC
A9 0D    LDA #13
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>98      TYA
48      PHA
A0 0C    LDY #12
88      DEY
D0 FD    BNE *-1
68      PLA
A8      TAY</pre>||Clobbers A, and Z&N; and writes in stack
|-
|<pre>08      PHP
A2 08    LDX #8
C5 C5    CMP $C5
CA      DEX
D0 FB    BNE *-3
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 08    LDY #8
C5 C5    CMP $C5
88      DEY
D0 FB    BNE *-3
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, and C; requires @zptemp; and writes in stack
|-
|<pre>EA      NOP
68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C; and requires @zptemp
|-
|<pre>08      PHP
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; requires @zptemp; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #31
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, and C; requires support for unofficial opcodes; and writes in stack
|-
|<pre>EA      NOP
68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C; and requires support for unofficial opcodes
|-
|<pre>08      PHP
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>EA      NOP
48      PHA
38      SEC
A9 0C    LDA #12
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
4C xx xx JMP *+3
D0 FA    BNE *-4
68      PLA</pre>||Clobbers Z&N, and C; writes in stack; and not relocatable code
|-
|<pre>EA      NOP
08      PHP
38      SEC
A9 0C    LDA #12
E9 01    SBC #1
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>EA      NOP
68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
4C xx xx JMP *+3
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C; and not relocatable code
|-
|<pre>48      PHA
A9 2A    LDA #$2A ;hides 'ROL A'
20 xx xx JSR @rts15
18      CLC
10 F9    BPL *-5
68      PLA</pre>||Clobbers Z&N, and C; requires @rts12, and @rts15; and writes in stack
|-
|<pre>08      PHP
48      PHA
38      SEC
A9 EB    LDA #$EB ;hides 'SBC #$1A'
1A      NOP ;first loop only
B0 FC    BCS *-2
68      PLA
28      PLP</pre>||Requires support for unofficial opcodes; and writes in stack
|-
|<pre>00 00... BRK 0    &times; 2
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
D0 FD    BNE *-1
68      PLA</pre>||Clobbers Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>48      PHA
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2
68      PLA
28      PLP</pre>||Clobbers S; and writes in stack
|-
|<pre>EA      NOP
68      PLA
48      PHA
68  ... PLA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2</pre>||Clobbers A, S, Z&N, and C
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
28      PLP
08      PHP
48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
30 FC    BMI *-2
68      PLA
28      PLP</pre>||Writes in stack
|-
|<pre>A5 A5    LDA $A5
18      CLC
A9 2A    LDA #$2A ;hides 'ROL A'
36 36    ROL $36,X
76 36    ROR $36,X
90 F9    BCC *-5</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|18 bytes
|-
|<pre>68  ... PLA      &times; 18</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|21 bytes
|-
|<pre>EA      NOP
68      PLA      \ &times; 10
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|24 bytes
|-
|<pre>36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|36 bytes
|-
|<pre>EA  ... NOP      &times; 36</pre>||No requirements
|-
|}
 
 
=== 73 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #46
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>EA      NOP
A2 0E    LDX #14
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA      NOP
A0 0E    LDY #14
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
|-
!colspan="2"|7 bytes
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
A2 0D    LDX #13
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 0D    LDY #13
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>48      PHA
A9      LDA #39
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #39
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
48      PHA
A9      LDA #32
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
D0 FB    BNE *-3
68      PLA</pre>||Clobbers S, Z&N, and C; requires @zptemp; and writes in stack
|-
|<pre>48      PHA
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A, and S; requires @zptemp; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
D0 FB    BNE *-3
68      PLA</pre>||Clobbers S, Z&N, and C; requires support for unofficial opcodes; and writes in stack
|-
|<pre>48      PHA
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A, and S; requires support for unofficial opcodes; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
10 FB    BPL *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|19 bytes
|-
|<pre>EA      NOP
68      PLA
48      PHA
68  ... PLA      &times; 16</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|21 bytes
|-
|<pre>68      PLA      \ &times; 2
48      PHA      /
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 12
10 F0    BPL *-14</pre>||Clobbers A, and Z&N
|-
!colspan="2"|25 bytes
|-
|<pre>EA      NOP
E6 xx    INC @zptemp
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>FE 00 02 INC $0200,X
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
!colspan="2"|26 bytes
|-
|<pre>C5 C5    CMP $C5
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>04 04    NOP $04
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|27 bytes
|-
|<pre>4C xx xx JMP *+3
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|28 bytes
|-
|<pre>EA  ... NOP      &times; 2
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|37 bytes
|-
|<pre>18  ... CLC      &times; 35
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 35
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 35</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 35</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|38 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 35</pre>||Not relocatable code
|-
|}
 
 
=== 74 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #47
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>48      PHA
A2 0E    LDX #14
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
|<pre>48      PHA
A0 0E    LDY #14
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>A6 A6    LDX $A6
A2 0E    LDX #14
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A4 A4    LDY $A4
A0 0E    LDY #14
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>48      PHA
A9      LDA #40
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #40
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
BA      TSX
A9 0A    LDA #$0A ;hides 'ASL A'
48      PHA
D0 FC    BNE *-2
9A      TXS
28      PLP</pre>||Clobbers A, and X; and writes in stack
|-
|<pre>08      PHP
A2 0C    LDX #12
CA      DEX
D0 FD    BNE *-1
F6 xx    INC @zptemp,X
28      PLP</pre>||Clobbers X; requires @zptemp; and writes in stack
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
F6 F6    INC $F6,X
90 FB    BCC *-3
68      PLA</pre>||Clobbers Z&N, and C; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>08      PHP
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
F6 F6    INC $F6,X
90 FB    BCC *-3
28      PLP</pre>||Clobbers A; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>08      PHP
A0 06    LDY #6
F6 F6    INC $F6,X
88      DEY
D0 FB    BNE *-3
28      PLP</pre>||Clobbers Y; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #33
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>48      PHA
08      PHP
A2 09    LDX #9
EA      NOP
CA      DEX
D0 FC    BNE *-2
28      PLP</pre>||Clobbers X, and S; and writes in stack
|-
|<pre>48      PHA
08      PHP
A0 09    LDY #9
EA      NOP
88      DEY
D0 FC    BNE *-2
28      PLP</pre>||Clobbers Y, and S; and writes in stack
|-
|<pre>68      PLA
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A, S, and Z&N; requires @zptemp; and writes in stack
|-
|<pre>68      PLA
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A, S, and Z&N; requires support for unofficial opcodes; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 3
90 FA    BCC *-4
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>08      PHP
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 3
90 FA    BCC *-4
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A2 08    LDX #8
C5 C5    CMP $C5
CA      DEX
D0 FB    BNE *-3
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A0 08    LDY #8
C5 C5    CMP $C5
88      DEY
D0 FB    BNE *-3
28      PLP</pre>||Clobbers Y; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>48      PHA
98      TYA
48      PHA
A0 0B    LDY #11
88      DEY
D0 FD    BNE *-1
68      PLA
A8      TAY
68      PLA</pre>||Clobbers Z&N; and writes in stack
|-
|<pre>08      PHP
E6 xx    INC @zptemp
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2
68      PLA
28      PLP</pre>||Requires @zptemp; and writes in stack
|-
|<pre>EA      NOP
08      PHP
48      PHA
38      SEC
A9 EB    LDA #$EB ;hides 'SBC #$1A'
1A      NOP ;first loop only
B0 FC    BCS *-2
68      PLA
28      PLP</pre>||Requires support for unofficial opcodes; and writes in stack
|-
|<pre>EA      NOP
48      PHA
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2
68      PLA
28      PLP</pre>||Clobbers S; and writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>EA      NOP
08      PHP
28      PLP
08      PHP
48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
30 FC    BMI *-2
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|19 bytes
|-
|<pre>EA      NOP
68  ... PLA      &times; 18</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|21 bytes
|-
|<pre>68      PLA
48      PHA
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 14
10 EE    BPL *-16</pre>||Clobbers A, and Z&N
|-
!colspan="2"|25 bytes
|-
|<pre>EA      NOP
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|37 bytes
|-
|<pre>EA  ... NOP      &times; 37</pre>||No requirements
|-
|}
 
 
=== 75 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #48
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>68      PLA
A2 0E    LDX #14
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers A, X, S, and Z&N
|-
|<pre>68      PLA
A0 0E    LDY #14
88      DEY
D0 FD    BNE *-1</pre>||Clobbers A, Y, S, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>EA  ... NOP      &times; 2
A2 0E    LDX #14
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA  ... NOP      &times; 2
A0 0E    LDY #14
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>48      PHA
A9      LDA #41
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #41
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>EA      NOP
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
|-
|<pre>68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C
|-
!colspan="2"|8 bytes
|-
|<pre>EA  ... NOP      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C
|-
|<pre>EA      NOP
08      PHP
A2 0D    LDX #13
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A0 0D    LDY #13
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>48      PHA
38      SEC
A9 0D    LDA #13
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>08      PHP
38      SEC
A9 0D    LDA #13
E9 01    SBC #1
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #34
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>00 00    BRK 0
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2
68      PLA</pre>||Clobbers Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>E6 xx    INC @zptemp
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, and C; requires @zptemp; and writes in stack
|-
|<pre>EA      NOP
48  ... PHA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
D0 FB    BNE *-3
68      PLA</pre>||Clobbers S, Z&N, and C; requires support for unofficial opcodes; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
10 FB    BPL *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|19 bytes
|-
|<pre>68      PLA
48      PHA
68  ... PLA      &times; 17</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|22 bytes
|-
|<pre>36 36    ROL $36,X
76 36    ROR $36,X
68      PLA      \ &times; 9
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|26 bytes
|-
|<pre>C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>E6 xx    INC @zptemp
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>EA      NOP
FE 00 02 INC $0200,X
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>EA      NOP
FE 00 03 INC $0300,X
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>EA      NOP
FE 00 04 INC $0400,X
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>EA      NOP
FE 00 05 INC $0500,X
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>EA      NOP
FE 00 06 INC $0600,X
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>EA      NOP
FE 00 07 INC $0700,X
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>04 04    NOP $04
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|27 bytes
|-
|<pre>4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|29 bytes
|-
|<pre>EA  ... NOP      &times; 3
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|38 bytes
|-
|<pre>18  ... CLC      &times; 36
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 36
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 36</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 36</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|39 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 36</pre>||Not relocatable code
|-
|}
 
 
=== 76 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A2 0F    LDX #15
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A0 0F    LDY #15
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>A9      LDA #49
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
|<pre>A9 E9    LDA #$E9 ;hides 'SBC #$08'
08      PHP ;first loop only
30 FC    BMI *-2</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>08      PHP
A0 88    LDY #136 ;hides 'DEY'
EA      NOP
30 FC    BMI *-2
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>08      PHP
A2 0A    LDX #10 ;hides 'ASL A'
CA      DEX
D0 FC    BNE *-2
28      PLP</pre>||Clobbers A, and X; and writes in stack
|-
|<pre>48      PHA
A9      LDA #42
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #42
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>00 00    BRK 0
A9 0A    LDA #$0A ;hides 'ASL A'
48      PHA
D0 FC    BNE *-2</pre>||Clobbers A, S, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>E6 xx    INC @zptemp
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C; and requires @zptemp
|-
|<pre>04 04    NOP $04
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
|-
|<pre>00 00    BRK 0
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C; requires dummy interrupt handler, and support for unofficial opcodes; and writes in stack
|-
|<pre>EA      NOP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
|<pre>48      PHA
08      PHP
A2 0D    LDX #13
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X, and S; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
18      CLC
10 FA    BPL *-4
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>EA      NOP
A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
18      CLC
10 FA    BPL *-4
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
A6 A6    LDX $A6
A2 0D    LDX #13
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #35
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
28      PLP
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|19 bytes
|-
|<pre>68  ... PLA      &times; 19</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|22 bytes
|-
|<pre>EA      NOP
68      PLA
48      PHA
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 14
10 EE    BPL *-16</pre>||Clobbers A, and Z&N
|-
!colspan="2"|26 bytes
|-
|<pre>26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|38 bytes
|-
|<pre>EA  ... NOP      &times; 38</pre>||No requirements
|-
|}
 
 
=== 77 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #50
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|7 bytes
|-
|<pre>A2 0E    LDX #14
CA      DEX
D0 FD    BNE *-1
F6 xx    INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
|-
|<pre>F6 F6    INC $F6,X
A0 0E    LDY #14
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N; and requires @zptemp, and writable $00-$FF
|-
|<pre>48      PHA
A9      LDA #43
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #43
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>A2 0A    LDX #10 ;hides 'ASL A'
CA      DEX
D0 FC    BNE *-2
03 xx    SLO (@ptrtemp,X)</pre>||Clobbers A, X, Z&N, and C; and requires @ptrtemp, and support for unofficial opcodes
|-
|<pre>A0 0A    LDY #10 ;hides 'ASL A'
88      DEY
D0 FC    BNE *-2
13 xx    SLO (@ptrtemp,Y)</pre>||Clobbers A, Y, Z&N, and C; and requires @ptrtemp, and support for unofficial opcodes
|-
|<pre>48  ... PHA      &times; 2
A2 0E    LDX #14
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A0 0E    LDY #14
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
|<pre>EA      NOP
68      PLA
A2 0E    LDX #14
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers A, X, S, and Z&N
|-
|<pre>EA      NOP
68      PLA
A0 0E    LDY #14
88      DEY
D0 FD    BNE *-1</pre>||Clobbers A, Y, S, and Z&N
|-
|<pre>68      PLA
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
D0 FC    BNE *-2</pre>||Clobbers A, S, Z&N, C, and V; and requires support for unofficial opcodes
|-
!colspan="2"|8 bytes
|-
|<pre>EA  ... NOP      &times; 3
A2 0E    LDX #14
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA  ... NOP      &times; 3
A0 0E    LDY #14
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>F6 F6    INC $F6,X
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C; and requires @zptemp, and writable $00-$FF
|-
|<pre>18      CLC
A9 2A    LDA #$2A ;hides 'ROL A'
20 xx xx JSR @rts14
90 FA    BCC *-4</pre>||Clobbers A, Z&N, and C; requires @rts12, and @rts14; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
|-
|<pre>EA      NOP
68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C
|-
!colspan="2"|9 bytes
|-
|<pre>EA  ... NOP      &times; 3
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C
|-
|<pre>98      TYA
48      PHA
A0 0D    LDY #13
88      DEY
D0 FD    BNE *-1
68      PLA
A8      TAY</pre>||Clobbers A, and Z&N; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A2 0D    LDX #13
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A0 0D    LDY #13
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #36
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>EA      NOP
48      PHA
38      SEC
A9 0D    LDA #13
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>EA      NOP
08      PHP
38      SEC
A9 0D    LDA #13
E9 01    SBC #1
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Requires @zptemp; and writes in stack
|-
|<pre>20 xx xx JSR @rts15
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2
68      PLA</pre>||Clobbers Z&N, and C; requires @rts12, and @rts15; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Requires support for unofficial opcodes; and writes in stack
|-
|<pre>EA      NOP
00 00    BRK 0
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
D0 FC    BNE *-2
68      PLA</pre>||Clobbers Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
48      PHA
38      SEC
A9 0C    LDA #12
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|20 bytes
|-
|<pre>EA      NOP
68      PLA
48      PHA
68  ... PLA      &times; 17</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|22 bytes
|-
|<pre>68      PLA      \ &times; 11
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|26 bytes
|-
|<pre>E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
!colspan="2"|27 bytes
|-
|<pre>EA      NOP
C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>EA      NOP
24 24    BIT $24
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>FE 00 02 INC $0200,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>EA      NOP
04 04    NOP $04
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|28 bytes
|-
|<pre>EA      NOP
4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|30 bytes
|-
|<pre>26 26    ROL $26  \ &times; 2
66 26    ROR $26  /
36 36    ROL $36,X
76 36    ROR $36,X
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|39 bytes
|-
|<pre>18  ... CLC      &times; 37
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 37
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 37</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 37</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|40 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 37</pre>||Not relocatable code
|-
|}
 
 
=== 78 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #51
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>A2 0B    LDX #11
EA      NOP
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers X, and Z&N
|-
|<pre>A0 0B    LDY #11
EA      NOP
88      DEY
D0 FC    BNE *-2</pre>||Clobbers Y, and Z&N
|-
|<pre>18      CLC
A9 E9    LDA #$E9 ;hides 'SBC #$08'
08      PHP ;first loop only
30 FC    BMI *-2</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>38      SEC
A9 0F    LDA #15
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>08      PHP
A2 0E    LDX #14
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 0E    LDY #14
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>48      PHA
A9      LDA #44
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #44
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
48      PHA
A9      LDA #37
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$2A'
2A      ROL A ;first loop only
EA  ... NOP      &times; 2
B0 FA    BCS *-4
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|20 bytes
|-
|<pre>EA      NOP
68  ... PLA      &times; 19</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|23 bytes
|-
|<pre>68      PLA
48      PHA
36 36    ROL $36,X
76 36    ROR $36,X
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 12
10 F0    BPL *-14</pre>||Clobbers A, and Z&N
|-
!colspan="2"|26 bytes
|-
|<pre>36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|39 bytes
|-
|<pre>EA  ... NOP      &times; 39</pre>||No requirements
|-
|}
 
 
=== 79 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #52
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
|<pre>A0 88    LDY #136 ;hides 'DEY'
48      PHA
30 FC    BMI *-2</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
!colspan="2"|6 bytes
|-
|<pre>A0 88    LDY #136 ;hides 'DEY'
C5 C5    CMP $C5
30 FB    BMI *-3</pre>||Clobbers Y, Z&N, and C
|-
|<pre>A0 88    LDY #136 ;hides 'DEY'
24 24    BIT $24
30 FB    BMI *-3</pre>||Clobbers Y, Z&N, and V
|-
|<pre>A0 88    LDY #136 ;hides 'DEY'
A5 A5    LDA $A5
30 FB    BMI *-3</pre>||Clobbers A, Y, and Z&N
|-
|<pre>A0 88    LDY #136 ;hides 'DEY'
A6 A6    LDX $A6
30 FB    BMI *-3</pre>||Clobbers X, Y, and Z&N
|-
|<pre>A0 88    LDY #136 ;hides 'DEY'
85 xx    STA @zptemp
30 FB    BMI *-3</pre>||Clobbers Y, and Z&N; and requires @zptemp
|-
|<pre>A0 88    LDY #136 ;hides 'DEY'
04 04    NOP $04
30 FB    BMI *-3</pre>||Clobbers Y, and Z&N; and requires support for unofficial opcodes
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
48      PHA
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
|<pre>48      PHA
A2 0F    LDX #15
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
B8      CLV
50 00    BVC *+2
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>A6 A6    LDX $A6
A2 0F    LDX #15
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A4 A4    LDY $A4
A0 0F    LDY #15
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C; and requires @zptemp
|-
|<pre>48      PHA
A9      LDA #45
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #45
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C; and requires support for unofficial opcodes
|-
!colspan="2"|8 bytes
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
08      PHP
28      PLP
18      CLC
10 F9    BPL *-5</pre>||Clobbers A, Z&N, and C; and writes in stack
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
4C xx xx JMP *+3
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, and C; and not relocatable code
|-
|<pre>68  ... PLA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C
|-
|<pre>48      PHA
08      PHP
A0 88    LDY #136 ;hides 'DEY'
EA      NOP
30 FC    BMI *-2
28      PLP</pre>||Clobbers Y, and S; and writes in stack
|-
|<pre>48      PHA
08      PHP
A2 0A    LDX #10 ;hides 'ASL A'
CA      DEX
D0 FC    BNE *-2
28      PLP</pre>||Clobbers A, X, and S; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 4
90 F9    BCC *-5</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
A4 A4    LDY $A4
A0 88    LDY #136 ;hides 'DEY'
EA      NOP
30 FC    BMI *-2
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>08      PHP
A6 A6    LDX $A6
A2 0A    LDX #10 ;hides 'ASL A'
CA      DEX
D0 FC    BNE *-2
28      PLP</pre>||Clobbers A, and X; and writes in stack
|-
|<pre>08      PHP
A2 0D    LDX #13
CA      DEX
D0 FD    BNE *-1
F6 xx    INC @zptemp,X
28      PLP</pre>||Clobbers X; requires @zptemp; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #38
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
08      PHP
A2 0D    LDX #13
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X, and S; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>EA      NOP
98      TYA
48      PHA
A0 0D    LDY #13
88      DEY
D0 FD    BNE *-1
68      PLA
A8      TAY</pre>||Clobbers A, and Z&N; and writes in stack
|-
|<pre>EA  ... NOP      &times; 3
08      PHP
A2 0D    LDX #13
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>00 00    BRK 0
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
10 FB    BPL *-3
68      PLA</pre>||Clobbers Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>00 00    BRK 0
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
10 FB    BPL *-3
28      PLP</pre>||Clobbers A; requires dummy interrupt handler; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
18      CLC
10 FA    BPL *-4
68      PLA</pre>||Clobbers S, Z&N, and C; and writes in stack
|-
|<pre>48      PHA
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
18      CLC
10 FA    BPL *-4
28      PLP</pre>||Clobbers A, and S; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>48      PHA
98      TYA
48      PHA
A0 0C    LDY #12
88      DEY
D0 FD    BNE *-1
68      PLA
A8      TAY
68      PLA</pre>||Clobbers Z&N; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
38      SEC
A9 0D    LDA #13
E9 01    SBC #1
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Requires @zptemp; and writes in stack
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Requires support for unofficial opcodes; and writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>EA      NOP
08      PHP
48      PHA
38      SEC
A9 0C    LDA #12
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|20 bytes
|-
|<pre>68      PLA
48      PHA
68  ... PLA      &times; 18</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|23 bytes
|-
|<pre>EA      NOP
68      PLA      \ &times; 11
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|27 bytes
|-
|<pre>EA      NOP
E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
!colspan="2"|28 bytes
|-
|<pre>C5 C5    CMP $C5
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and V
|-
|<pre>04 04    NOP $04
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|29 bytes
|-
|<pre>4C xx xx JMP *+3
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|30 bytes
|-
|<pre>26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|40 bytes
|-
|<pre>18  ... CLC      &times; 38
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 38
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 38</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 38</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|41 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 38</pre>||Not relocatable code
|-
|}
 
 
=== 80 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #53
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>A2 88    LDX #136 ;hides 'DEY'
EA      NOP
CA      DEX
30 FB    BMI *-3</pre>||Clobbers X, Y, and Z&N
|-
|<pre>68      PLA
A9 E9    LDA #$E9 ;hides 'SBC #$08'
08      PHP ;first loop only
30 FC    BMI *-2</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
|-
|<pre>68      PLA
A2 0F    LDX #15
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers A, X, S, and Z&N
|-
|<pre>68      PLA
A0 0F    LDY #15
88      DEY
D0 FD    BNE *-1</pre>||Clobbers A, Y, S, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>EA  ... NOP      &times; 2
A2 0F    LDX #15
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA  ... NOP      &times; 2
A0 0F    LDY #15
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>48      PHA
A9      LDA #46
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #46
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>38      SEC
A9 EB    LDA #$EB ;hides 'SBC #$1A'
1A      NOP ;first loop only
EA      NOP
B0 FB    BCS *-3</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
|-
!colspan="2"|8 bytes
|-
|<pre>38      SEC
A9 0B    LDA #11
EA      NOP
E9 01    SBC #1
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>EA      NOP
08      PHP
A2 0E    LDX #14
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A0 0E    LDY #14
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>48      PHA
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
D0 FC    BNE *-2
68      PLA</pre>||Clobbers Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
|-
|<pre>08      PHP
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
D0 FC    BNE *-2
28      PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
|-
|<pre>68      PLA
00 00    BRK 0
A9 0A    LDA #$0A ;hides 'ASL A'
48      PHA
D0 FC    BNE *-2</pre>||Clobbers A, S, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>EA      NOP
68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #39
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>48      PHA
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Clobbers S; requires @zptemp; and writes in stack
|-
|<pre>48      PHA
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Clobbers S; requires support for unofficial opcodes; and writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>08      PHP
28      PLP
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
10 FB    BPL *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|20 bytes
|-
|<pre>68  ... PLA      &times; 20</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|23 bytes
|-
|<pre>68      PLA      \ &times; 3
48      PHA      /
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 12
10 F0    BPL *-14</pre>||Clobbers A, and Z&N
|-
!colspan="2"|27 bytes
|-
|<pre>EA      NOP
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|40 bytes
|-
|<pre>EA  ... NOP      &times; 40</pre>||No requirements
|-
|}
 
 
=== 81 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A2 10    LDX #16
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A0 10    LDY #16
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>A9      LDA #54
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
48      PHA
30 FB    BMI *-3</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>A9 69    LDA #$69 ;hides 'ADC #$18'
18      CLC ;first loop only
E6 xx    INC @zptemp
90 FA    BCC *-4</pre>||Clobbers A, Z&N, C, and V; and requires @zptemp
|-
|<pre>48      PHA
A9      LDA #47
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #47
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
04 04    NOP $04
30 FA    BMI *-4</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
48      PHA
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
B8      CLV
50 00    BVC *+2
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C; and requires @zptemp
|-
|<pre>18      CLC
A9 2A    LDA #$2A ;hides 'ROL A'
20 xx xx JSR @rts15
90 FA    BCC *-4</pre>||Clobbers A, Z&N, and C; requires @rts12, and @rts15; and writes in stack
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C; and requires support for unofficial opcodes
|-
|<pre>18      CLC
A9 2A    LDA #$2A ;hides 'ROL A'
EA      NOP
00 00    BRK 0
90 FA    BCC *-4</pre>||Clobbers A, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>48      PHA
08      PHP
A2 0E    LDX #14
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X, and S; and writes in stack
|-
|<pre>48      PHA
08      PHP
A0 0E    LDY #14
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y, and S; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
08      PHP
28      PLP
18      CLC
10 F9    BPL *-5</pre>||Clobbers A, Z&N, and C; and writes in stack
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
4C xx xx JMP *+3
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, and C; and not relocatable code
|-
|<pre>08      PHP
A6 A6    LDX $A6
A2 0E    LDX #14
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A4 A4    LDY $A4
A0 0E    LDY #14
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #40
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
68      PLA</pre>||Clobbers S, Z&N, and C; and writes in stack
|-
|<pre>EA      NOP
68  ... PLA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C
|-
|<pre>48      PHA
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A, and S; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>C5 C5    CMP $C5
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>26 26    ROL $26
66 26    ROR $26
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
F6 F6    INC $F6,X
90 FB    BCC *-3
68      PLA
28      PLP</pre>||Requires @zptemp, and writable $00-$FF; and writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 3
90 FA    BCC *-4
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|21 bytes
|-
|<pre>EA      NOP
68      PLA
48      PHA
68  ... PLA      &times; 18</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|23 bytes
|-
|<pre>68      PLA      \ &times; 2
48      PHA      /
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 14
10 EE    BPL *-16</pre>||Clobbers A, and Z&N
|-
!colspan="2"|28 bytes
|-
|<pre>C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and V
|-
|<pre>E6 xx    INC @zptemp
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>EA      NOP
FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>EA      NOP
FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>EA      NOP
FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>EA      NOP
FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>EA      NOP
FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>EA      NOP
FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>04 04    NOP $04
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|29 bytes
|-
|<pre>4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|30 bytes
|-
|<pre>36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|41 bytes
|-
|<pre>18  ... CLC      &times; 39
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 39
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 39</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 39</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|42 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 39</pre>||Not relocatable code
|-
|}
 
 
=== 82 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #55
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>48      PHA
A0 88    LDY #136 ;hides 'DEY'
48      PHA
30 FC    BMI *-2</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
|<pre>A2 09    LDX #9
68      PLA
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers A, X, S, and Z&N
|-
|<pre>A0 09    LDY #9
68      PLA
88      DEY
D0 FC    BNE *-2</pre>||Clobbers A, Y, S, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>A2 09    LDX #9
EA  ... NOP      &times; 2
CA      DEX
D0 FB    BNE *-3</pre>||Clobbers X, and Z&N
|-
|<pre>A0 09    LDY #9
EA  ... NOP      &times; 2
88      DEY
D0 FB    BNE *-3</pre>||Clobbers Y, and Z&N
|-
|<pre>48      PHA
A9      LDA #48
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #48
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
48      PHA
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>EA      NOP
38      SEC
A9 EB    LDA #$EB ;hides 'SBC #$1A'
1A      NOP ;first loop only
EA      NOP
B0 FB    BCS *-3</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
|-
|<pre>68      PLA
38      SEC
A9 0F    LDA #15
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, C, and V
|-
!colspan="2"|9 bytes
|-
|<pre>EA  ... NOP      &times; 2
38      SEC
A9 0F    LDA #15
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>98      TYA
48      PHA
A0 0E    LDY #14
88      DEY
D0 FD    BNE *-1
68      PLA
A8      TAY</pre>||Clobbers A, and Z&N; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A2 0E    LDX #14
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A0 0E    LDY #14
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C; and requires @zptemp
|-
|<pre>08      PHP
48      PHA
A9      LDA #41
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>EA      NOP
48      PHA
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
D0 FC    BNE *-2
68      PLA</pre>||Clobbers Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
|-
|<pre>04 04    NOP $04
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C; and requires support for unofficial opcodes
|-
|<pre>EA      NOP
08      PHP
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
D0 FC    BNE *-2
28      PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
|-
|<pre>68  ... PLA      &times; 2
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C
|-
!colspan="2"|10 bytes
|-
|<pre>EA  ... NOP      &times; 2
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
48      PHA
38      SEC
A9 0D    LDA #13
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|21 bytes
|-
|<pre>EA      NOP
68  ... PLA      &times; 20</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|24 bytes
|-
|<pre>36 36    ROL $36,X
76 36    ROR $36,X
68      PLA      \ &times; 10
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|28 bytes
|-
|<pre>26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|41 bytes
|-
|<pre>EA  ... NOP      &times; 41</pre>||No requirements
|-
|}
 
 
=== 83 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #56
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>18      CLC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2</pre>||Clobbers A, Z&N, C, V, and D
|-
|<pre>EA      NOP
A2 10    LDX #16
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA      NOP
A0 10    LDY #16
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>38      SEC
A9 10    LDA #16
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>08      PHP
A2 0F    LDX #15
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 0F    LDY #15
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>48      PHA
A9      LDA #49
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #49
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
48      PHA
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, S, Z&N, and C; and requires @zptemp
|-
|<pre>68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, S, Z&N, and C; and requires support for unofficial opcodes
|-
!colspan="2"|9 bytes
|-
|<pre>EA  ... NOP      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C; and requires @zptemp
|-
|<pre>20 xx xx JSR @rts12
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C; requires @rts12; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #42
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C; and requires support for unofficial opcodes
|-
|<pre>18  ... CLC      &times; 2
A9 2A    LDA #$2A ;hides 'ROL A'
EA      NOP
00 00    BRK 0
90 FA    BCC *-4</pre>||Clobbers A, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>68  ... PLA      &times; 3
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C
|-
|<pre>48  ... PHA      &times; 2
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
D0 FC    BNE *-2
68      PLA</pre>||Clobbers S, Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
|-
|<pre>48      PHA
08      PHP
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
D0 FC    BNE *-2
28      PLP</pre>||Clobbers A, and S; requires support for unofficial opcodes; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>36 36    ROL $36,X
76 36    ROR $36,X
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C
|-
|<pre>E6 xx    INC @zptemp
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, and C; requires @zptemp; and writes in stack
|-
|<pre>08      PHP
E6 xx    INC @zptemp
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; requires @zptemp; and writes in stack
|-
|<pre>04 04    NOP $04
48      PHA
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
D0 FC    BNE *-2
68      PLA</pre>||Clobbers Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
|-
|<pre>04 04    NOP $04
08      PHP
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
D0 FC    BNE *-2
28      PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
|-
|<pre>00 00    BRK 0
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, and C; requires dummy interrupt handler, and support for unofficial opcodes; and writes in stack
|-
|<pre>EA      NOP
48  ... PHA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
68      PLA</pre>||Clobbers S, Z&N, and C; and writes in stack
|-
|<pre>EA      NOP
48      PHA
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A, and S; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
18      CLC
10 FA    BPL *-4
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|21 bytes
|-
|<pre>68      PLA
48      PHA
68  ... PLA      &times; 19</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|24 bytes
|-
|<pre>EA      NOP
68      PLA      \ &times; 2
48      PHA      /
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 14
10 EE    BPL *-16</pre>||Clobbers A, and Z&N
|-
!colspan="2"|28 bytes
|-
|<pre>E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires @zptemp
|-
!colspan="2"|29 bytes
|-
|<pre>EA      NOP
C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and C
|-
|<pre>EA      NOP
24 24    BIT $24
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and V
|-
|<pre>FE 00 02 INC $0200,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X
76 36    ROR $36,X
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>EA      NOP
04 04    NOP $04
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|30 bytes
|-
|<pre>EA      NOP
4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|31 bytes
|-
|<pre>EA      NOP
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|42 bytes
|-
|<pre>18  ... CLC      &times; 40
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 40
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 40</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 40</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|43 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 40</pre>||Not relocatable code
|-
|}
 
 
=== 84 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #57
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>48      PHA
A2 10    LDX #16
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
|<pre>48      PHA
A0 10    LDY #16
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>A6 A6    LDX $A6
A2 10    LDX #16
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A4 A4    LDY $A4
A0 10    LDY #16
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts12
10 FA    BPL *-4</pre>||Clobbers A, Z&N, and C; requires @rts12; and writes in stack
|-
|<pre>48      PHA
A9      LDA #50
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #50
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>68  ... PLA      &times; 2
A9 E9    LDA #$E9 ;hides 'SBC #$08'
08      PHP ;first loop only
30 FC    BMI *-2</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
E6 xx    INC @zptemp
28      PLP
10 F9    BPL *-5</pre>||Clobbers A, Z&N, and C; requires @zptemp; and writes in stack
|-
|<pre>00 00    BRK 0
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
48  ... PHA      &times; 4
10 F9    BPL *-5</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
|<pre>68      PLA
38      SEC
A9 EB    LDA #$EB ;hides 'SBC #$1A'
1A      NOP ;first loop only
EA      NOP
B0 FB    BCS *-3</pre>||Clobbers A, S, Z&N, C, and V; and requires support for unofficial opcodes
|-
!colspan="2"|9 bytes
|-
|<pre>38      SEC
A9 09    LDA #9
EA  ... NOP      &times; 2
E9 01    SBC #1
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
24 24    BIT $24
28      PLP
18      CLC
10 F8    BPL *-6</pre>||Clobbers A, Z&N, and C; and writes in stack
|-
|<pre>E6 xx    INC @zptemp
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C; and requires @zptemp
|-
|<pre>08      PHP
A2 0E    LDX #14
CA      DEX
D0 FD    BNE *-1
F6 xx    INC @zptemp,X
28      PLP</pre>||Clobbers X; requires @zptemp; and writes in stack
|-
|<pre>08      PHP
F6 F6    INC $F6,X
A0 0E    LDY #14
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #43
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A2 0A    LDX #10 ;hides 'ASL A'
CA      DEX
D0 FC    BNE *-2
03 xx    SLO (@ptrtemp,X)
28      PLP</pre>||Clobbers A, and X; requires @ptrtemp, and support for unofficial opcodes; and writes in stack
|-
|<pre>08      PHP
A0 0A    LDY #10 ;hides 'ASL A'
88      DEY
D0 FC    BNE *-2
13 xx    SLO (@ptrtemp,Y)
28      PLP</pre>||Clobbers A, and Y; requires @ptrtemp, and support for unofficial opcodes; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
08      PHP
A2 0E    LDX #14
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X, and S; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
08      PHP
A0 0E    LDY #14
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y, and S; and writes in stack
|-
|<pre>68      PLA
08      PHP
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
D0 FC    BNE *-2
28      PLP</pre>||Clobbers A, S, and Z&N; requires support for unofficial opcodes; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 5
18      CLC
10 F7    BPL *-7</pre>||Clobbers A, Z&N, and C
|-
|<pre>EA      NOP
98      TYA
48      PHA
A0 0E    LDY #14
88      DEY
D0 FD    BNE *-1
68      PLA
A8      TAY</pre>||Clobbers A, and Z&N; and writes in stack
|-
|<pre>EA  ... NOP      &times; 3
08      PHP
A2 0E    LDX #14
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA  ... NOP      &times; 3
08      PHP
A0 0E    LDY #14
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>F6 F6    INC $F6,X
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, and C; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>08      PHP
F6 F6    INC $F6,X
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>48      PHA
18      CLC
A9 2A    LDA #$2A ;hides 'ROL A'
20 xx xx JSR @rts14
90 FA    BCC *-4
68      PLA</pre>||Clobbers Z&N, and C; requires @rts12, and @rts14; and writes in stack
|-
|<pre>08      PHP
18      CLC
A9 2A    LDA #$2A ;hides 'ROL A'
20 xx xx JSR @rts14
90 FA    BCC *-4
28      PLP</pre>||Clobbers A; requires @rts12, and @rts14; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
48      PHA
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
D0 FC    BNE *-2
68      PLA</pre>||Clobbers Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
D0 FC    BNE *-2
28      PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
|-
|<pre>48  ... PHA      &times; 3
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
68      PLA</pre>||Clobbers S, Z&N, and C; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A, and S; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>48      PHA
98      TYA
48      PHA
A0 0D    LDY #13
88      DEY
D0 FD    BNE *-1
68      PLA
A8      TAY
68      PLA</pre>||Clobbers Z&N; and writes in stack
|-
|<pre>08      PHP
98      TYA
48      PHA
A0 0D    LDY #13
88      DEY
D0 FD    BNE *-1
68      PLA
A8      TAY
28      PLP</pre>||Clobbers A; and writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>EA      NOP
08      PHP
48      PHA
38      SEC
A9 0D    LDA #13
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|21 bytes
|-
|<pre>68  ... PLA      &times; 21</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|24 bytes
|-
|<pre>68      PLA      \ &times; 12
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|28 bytes
|-
|<pre>36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|42 bytes
|-
|<pre>EA  ... NOP      &times; 42</pre>||No requirements
|-
|}
 
 
=== 85 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #58
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>A2 0C    LDX #12
EA      NOP
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers X, and Z&N
|-
|<pre>A0 0C    LDY #12
EA      NOP
88      DEY
D0 FC    BNE *-2</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>EA      NOP
18      CLC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2</pre>||Clobbers A, Z&N, C, V, and D
|-
|<pre>A9 E9    LDA #$E9 ;hides 'SBC #$2A'
2A      ROL A ;first loop only
08      PHP
28      PLP
B0 FA    BCS *-4</pre>||Clobbers A, Z&N, C, and V; and writes in stack
|-
|<pre>48      PHA
A9      LDA #51
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #51
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>EA      NOP
38      SEC
A9 10    LDA #16
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
08      PHP
28      PLP
90 FA    BCC *-4</pre>||Clobbers A, Z&N, and C; and writes in stack
|-
|<pre>08      PHP
A2 0B    LDX #11
EA      NOP
CA      DEX
D0 FC    BNE *-2
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 0B    LDY #11
EA      NOP
88      DEY
D0 FC    BNE *-2
28      PLP</pre>||Clobbers Y; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>48      PHA
38      SEC
A9 0F    LDA #15
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>08      PHP
38      SEC
A9 0F    LDA #15
E9 01    SBC #1
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 2
E6 xx    INC @zptemp
90 F9    BCC *-5</pre>||Clobbers A, Z&N, and C; and requires @zptemp
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
FE 00 02 INC $0200,X
90 F9    BCC *-5</pre>||Clobbers A, Z&N, and C; and requires writable $200-$2FF
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
FE 00 03 INC $0300,X
90 F9    BCC *-5</pre>||Clobbers A, Z&N, and C; and requires writable $300-$3FF
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
FE 00 04 INC $0400,X
90 F9    BCC *-5</pre>||Clobbers A, Z&N, and C; and requires writable $400-$4FF
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
FE 00 05 INC $0500,X
90 F9    BCC *-5</pre>||Clobbers A, Z&N, and C; and requires writable $500-$5FF
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
FE 00 06 INC $0600,X
90 F9    BCC *-5</pre>||Clobbers A, Z&N, and C; and requires writable $600-$6FF
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
FE 00 07 INC $0700,X
90 F9    BCC *-5</pre>||Clobbers A, Z&N, and C; and requires writable $700-$7FF
|-
|<pre>08      PHP
48      PHA
A9      LDA #44
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>EA      NOP
68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, S, Z&N, and C; and requires support for unofficial opcodes
|-
!colspan="2"|10 bytes
|-
|<pre>08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
|<pre>68      PLA      \ &times; 2
48      PHA      /
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|22 bytes
|-
|<pre>EA      NOP
68      PLA
48      PHA
68  ... PLA      &times; 19</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|25 bytes
|-
|<pre>68      PLA      \ &times; 2
48      PHA      /
36 36    ROL $36,X
76 36    ROR $36,X
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 12
10 F0    BPL *-14</pre>||Clobbers A, and Z&N
|-
!colspan="2"|29 bytes
|-
|<pre>EA      NOP
E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
!colspan="2"|30 bytes
|-
|<pre>C5 C5    CMP $C5
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>04 04    NOP $04
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|31 bytes
|-
|<pre>4C xx xx JMP *+3
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|32 bytes
|-
|<pre>EA  ... NOP      &times; 2
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|43 bytes
|-
|<pre>18  ... CLC      &times; 41
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 41
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 41</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 41</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|44 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 41</pre>||Not relocatable code
|-
|}
 
 
=== 86 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A2 11    LDX #17
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A0 11    LDY #17
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>A9      LDA #59
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|7 bytes
|-
|<pre>48      PHA
A9      LDA #52
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #52
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>48      PHA
18      CLC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2</pre>||Clobbers A, S, Z&N, C, V, and D; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>A5 A5    LDA $A5
18      CLC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2</pre>||Clobbers A, Z&N, C, V, and D
|-
|<pre>08      PHP
A0 88    LDY #136 ;hides 'DEY'
C5 C5    CMP $C5
30 FB    BMI *-3
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts12
10 FA    BPL *-4</pre>||Clobbers A, Z&N, and C; requires @rts12; and writes in stack
|-
|<pre>00 00    BRK 0
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, C, and V; requires dummy interrupt handler, and support for unofficial opcodes; and writes in stack
|-
|<pre>48      PHA
68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
48      PHA
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
|<pre>48      PHA
08      PHP
A2 0F    LDX #15
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X, and S; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
B8      CLV
50 00    BVC *+2
D0 FA    BNE *-4
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>A5 A5    LDA $A5
38      SEC
A9 10    LDA #16
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
B8      CLV
50 00    BVC *+2
D0 FA    BNE *-4
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
A6 A6    LDX $A6
A2 0F    LDX #15
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
18      CLC
D0 FA    BNE *-4
68      PLA</pre>||Clobbers Z&N, and C; requires @zptemp; and writes in stack
|-
|<pre>68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C; and requires @zptemp
|-
|<pre>08      PHP
48      PHA
A9      LDA #45
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
18      CLC
D0 FA    BNE *-4
68      PLA</pre>||Clobbers Z&N, and C; requires support for unofficial opcodes; and writes in stack
|-
|<pre>68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C; and requires support for unofficial opcodes
|-
!colspan="2"|10 bytes
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
08      PHP
28      PLP
18      CLC
10 F9    BPL *-5
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
4C xx xx JMP *+3
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, and C; and not relocatable code
|-
|<pre>68      PLA
48      PHA
68  ... PLA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C
|-
!colspan="2"|11 bytes
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 5
18      CLC
10 F7    BPL *-7</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|12 bytes
|-
|<pre>EA      NOP
48      PHA
98      TYA
48      PHA
A0 0D    LDY #13
88      DEY
D0 FD    BNE *-1
68      PLA
A8      TAY
68      PLA</pre>||Clobbers Z&N; and writes in stack
|-
|<pre>00 00    BRK 0
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
10 FB    BPL *-3
68      PLA
28      PLP</pre>||Requires dummy interrupt handler; and writes in stack
|-
|<pre>48      PHA
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
18      CLC
10 FA    BPL *-4
68      PLA
28      PLP</pre>||Clobbers S; and writes in stack
|-
!colspan="2"|13 bytes
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
48      PHA
38      SEC
A9 0D    LDA #13
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|22 bytes
|-
|<pre>EA      NOP
68  ... PLA      &times; 21</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|25 bytes
|-
|<pre>EA      NOP
68      PLA      \ &times; 12
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|29 bytes
|-
|<pre>EA      NOP
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|43 bytes
|-
|<pre>EA  ... NOP      &times; 43</pre>||No requirements
|-
|}
 
 
=== 87 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #60
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
48  ... PHA      &times; 2
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
|<pre>A2 F8    LDX #248 ;hides 'SED'
68      PLA
E8      INX
D0 FB    BNE *-3</pre>||Clobbers A, X, S, Z&N, and D
|-
|<pre>A0 F8    LDY #248 ;hides 'SED'
68      PLA
C8      INY
D0 FB    BNE *-3</pre>||Clobbers A, Y, S, Z&N, and D
|-
!colspan="2"|7 bytes
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 2
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C
|-
|<pre>EA      NOP
A2 0C    LDX #12
EA      NOP
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers X, and Z&N
|-
|<pre>EA      NOP
A0 0C    LDY #12
EA      NOP
88      DEY
D0 FC    BNE *-2</pre>||Clobbers Y, and Z&N
|-
|<pre>48      PHA
A9      LDA #53
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #53
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>08      PHP
A2 88    LDX #136 ;hides 'DEY'
EA      NOP
CA      DEX
30 FB    BMI *-3
28      PLP</pre>||Clobbers X, and Y; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>98      TYA
48      PHA
A0 0F    LDY #15
88      DEY
D0 FD    BNE *-1
68      PLA
A8      TAY</pre>||Clobbers A, and Z&N; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A2 0F    LDX #15
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A0 0F    LDY #15
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #46
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>48      PHA
38      SEC
A9 EB    LDA #$EB ;hides 'SBC #$1A'
1A      NOP ;first loop only
EA      NOP
B0 FB    BCS *-3
68      PLA</pre>||Clobbers Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
|-
|<pre>08      PHP
38      SEC
A9 EB    LDA #$EB ;hides 'SBC #$1A'
1A      NOP ;first loop only
EA      NOP
B0 FB    BCS *-3
28      PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>48      PHA
38      SEC
A9 0B    LDA #11
EA      NOP
E9 01    SBC #1
D0 FA    BNE *-4
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>08      PHP
38      SEC
A9 0B    LDA #11
EA      NOP
E9 01    SBC #1
D0 FA    BNE *-4
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
48      PHA
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
D0 FC    BNE *-2
68      PLA
28      PLP</pre>||Requires support for unofficial opcodes; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|22 bytes
|-
|<pre>68      PLA
48      PHA
68  ... PLA      &times; 20</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|25 bytes
|-
|<pre>68      PLA      \ &times; 4
48      PHA      /
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 12
10 F0    BPL *-14</pre>||Clobbers A, and Z&N
|-
!colspan="2"|30 bytes
|-
|<pre>C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>E6 xx    INC @zptemp
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>EA      NOP
FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>EA      NOP
FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>EA      NOP
FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>EA      NOP
FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>EA      NOP
FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>EA      NOP
FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>04 04    NOP $04
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|31 bytes
|-
|<pre>4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|33 bytes
|-
|<pre>EA  ... NOP      &times; 3
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|44 bytes
|-
|<pre>18  ... CLC      &times; 42
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 42
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 42</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 42</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|45 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 42</pre>||Not relocatable code
|-
|}
 
 
=== 88 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #61
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>38      SEC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2</pre>||Clobbers A, Z&N, C, V, and D
|-
|<pre>EA      NOP
A2 11    LDX #17
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA      NOP
A0 11    LDY #17
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>38      SEC
A9 11    LDA #17
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>08      PHP
A2 10    LDX #16
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 10    LDY #16
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>48      PHA
A9      LDA #54
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #54
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts12
10 FA    BPL *-4</pre>||Clobbers A, S, Z&N, and C; requires @rts12; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>48      PHA
A9 69    LDA #$69 ;hides 'ADC #$18'
18      CLC ;first loop only
E6 xx    INC @zptemp
90 FA    BCC *-4
68      PLA</pre>||Clobbers Z&N, C, and V; requires @zptemp; and writes in stack
|-
|<pre>08      PHP
A9 69    LDA #$69 ;hides 'ADC #$18'
18      CLC ;first loop only
E6 xx    INC @zptemp
90 FA    BCC *-4
28      PLP</pre>||Clobbers A; requires @zptemp; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts12
10 FA    BPL *-4</pre>||Clobbers A, Z&N, and C; requires @rts12; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #47
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
04 04    NOP $04
30 FA    BMI *-4
68      PLA</pre>||Clobbers Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
|-
|<pre>08      PHP
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
04 04    NOP $04
30 FA    BMI *-4
28      PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
|-
|<pre>48  ... PHA      &times; 3
A9 0A    LDA #$0A ;hides 'ASL A'
48      PHA
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
B8      CLV
50 00    BVC *+2
D0 FA    BNE *-4
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>08      PHP
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
B8      CLV
50 00    BVC *+2
D0 FA    BNE *-4
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
18      CLC
D0 FA    BNE *-4
68      PLA</pre>||Clobbers Z&N, and C; requires @zptemp; and writes in stack
|-
|<pre>EA      NOP
68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C; and requires @zptemp
|-
|<pre>48      PHA
18      CLC
A9 2A    LDA #$2A ;hides 'ROL A'
20 xx xx JSR @rts15
90 FA    BCC *-4
68      PLA</pre>||Clobbers Z&N, and C; requires @rts12, and @rts15; and writes in stack
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
18      CLC
D0 FA    BNE *-4
68      PLA</pre>||Clobbers Z&N, and C; requires support for unofficial opcodes; and writes in stack
|-
|<pre>EA      NOP
68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C; and requires support for unofficial opcodes
|-
|<pre>48      PHA
18      CLC
A9 2A    LDA #$2A ;hides 'ROL A'
EA      NOP
00 00    BRK 0
90 FA    BCC *-4
68      PLA</pre>||Clobbers Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
08      PHP
28      PLP
18      CLC
10 F9    BPL *-5
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>EA      NOP
68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
4C xx xx JMP *+3
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, and C; and not relocatable code
|-
|<pre>A5 A5    LDA $A5
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
FE 00 02 INC $0200,X
90 F9    BCC *-5</pre>||Clobbers A, Z&N, and C; and requires writable $200-$2FF
|-
|<pre>A5 A5    LDA $A5
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
FE 00 03 INC $0300,X
90 F9    BCC *-5</pre>||Clobbers A, Z&N, and C; and requires writable $300-$3FF
|-
|<pre>A5 A5    LDA $A5
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
FE 00 04 INC $0400,X
90 F9    BCC *-5</pre>||Clobbers A, Z&N, and C; and requires writable $400-$4FF
|-
|<pre>A5 A5    LDA $A5
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
FE 00 05 INC $0500,X
90 F9    BCC *-5</pre>||Clobbers A, Z&N, and C; and requires writable $500-$5FF
|-
|<pre>A5 A5    LDA $A5
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
FE 00 06 INC $0600,X
90 F9    BCC *-5</pre>||Clobbers A, Z&N, and C; and requires writable $600-$6FF
|-
|<pre>A5 A5    LDA $A5
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
FE 00 07 INC $0700,X
90 F9    BCC *-5</pre>||Clobbers A, Z&N, and C; and requires writable $700-$7FF
|-
|<pre>48      PHA
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Clobbers S; and writes in stack
|-
|<pre>EA      NOP
68      PLA
48      PHA
68  ... PLA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C
|-
!colspan="2"|12 bytes
|-
|<pre>08      PHP
C5 C5    CMP $C5
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
|<pre>68      PLA
48      PHA
26 26    ROL $26
66 26    ROR $26
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|22 bytes
|-
|<pre>68  ... PLA      &times; 22</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|25 bytes
|-
|<pre>68      PLA      \ &times; 3
48      PHA      /
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 14
10 EE    BPL *-16</pre>||Clobbers A, and Z&N
|-
!colspan="2"|30 bytes
|-
|<pre>26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|44 bytes
|-
|<pre>EA  ... NOP      &times; 44</pre>||No requirements
|-
|}
 
 
=== 89 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #62
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
|<pre>A0 88    LDY #136 ;hides 'DEY'
68      PLA
30 FC    BMI *-2</pre>||Clobbers A, Y, S, and Z&N
|-
!colspan="2"|6 bytes
|-
|<pre>A0 88    LDY #136 ;hides 'DEY'
EA  ... NOP      &times; 2
30 FB    BMI *-3</pre>||Clobbers Y, and Z&N
|-
|<pre>A2 0A    LDX #10 ;hides 'ASL A'
EA      NOP
CA      DEX
D0 FB    BNE *-3</pre>||Clobbers A, X, Z&N, and C
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
10 FB    BPL *-3</pre>||Clobbers A, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>A2 0B    LDX #11
48      PHA
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>A6 A6    LDX $A6
A2 11    LDX #17
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A9 69    LDA #$69 ;hides 'ADC #$18'
18      CLC ;first loop only
F6 F6    INC $F6,X
90 FA    BCC *-4</pre>||Clobbers A, Z&N, C, and V; and requires @zptemp, and writable $00-$FF
|-
|<pre>48      PHA
A9      LDA #55
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #55
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
48  ... PHA      &times; 2
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 2
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
A2 09    LDX #9
EA  ... NOP      &times; 2
CA      DEX
D0 FB    BNE *-3
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 09    LDY #9
EA  ... NOP      &times; 2
88      DEY
D0 FB    BNE *-3
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #48
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>98      TYA
48      PHA
A0 0B    LDY #11
EA      NOP
88      DEY
D0 FC    BNE *-2
68      PLA
A8      TAY</pre>||Clobbers A, and Z&N; and writes in stack
|-
|<pre>EA      NOP
48      PHA
38      SEC
A9 EB    LDA #$EB ;hides 'SBC #$1A'
1A      NOP ;first loop only
EA      NOP
B0 FB    BCS *-3
68      PLA</pre>||Clobbers Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
|-
|<pre>EA      NOP
08      PHP
38      SEC
A9 EB    LDA #$EB ;hides 'SBC #$1A'
1A      NOP ;first loop only
EA      NOP
B0 FB    BCS *-3
28      PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
B8      CLV
50 00    BVC *+2
D0 FA    BNE *-4
68      PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
|-
|<pre>48      PHA
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
B8      CLV
50 00    BVC *+2
D0 FA    BNE *-4
28      PLP</pre>||Clobbers A, and S; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
18      CLC
D0 FA    BNE *-4
68      PLA</pre>||Clobbers S, Z&N, and C; requires @zptemp; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
18      CLC
D0 FA    BNE *-4
68      PLA</pre>||Clobbers S, Z&N, and C; requires support for unofficial opcodes; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>48      PHA
98      TYA
48      PHA
A0 0E    LDY #14
88      DEY
D0 FD    BNE *-1
68      PLA
A8      TAY
68      PLA</pre>||Clobbers Z&N; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
38      SEC
A9 0F    LDA #15
E9 01    SBC #1
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>EA      NOP
08      PHP
48      PHA
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
D0 FC    BNE *-2
68      PLA
28      PLP</pre>||Requires support for unofficial opcodes; and writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|23 bytes
|-
|<pre>EA      NOP
68      PLA
48      PHA
68  ... PLA      &times; 20</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|26 bytes
|-
|<pre>36 36    ROL $36,X
76 36    ROR $36,X
68      PLA      \ &times; 11
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|30 bytes
|-
|<pre>E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
!colspan="2"|31 bytes
|-
|<pre>EA      NOP
C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>EA      NOP
24 24    BIT $24
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>FE 00 02 INC $0200,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>EA      NOP
04 04    NOP $04
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|32 bytes
|-
|<pre>EA      NOP
4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|34 bytes
|-
|<pre>26 26    ROL $26  \ &times; 2
66 26    ROR $26  /
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|45 bytes
|-
|<pre>18  ... CLC      &times; 43
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 43
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 43</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 43</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|46 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 43</pre>||Not relocatable code
|-
|}
 
 
=== 90 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #63
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>68      PLA
A2 11    LDX #17
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers A, X, S, and Z&N
|-
|<pre>68      PLA
A0 11    LDY #17
88      DEY
D0 FD    BNE *-1</pre>||Clobbers A, Y, S, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>EA      NOP
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2</pre>||Clobbers A, Z&N, C, V, and D
|-
|<pre>EA  ... NOP      &times; 2
A2 11    LDX #17
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA  ... NOP      &times; 2
A0 11    LDY #17
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>48      PHA
A9      LDA #56
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #56
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
48  ... PHA      &times; 2
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>48      PHA
18      CLC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2
68      PLA</pre>||Clobbers Z&N, C, V, and D; and writes in stack
|-
|<pre>EA      NOP
38      SEC
A9 11    LDA #17
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>08      PHP
18      CLC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A2 10    LDX #16
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A0 10    LDY #16
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>48      PHA
38      SEC
A9 10    LDA #16
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 2
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
48      PHA
A9      LDA #49
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>EA  ... NOP      &times; 2
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
18      CLC
D0 FA    BNE *-4
68      PLA</pre>||Clobbers Z&N, and C; requires @zptemp; and writes in stack
|-
|<pre>20 xx xx JSR @rts12
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, and C; requires @rts12; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
18      CLC
D0 FA    BNE *-4
68      PLA</pre>||Clobbers Z&N, and C; requires support for unofficial opcodes; and writes in stack
|-
|<pre>48      PHA
18  ... CLC      &times; 2
A9 2A    LDA #$2A ;hides 'ROL A'
EA      NOP
00 00    BRK 0
90 FA    BCC *-4
68      PLA</pre>||Clobbers Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>48      PHA
08      PHP
48      PHA
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
D0 FC    BNE *-2
68      PLA
28      PLP</pre>||Clobbers S; requires support for unofficial opcodes; and writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>36 36    ROL $36,X
76 36    ROR $36,X
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>08      PHP
E6 xx    INC @zptemp
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Requires @zptemp; and writes in stack
|-
|<pre>04 04    NOP $04
08      PHP
48      PHA
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
D0 FC    BNE *-2
68      PLA
28      PLP</pre>||Requires support for unofficial opcodes; and writes in stack
|-
|<pre>EA      NOP
48      PHA
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Clobbers S; and writes in stack
|-
!colspan="2"|13 bytes
|-
|<pre>EA      NOP
08      PHP
C5 C5    CMP $C5
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|23 bytes
|-
|<pre>EA      NOP
68  ... PLA      &times; 22</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|26 bytes
|-
|<pre>EA      NOP
68      PLA      \ &times; 3
48      PHA      /
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 14
10 EE    BPL *-16</pre>||Clobbers A, and Z&N
|-
!colspan="2"|30 bytes
|-
|<pre>36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|45 bytes
|-
|<pre>EA  ... NOP      &times; 45</pre>||No requirements
|-
|}
 
 
=== 91 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A2 12    LDX #18
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A0 12    LDY #18
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>A9      LDA #64
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|7 bytes
|-
|<pre>A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
EA  ... NOP      &times; 2
30 FA    BMI *-4</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>48      PHA
A9      LDA #57
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #57
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
10 FB    BPL *-3</pre>||Clobbers A, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
48  ... PHA      &times; 2
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 2
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, S, Z&N, and C
|-
|<pre>48      PHA
08      PHP
A2 10    LDX #16
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X, and S; and writes in stack
|-
|<pre>48      PHA
08      PHP
A0 10    LDY #16
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y, and S; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
26 26    ROL $26
66 26    ROR $26
90 F9    BCC *-5</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
A6 A6    LDX $A6
A2 10    LDX #16
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A4 A4    LDY $A4
A0 10    LDY #16
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts12
10 FA    BPL *-4
68      PLA</pre>||Clobbers Z&N, and C; requires @rts12; and writes in stack
|-
|<pre>08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts12
10 FA    BPL *-4
28      PLP</pre>||Clobbers A; requires @rts12; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #50
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
E6 xx    INC @zptemp
28      PLP
10 F9    BPL *-5
68      PLA</pre>||Clobbers Z&N, and C; requires @zptemp; and writes in stack
|-
|<pre>08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
E6 xx    INC @zptemp
28      PLP
10 F9    BPL *-5
28      PLP</pre>||Clobbers A; requires @zptemp; and writes in stack
|-
|<pre>00 00    BRK 0
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>00 00    BRK 0
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; requires dummy interrupt handler; and writes in stack
|-
|<pre>68      PLA
98      TYA
48      PHA
A0 0F    LDY #15
88      DEY
D0 FD    BNE *-1
68      PLA
A8      TAY</pre>||Clobbers A, S, and Z&N; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
04 04    NOP $04
30 FA    BMI *-4
68      PLA</pre>||Clobbers S, Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
|-
|<pre>48      PHA
08      PHP
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
04 04    NOP $04
30 FA    BMI *-4
28      PLP</pre>||Clobbers A, and S; requires support for unofficial opcodes; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
24 24    BIT $24
28      PLP
18      CLC
10 F8    BPL *-6
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>08      PHP
38      SEC
A9 09    LDA #9
EA  ... NOP      &times; 2
E9 01    SBC #1
D0 F9    BNE *-5
28      PLP</pre>||Clobbers A; and writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>EA      NOP
48      PHA
98      TYA
48      PHA
A0 0E    LDY #14
88      DEY
D0 FD    BNE *-1
68      PLA
A8      TAY
68      PLA</pre>||Clobbers Z&N; and writes in stack
|-
|<pre>08      PHP
F6 F6    INC $F6,X
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 2A    LDA #$2A ;hides 'ROL A'
20 xx xx JSR @rts14
90 FA    BCC *-4
68      PLA
28      PLP</pre>||Requires @rts12, and @rts14; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
48      PHA
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
D0 FC    BNE *-2
68      PLA
28      PLP</pre>||Requires support for unofficial opcodes; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Clobbers S; and writes in stack
|-
!colspan="2"|13 bytes
|-
|<pre>08      PHP
48      PHA
98      TYA
48      PHA
A0 0D    LDY #13
88      DEY
D0 FD    BNE *-1
68      PLA
A8      TAY
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|23 bytes
|-
|<pre>68      PLA
48      PHA
68  ... PLA      &times; 21</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|26 bytes
|-
|<pre>68      PLA      \ &times; 13
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|31 bytes
|-
|<pre>EA      NOP
E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
!colspan="2"|32 bytes
|-
|<pre>C5 C5    CMP $C5
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and V
|-
|<pre>04 04    NOP $04
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|33 bytes
|-
|<pre>4C xx xx JMP *+3
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|34 bytes
|-
|<pre>26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|46 bytes
|-
|<pre>18  ... CLC      &times; 44
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 44
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 44</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 44</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|47 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 44</pre>||Not relocatable code
|-
|}
 
 
=== 92 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #65
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>A2 0D    LDX #13
EA      NOP
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers X, and Z&N
|-
|<pre>A0 0D    LDY #13
EA      NOP
88      DEY
D0 FC    BNE *-2</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>48      PHA
A9      LDA #58
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #58
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>68      PLA
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2</pre>||Clobbers A, S, Z&N, C, V, and D
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
10 FB    BPL *-3</pre>||Clobbers A, S, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>EA  ... NOP      &times; 2
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2</pre>||Clobbers A, Z&N, C, V, and D
|-
|<pre>08      PHP
A2 0C    LDX #12
EA      NOP
CA      DEX
D0 FC    BNE *-2
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 0C    LDY #12
EA      NOP
88      DEY
D0 FC    BNE *-2
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>A9 E9    LDA #$E9 ;hides 'SBC #$2A'
2A      ROL A ;first loop only
EA      NOP
F6 F6    INC $F6,X
B0 F9    BCS *-5</pre>||Clobbers A, Z&N, C, and V; and requires @zptemp, and writable $00-$FF
|-
|<pre>A9 2A    LDA #$2A ;hides 'ROL A'
00 00... BRK 0    &times; 2
10 F9    BPL *-5</pre>||Clobbers A, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>68      PLA
38      SEC
A9 11    LDA #17
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, C, and V
|-
|<pre>EA      NOP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
48  ... PHA      &times; 2
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$2A'
2A      ROL A ;first loop only
08      PHP
28      PLP
B0 FA    BCS *-4
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
38      SEC
A9 11    LDA #17
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>EA      NOP
08      PHP
18      CLC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>E6 xx    INC @zptemp
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 2
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C; and requires @zptemp
|-
|<pre>08      PHP
48      PHA
A9      LDA #51
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
08      PHP
28      PLP
90 FA    BCC *-4
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>EA      NOP
A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 2
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
48      PHA
38      SEC
A9 0F    LDA #15
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|23 bytes
|-
|<pre>68  ... PLA      &times; 23</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|27 bytes
|-
|<pre>68      PLA      \ &times; 3
48      PHA      /
36 36    ROL $36,X
76 36    ROR $36,X
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 12
10 F0    BPL *-14</pre>||Clobbers A, and Z&N
|-
!colspan="2"|31 bytes
|-
|<pre>EA      NOP
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|46 bytes
|-
|<pre>EA  ... NOP      &times; 46</pre>||No requirements
|-
|}
 
 
=== 93 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #66
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>EA      NOP
A2 12    LDX #18
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA      NOP
A0 12    LDY #18
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>38      SEC
A9 12    LDA #18
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>08      PHP
A2 11    LDX #17
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 11    LDY #17
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>48      PHA
A9      LDA #59
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #59
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
10 FB    BPL *-3</pre>||Clobbers A, S, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>EA  ... NOP      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
10 FB    BPL *-3</pre>||Clobbers A, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
48  ... PHA      &times; 2
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>F6 F6    INC $F6,X
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 2
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C; and requires @zptemp, and writable $00-$FF
|-
|<pre>08      PHP
48      PHA
A9      LDA #52
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
18      CLC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2
68      PLA</pre>||Clobbers S, Z&N, C, V, and D; and writes in stack
|-
|<pre>EA      NOP
68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 2
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, S, Z&N, and C
|-
|<pre>48      PHA
08      PHP
18      CLC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2
28      PLP</pre>||Clobbers A, and S; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>24 24    BIT $24
48      PHA
18      CLC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2
68      PLA</pre>||Clobbers Z&N, C, V, and D; and writes in stack
|-
|<pre>18  ... CLC      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
26 26    ROL $26
66 26    ROR $26
90 F9    BCC *-5</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
A5 A5    LDA $A5
18      CLC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts12
10 FA    BPL *-4
68      PLA</pre>||Clobbers Z&N, and C; requires @rts12; and writes in stack
|-
|<pre>00 00    BRK 0
48      PHA
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
D0 FC    BNE *-2
68      PLA</pre>||Clobbers Z&N, C, and V; requires dummy interrupt handler, and support for unofficial opcodes; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
38      SEC
A9 10    LDA #16
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
B8      CLV
50 00    BVC *+2
D0 FA    BNE *-4
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|24 bytes
|-
|<pre>EA      NOP
68      PLA
48      PHA
68  ... PLA      &times; 21</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|27 bytes
|-
|<pre>EA      NOP
68      PLA      \ &times; 13
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|32 bytes
|-
|<pre>C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and V
|-
|<pre>E6 xx    INC @zptemp
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>EA      NOP
FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>EA      NOP
FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>EA      NOP
FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>EA      NOP
FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>EA      NOP
FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>EA      NOP
FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>04 04    NOP $04
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|33 bytes
|-
|<pre>4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|34 bytes
|-
|<pre>36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|47 bytes
|-
|<pre>18  ... CLC      &times; 45
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 45
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 45</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 45</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|48 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 45</pre>||Not relocatable code
|-
|}
 
 
=== 94 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #67
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>48      PHA
A2 12    LDX #18
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
|<pre>48      PHA
A0 12    LDY #18
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>A6 A6    LDX $A6
A2 12    LDX #18
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A4 A4    LDY $A4
A0 12    LDY #18
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts14
10 FA    BPL *-4</pre>||Clobbers A, Z&N, and C; requires @rts12, and @rts14; and writes in stack
|-
|<pre>48      PHA
A9      LDA #60
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #60
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>38      SEC
A9 0D    LDA #13
EA      NOP
E9 01    SBC #1
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP      \ &times; 2
28      PLP      /
10 F9    BPL *-5</pre>||Clobbers A, Z&N, and C; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 2
18      CLC
D0 FA    BNE *-4
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 2
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 2
18      CLC
D0 FA    BNE *-4
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A2 0C    LDX #12
EA      NOP
CA      DEX
D0 FC    BNE *-2
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A0 0C    LDY #12
EA      NOP
88      DEY
D0 FC    BNE *-2
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #53
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>48      PHA
98      TYA
48      PHA
A0 0F    LDY #15
88      DEY
D0 FD    BNE *-1
68      PLA
A8      TAY
68      PLA</pre>||Clobbers Z&N; and writes in stack
|-
|<pre>08      PHP
48      PHA
38      SEC
A9 EB    LDA #$EB ;hides 'SBC #$1A'
1A      NOP ;first loop only
EA      NOP
B0 FB    BCS *-3
68      PLA
28      PLP</pre>||Requires support for unofficial opcodes; and writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>08      PHP
48      PHA
38      SEC
A9 0B    LDA #11
EA      NOP
E9 01    SBC #1
D0 FA    BNE *-4
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|24 bytes
|-
|<pre>EA      NOP
68  ... PLA      &times; 23</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|27 bytes
|-
|<pre>68      PLA      \ &times; 5
48      PHA      /
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 12
10 F0    BPL *-14</pre>||Clobbers A, and Z&N
|-
!colspan="2"|32 bytes
|-
|<pre>26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|47 bytes
|-
|<pre>EA  ... NOP      &times; 47</pre>||No requirements
|-
|}
 
 
=== 95 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #68
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C; and writes in stack
|-
|<pre>68      PLA
A2 12    LDX #18
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers A, X, S, and Z&N
|-
|<pre>68      PLA
A0 12    LDY #18
88      DEY
D0 FD    BNE *-1</pre>||Clobbers A, Y, S, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>EA  ... NOP      &times; 2
A2 12    LDX #18
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA  ... NOP      &times; 2
A0 12    LDY #18
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>48      PHA
A9      LDA #61
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #61
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>48      PHA
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2
68      PLA</pre>||Clobbers Z&N, C, V, and D; and writes in stack
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
90 00    BCC *+2
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A2 11    LDX #17
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A0 11    LDY #17
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>48      PHA
38      SEC
A9 11    LDA #17
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #54
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
48      PHA
A9 69    LDA #$69 ;hides 'ADC #$18'
18      CLC ;first loop only
E6 xx    INC @zptemp
90 FA    BCC *-4
68      PLA
28      PLP</pre>||Requires @zptemp; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts12
10 FA    BPL *-4
68      PLA</pre>||Clobbers Z&N, and C; requires @rts12; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
04 04    NOP $04
30 FA    BMI *-4
68      PLA
28      PLP</pre>||Requires support for unofficial opcodes; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
08      PHP
28      PLP
90 FA    BCC *-4
68      PLA</pre>||Clobbers S, Z&N, and C; and writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
B8      CLV
50 00    BVC *+2
D0 FA    BNE *-4
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|24 bytes
|-
|<pre>68      PLA
48      PHA
68  ... PLA      &times; 22</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|27 bytes
|-
|<pre>68      PLA      \ &times; 4
48      PHA      /
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 14
10 EE    BPL *-16</pre>||Clobbers A, and Z&N
|-
!colspan="2"|32 bytes
|-
|<pre>E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires @zptemp
|-
!colspan="2"|33 bytes
|-
|<pre>EA      NOP
C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and C
|-
|<pre>EA      NOP
24 24    BIT $24
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and V
|-
|<pre>FE 00 02 INC $0200,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 2
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>EA      NOP
04 04    NOP $04
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|34 bytes
|-
|<pre>EA      NOP
4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|35 bytes
|-
|<pre>EA      NOP
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|48 bytes
|-
|<pre>18  ... CLC      &times; 46
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 46
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 46</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 46</pre>||Requires support for unofficial opcodes
|-
!colspan="2"|49 bytes
|-
|<pre>4C xx xx JMP *+3
EA  ... NOP      &times; 46</pre>||Not relocatable code
|-
|}
 
 
=== 96 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A2 13    LDX #19
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A0 13    LDY #19
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>A9      LDA #69
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|7 bytes
|-
|<pre>48      PHA
A9      LDA #62
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #62
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>08      PHP
A0 88    LDY #136 ;hides 'DEY'
EA  ... NOP      &times; 2
30 FB    BMI *-3
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>08      PHP
A2 0A    LDX #10 ;hides 'ASL A'
EA      NOP
CA      DEX
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A, and X; and writes in stack
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts14
10 FA    BPL *-4</pre>||Clobbers A, Z&N, and C; requires @rts12, and @rts14; and writes in stack
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
10 FB    BPL *-3
68      PLA</pre>||Clobbers Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
10 FB    BPL *-3
28      PLP</pre>||Clobbers A; requires dummy interrupt handler; and writes in stack
|-
|<pre>68  ... PLA      &times; 2
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2</pre>||Clobbers A, S, Z&N, C, V, and D
|-
|<pre>48      PHA
38      SEC
A9 12    LDA #18
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
|-
|<pre>48      PHA
08      PHP
A2 11    LDX #17
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X, and S; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>A5 A5    LDA $A5
38      SEC
A9 12    LDA #18
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP      \ &times; 2
28      PLP      /
10 F9    BPL *-5</pre>||Clobbers A, Z&N, and C; and writes in stack
|-
|<pre>08      PHP
A2 0B    LDX #11
C5 C5    CMP $C5
CA      DEX
D0 FB    BNE *-3
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>48      PHA
A9 69    LDA #$69 ;hides 'ADC #$18'
18      CLC ;first loop only
F6 F6    INC $F6,X
90 FA    BCC *-4
68      PLA</pre>||Clobbers Z&N, C, and V; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>08      PHP
A9 69    LDA #$69 ;hides 'ADC #$18'
18      CLC ;first loop only
F6 F6    INC $F6,X
90 FA    BCC *-4
28      PLP</pre>||Clobbers A; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #55
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 2
18      CLC
D0 FA    BNE *-4
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>EA      NOP
68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 2
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 2
18      CLC
D0 FA    BNE *-4
28      PLP</pre>||Clobbers A; and writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>48      PHA
98      TYA
48      PHA
A0 0B    LDY #11
EA      NOP
88      DEY
D0 FC    BNE *-2
68      PLA
A8      TAY
68      PLA</pre>||Clobbers Z&N; and writes in stack
|-
|<pre>EA      NOP
08      PHP
48      PHA
38      SEC
A9 EB    LDA #$EB ;hides 'SBC #$1A'
1A      NOP ;first loop only
EA      NOP
B0 FB    BCS *-3
68      PLA
28      PLP</pre>||Requires support for unofficial opcodes; and writes in stack
|-
|<pre>48      PHA
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
B8      CLV
50 00    BVC *+2
D0 FA    BNE *-4
68      PLA
28      PLP</pre>||Clobbers S; and writes in stack
|-
!colspan="2"|13 bytes
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
48      PHA
38      SEC
A9 0F    LDA #15
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|24 bytes
|-
|<pre>68  ... PLA      &times; 24</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|28 bytes
|-
|<pre>36 36    ROL $36,X
76 36    ROR $36,X
68      PLA      \ &times; 12
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|32 bytes
|-
|<pre>36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|48 bytes
|-
|<pre>EA  ... NOP      &times; 48</pre>||No requirements
|-
|}
 
 
=== 97 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #70
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>A2 0C    LDX #12
48      PHA
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
|<pre>A0 0C    LDY #12
48      PHA
88      DEY
D0 FC    BNE *-2</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C; and writes in stack
|-
|<pre>A2 0C    LDX #12
C5 C5    CMP $C5
CA      DEX
D0 FB    BNE *-3</pre>||Clobbers X, Z&N, and C
|-
|<pre>A0 0C    LDY #12
C5 C5    CMP $C5
88      DEY
D0 FB    BNE *-3</pre>||Clobbers Y, Z&N, and C
|-
|<pre>A2 0C    LDX #12
24 24    BIT $24
CA      DEX
D0 FB    BNE *-3</pre>||Clobbers X, Z&N, and V
|-
|<pre>A0 0C    LDY #12
24 24    BIT $24
88      DEY
D0 FB    BNE *-3</pre>||Clobbers Y, Z&N, and V
|-
|<pre>A2 08    LDX #8
08      PHP
28      PLP
CA      DEX
D0 FB    BNE *-3</pre>||Clobbers X, and Z&N; and writes in stack
|-
|<pre>A0 08    LDY #8
08      PHP
28      PLP
88      DEY
D0 FB    BNE *-3</pre>||Clobbers Y, and Z&N; and writes in stack
|-
|<pre>A2 0C    LDX #12
A5 A5    LDA $A5
CA      DEX
D0 FB    BNE *-3</pre>||Clobbers A, X, and Z&N
|-
|<pre>A0 0C    LDY #12
A5 A5    LDA $A5
88      DEY
D0 FB    BNE *-3</pre>||Clobbers A, Y, and Z&N
|-
|<pre>A2 0C    LDX #12
A4 A4    LDY $A4
CA      DEX
D0 FB    BNE *-3</pre>||Clobbers X, Y, and Z&N
|-
|<pre>A2 0C    LDX #12
85 xx    STA @zptemp
CA      DEX
D0 FB    BNE *-3</pre>||Clobbers X, and Z&N; and requires @zptemp
|-
|<pre>A0 0C    LDY #12
85 xx    STA @zptemp
88      DEY
D0 FB    BNE *-3</pre>||Clobbers Y, and Z&N; and requires @zptemp
|-
|<pre>48      PHA
A9      LDA #63
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #63
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>A2 0C    LDX #12
04 04    NOP $04
CA      DEX
D0 FB    BNE *-3</pre>||Clobbers X, and Z&N; and requires support for unofficial opcodes
|-
|<pre>A0 0C    LDY #12
04 04    NOP $04
88      DEY
D0 FB    BNE *-3</pre>||Clobbers Y, and Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|8 bytes
|-
|<pre>EA  ... NOP      &times; 3
A2 12    LDX #18
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA  ... NOP      &times; 3
A0 12    LDY #18
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>A9 69    LDA #$69 ;hides 'ADC #$18'
18      CLC ;first loop only
EA      NOP
E6 xx    INC @zptemp
90 F9    BCC *-5</pre>||Clobbers A, Z&N, C, and V; and requires @zptemp
|-
|<pre>A9 69    LDA #$69 ;hides 'ADC #$18'
18      CLC ;first loop only
FE 00 02 INC $0200,X
90 F9    BCC *-5</pre>||Clobbers A, Z&N, C, and V; and requires writable $200-$2FF
|-
|<pre>A9 69    LDA #$69 ;hides 'ADC #$18'
18      CLC ;first loop only
FE 00 03 INC $0300,X
90 F9    BCC *-5</pre>||Clobbers A, Z&N, C, and V; and requires writable $300-$3FF
|-
|<pre>A9 69    LDA #$69 ;hides 'ADC #$18'
18      CLC ;first loop only
FE 00 04 INC $0400,X
90 F9    BCC *-5</pre>||Clobbers A, Z&N, C, and V; and requires writable $400-$4FF
|-
|<pre>A9 69    LDA #$69 ;hides 'ADC #$18'
18      CLC ;first loop only
FE 00 05 INC $0500,X
90 F9    BCC *-5</pre>||Clobbers A, Z&N, C, and V; and requires writable $500-$5FF
|-
|<pre>A9 69    LDA #$69 ;hides 'ADC #$18'
18      CLC ;first loop only
FE 00 06 INC $0600,X
90 F9    BCC *-5</pre>||Clobbers A, Z&N, C, and V; and requires writable $600-$6FF
|-
|<pre>A9 69    LDA #$69 ;hides 'ADC #$18'
18      CLC ;first loop only
FE 00 07 INC $0700,X
90 F9    BCC *-5</pre>||Clobbers A, Z&N, C, and V; and requires writable $700-$7FF
|-
|<pre>68      PLA
38      SEC
A9 12    LDA #18
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, C, and V
|-
!colspan="2"|9 bytes
|-
|<pre>EA      NOP
48      PHA
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2
68      PLA</pre>||Clobbers Z&N, C, V, and D; and writes in stack
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
90 00    BCC *+2
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, and C
|-
|<pre>EA      NOP
08      PHP
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A2 11    LDX #17
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A0 11    LDY #17
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #56
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|25 bytes
|-
|<pre>EA      NOP
68      PLA
48      PHA
68  ... PLA      &times; 22</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|28 bytes
|-
|<pre>EA      NOP
68      PLA      \ &times; 4
48      PHA      /
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 14
10 EE    BPL *-16</pre>||Clobbers A, and Z&N
|-
!colspan="2"|33 bytes
|-
|<pre>EA      NOP
E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
!colspan="2"|34 bytes
|-
|<pre>C5 C5    CMP $C5
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>04 04    NOP $04
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|35 bytes
|-
|<pre>4C xx xx JMP *+3
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|36 bytes
|-
|<pre>EA  ... NOP      &times; 2
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|49 bytes
|-
|<pre>18  ... CLC      &times; 47
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 47
50 00    BVC *+2</pre>||Clobbers V
|-
|<pre>85 xx    STA @zptemp
EA  ... NOP      &times; 47</pre>||Requires @zptemp
|-
|<pre>04 04    NOP $04
EA  ... NOP      &times; 47</pre>||Requires support for unofficial opcodes
|-
|}
 
 
=== 98 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #71
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>EA      NOP
A2 13    LDX #19
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA      NOP
A0 13    LDY #19
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>38      SEC
A9 13    LDA #19
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>08      PHP
A2 12    LDX #18
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 12    LDY #18
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>48      PHA
A9      LDA #64
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #64
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
EA  ... NOP      &times; 2
30 FA    BMI *-4
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>08      PHP
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
EA  ... NOP      &times; 2
30 FA    BMI *-4
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #57
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
10 FB    BPL *-3
68      PLA</pre>||Clobbers Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
90 00    BCC *+2
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|11 bytes
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
26 26    ROL $26
66 26    ROR $26
90 F9    BCC *-5
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts12
10 FA    BPL *-4
68      PLA
28      PLP</pre>||Requires @rts12; and writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
E6 xx    INC @zptemp
28      PLP
10 F9    BPL *-5
68      PLA
28      PLP</pre>||Requires @zptemp; and writes in stack
|-
|<pre>00 00    BRK 0
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
18      CLC
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Requires dummy interrupt handler; and writes in stack
|-
|<pre>48      PHA
08      PHP
48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
04 04    NOP $04
30 FA    BMI *-4
68      PLA
28      PLP</pre>||Clobbers S; requires support for unofficial opcodes; and writes in stack
|-
!colspan="2"|13 bytes
|-
|<pre>08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
24 24    BIT $24
28      PLP
18      CLC
10 F8    BPL *-6
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|25 bytes
|-
|<pre>EA      NOP
68  ... PLA      &times; 24</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|28 bytes
|-
|<pre>68      PLA      \ &times; 14
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|33 bytes
|-
|<pre>EA      NOP
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|49 bytes
|-
|<pre>EA  ... NOP      &times; 49</pre>||No requirements
|-
|}
 
 
=== 99 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #72
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>A2 0E    LDX #14
EA      NOP
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers X, and Z&N
|-
|<pre>A0 0E    LDY #14
EA      NOP
88      DEY
D0 FC    BNE *-2</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts15
10 FA    BPL *-4</pre>||Clobbers A, Z&N, and C; requires @rts12, and @rts15; and writes in stack
|-
|<pre>48      PHA
A9      LDA #65
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #65
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
18      CLC
10 FA    BPL *-4</pre>||Clobbers A, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>EA  ... NOP      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C; and writes in stack
|-
|<pre>08      PHP
A2 0D    LDX #13
EA      NOP
CA      DEX
D0 FC    BNE *-2
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 0D    LDY #13
EA      NOP
88      DEY
D0 FC    BNE *-2
28      PLP</pre>||Clobbers Y; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>38      SEC
A9 0C    LDA #12
24 24    BIT $24
E9 01    SBC #1
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>08      PHP
48      PHA
A9      LDA #58
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
90 00    BCC *+2
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, S, Z&N, and C
|-
|<pre>68      PLA
08      PHP
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2
28      PLP</pre>||Clobbers A, S, and Z&N; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
10 FB    BPL *-3
68      PLA</pre>||Clobbers S, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>48      PHA
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
10 FB    BPL *-3
28      PLP</pre>||Clobbers A, and S; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>EA  ... NOP      &times; 2
48      PHA
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2
68      PLA</pre>||Clobbers Z&N, C, V, and D; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
90 00    BCC *+2
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, and C
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$2A'
2A      ROL A ;first loop only
EA      NOP
F6 F6    INC $F6,X
B0 F9    BCS *-5
68      PLA</pre>||Clobbers Z&N, C, and V; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>48      PHA
A9 2A    LDA #$2A ;hides 'ROL A'
00 00... BRK 0    &times; 2
10 F9    BPL *-5
68      PLA</pre>||Clobbers Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>EA      NOP
08      PHP
48      PHA
18      CLC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|25 bytes
|-
|<pre>68      PLA
48      PHA
68  ... PLA      &times; 23</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|29 bytes
|-
|<pre>68      PLA      \ &times; 4
48      PHA      /
36 36    ROL $36,X
76 36    ROR $36,X
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 12
10 F0    BPL *-14</pre>||Clobbers A, and Z&N
|-
!colspan="2"|34 bytes
|-
|<pre>C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>E6 xx    INC @zptemp
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>EA      NOP
FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>EA      NOP
FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>EA      NOP
FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>EA      NOP
FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>EA      NOP
FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>EA      NOP
FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>04 04    NOP $04
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|35 bytes
|-
|<pre>4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|37 bytes
|-
|<pre>EA  ... NOP      &times; 3
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|50 bytes
|-
|<pre>18  ... CLC      &times; 48
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 48
50 00    BVC *+2</pre>||Clobbers V
|-
|}
 
 
=== 100 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #73
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>A2 0B    LDX #11
68      PLA
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers A, X, S, and Z&N
|-
|<pre>A0 0B    LDY #11
68      PLA
88      DEY
D0 FC    BNE *-2</pre>||Clobbers A, Y, S, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>EA  ... NOP      &times; 2
A2 13    LDX #19
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA  ... NOP      &times; 2
A0 13    LDY #19
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>48      PHA
A9      LDA #66
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #66
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>EA      NOP
38      SEC
A9 13    LDA #19
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>EA      NOP
08      PHP
A2 12    LDX #18
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A0 12    LDY #18
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>E6 xx    INC @zptemp
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C; requires @zptemp; and writes in stack
|-
|<pre>EA      NOP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>48      PHA
38      SEC
A9 12    LDA #18
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>08      PHP
38      SEC
A9 12    LDA #18
E9 01    SBC #1
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #59
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>E6 xx    INC @zptemp
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
90 00    BCC *+2
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, and C; and requires @zptemp
|-
|<pre>EA  ... NOP      &times; 2
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
10 FB    BPL *-3
68      PLA</pre>||Clobbers Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>EA      NOP
A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
90 00    BCC *+2
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, and C
|-
|<pre>F6 F6    INC $F6,X
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 2
18      CLC
D0 FA    BNE *-4
68      PLA</pre>||Clobbers Z&N, and C; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>48      PHA
08      PHP
48      PHA
18      CLC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2
68      PLA
28      PLP</pre>||Clobbers S; and writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>08      PHP
24 24    BIT $24
48      PHA
18      CLC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|25 bytes
|-
|<pre>68  ... PLA      &times; 25</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|29 bytes
|-
|<pre>EA      NOP
68      PLA      \ &times; 14
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|34 bytes
|-
|<pre>26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|50 bytes
|-
|<pre>EA  ... NOP      &times; 50</pre>||No requirements
|-
|}
 
 
=== 101 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A2 14    LDX #20
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A0 14    LDY #20
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>A9      LDA #74
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|7 bytes
|-
|<pre>48      PHA
A9      LDA #67
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #67
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
EA      NOP
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
|-
|<pre>A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
EA      NOP
48      PHA
30 FA    BMI *-4</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>38      SEC
A9 0E    LDA #14
EA      NOP
E9 01    SBC #1
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>F6 F6    INC $F6,X
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts15
10 FA    BPL *-4</pre>||Clobbers A, Z&N, and C; requires @rts12, and @rts15; and writes in stack
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
18      CLC
10 FA    BPL *-4</pre>||Clobbers A, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
|<pre>48      PHA
08      PHP
A2 12    LDX #18
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X, and S; and writes in stack
|-
|<pre>48      PHA
08      PHP
A0 12    LDY #18
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y, and S; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>EA  ... NOP      &times; 3
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C; and writes in stack
|-
|<pre>08      PHP
A6 A6    LDX $A6
A2 12    LDX #18
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A4 A4    LDY $A4
A0 12    LDY #18
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts14
10 FA    BPL *-4
68      PLA</pre>||Clobbers Z&N, and C; requires @rts12, and @rts14; and writes in stack
|-
|<pre>08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts14
10 FA    BPL *-4
28      PLP</pre>||Clobbers A; requires @rts12, and @rts14; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #60
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP      \ &times; 2
28      PLP      /
10 F9    BPL *-5
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>08      PHP
38      SEC
A9 0D    LDA #13
EA      NOP
E9 01    SBC #1
D0 FA    BNE *-4
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>F6 F6    INC $F6,X
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
90 00    BCC *+2
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, and C; and requires @zptemp, and writable $00-$FF
|-
|<pre>EA      NOP
68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
90 00    BCC *+2
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, S, Z&N, and C
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 2
18      CLC
D0 FA    BNE *-4
68      PLA
28      PLP</pre>||Writes in stack
|-
|<pre>EA  ... NOP      &times; 3
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
90 00    BCC *+2
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|26 bytes
|-
|<pre>EA      NOP
68      PLA
48      PHA
68  ... PLA      &times; 23</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|29 bytes
|-
|<pre>68      PLA      \ &times; 6
48      PHA      /
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 12
10 F0    BPL *-14</pre>||Clobbers A, and Z&N
|-
!colspan="2"|34 bytes
|-
|<pre>E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
!colspan="2"|35 bytes
|-
|<pre>EA      NOP
C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>EA      NOP
24 24    BIT $24
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>FE 00 02 INC $0200,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 7
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>EA      NOP
04 04    NOP $04
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|36 bytes
|-
|<pre>EA      NOP
4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|38 bytes
|-
|<pre>26 26    ROL $26  \ &times; 2
66 26    ROR $26  /
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|51 bytes
|-
|<pre>18  ... CLC      &times; 49
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 49
50 00    BVC *+2</pre>||Clobbers V
|-
|}
 
 
=== 102 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #75
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|7 bytes
|-
|<pre>A2 13    LDX #19
CA      DEX
D0 FD    BNE *-1
F6 xx    INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
|-
|<pre>F6 F6    INC $F6,X
A0 13    LDY #19
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N; and requires @zptemp, and writable $00-$FF
|-
|<pre>48      PHA
A9      LDA #68
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #68
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A2 13    LDX #19
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A0 13    LDY #19
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
|<pre>EA      NOP
A2 0B    LDX #11
68      PLA
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers A, X, S, and Z&N
|-
|<pre>EA      NOP
A0 0B    LDY #11
68      PLA
88      DEY
D0 FC    BNE *-2</pre>||Clobbers A, Y, S, and Z&N
|-
!colspan="2"|8 bytes
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>A6 A6    LDX $A6
A2 0E    LDX #14
EA      NOP
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers X, and Z&N
|-
|<pre>A4 A4    LDY $A4
A0 0E    LDY #14
EA      NOP
88      DEY
D0 FC    BNE *-2</pre>||Clobbers Y, and Z&N
|-
|<pre>38      SEC
A9 EB    LDA #$EB ;hides 'SBC #$1A'
1A      NOP ;first loop only
EA  ... NOP      &times; 2
B0 FA    BCS *-4</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
|-
|<pre>68      PLA
38      SEC
A9 13    LDA #19
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, C, and V
|-
!colspan="2"|9 bytes
|-
|<pre>EA  ... NOP      &times; 2
38      SEC
A9 13    LDA #19
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A2 12    LDX #18
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A0 12    LDY #18
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #61
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>08      PHP
48      PHA
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2
68      PLA
28      PLP</pre>||Writes in stack
|-
|<pre>68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
90 00    BCC *+2
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|26 bytes
|-
|<pre>EA      NOP
68  ... PLA      &times; 25</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|29 bytes
|-
|<pre>68      PLA      \ &times; 5
48      PHA      /
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 14
10 EE    BPL *-16</pre>||Clobbers A, and Z&N
|-
!colspan="2"|34 bytes
|-
|<pre>36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|51 bytes
|-
|<pre>EA  ... NOP      &times; 51</pre>||No requirements
|-
|}
 
 
=== 103 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #76
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>EA      NOP
A2 14    LDX #20
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA      NOP
A0 14    LDY #20
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>18      CLC
A9 69    LDA #$69 ;hides 'ADC #$08'
08      PHP ;first loop only
90 FC    BCC *-2</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>38      SEC
A9 14    LDA #20
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>08      PHP
A2 13    LDX #19
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 13    LDY #19
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>48      PHA
A9      LDA #69
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #69
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
48  ... PHA      &times; 2
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 3
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
48      PHA
A9      LDA #62
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>8C      TXA
48      PHA
A2 0D    LDX #13
EA      NOP
CA      DEX
D0 FC    BNE *-2
68      PLA
AA      TAX</pre>||Clobbers A, and Z&N; and writes in stack
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts14
10 FA    BPL *-4
68      PLA</pre>||Clobbers Z&N, and C; requires @rts12, and @rts14; and writes in stack
|-
|<pre>08      PHP
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts14
10 FA    BPL *-4
28      PLP</pre>||Clobbers A; requires @rts12, and @rts14; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
10 FB    BPL *-3
68      PLA
28      PLP</pre>||Requires dummy interrupt handler; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
38      SEC
A9 12    LDA #18
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
|-
|<pre>48      PHA
08      PHP
38      SEC
A9 12    LDA #18
E9 01    SBC #1
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A, and S; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP      \ &times; 2
28      PLP      /
10 F9    BPL *-5
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>08      PHP
A5 A5    LDA $A5
38      SEC
A9 12    LDA #18
E9 01    SBC #1
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9 69    LDA #$69 ;hides 'ADC #$18'
18      CLC ;first loop only
F6 F6    INC $F6,X
90 FA    BCC *-4
68      PLA
28      PLP</pre>||Requires @zptemp, and writable $00-$FF; and writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 2
18      CLC
D0 FA    BNE *-4
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|26 bytes
|-
|<pre>68      PLA
48      PHA
68  ... PLA      &times; 24</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|30 bytes
|-
|<pre>36 36    ROL $36,X
76 36    ROR $36,X
68      PLA      \ &times; 13
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|35 bytes
|-
|<pre>EA      NOP
E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
!colspan="2"|36 bytes
|-
|<pre>C5 C5    CMP $C5
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and V
|-
|<pre>04 04    NOP $04
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|37 bytes
|-
|<pre>4C xx xx JMP *+3
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|38 bytes
|-
|<pre>26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|52 bytes
|-
|<pre>18  ... CLC      &times; 50
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 50
50 00    BVC *+2</pre>||Clobbers V
|-
|}
 
 
=== 104 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #77
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>48      PHA
A2 14    LDX #20
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
|<pre>48      PHA
A0 14    LDY #20
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>A6 A6    LDX $A6
A2 14    LDX #20
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A4 A4    LDY $A4
A0 14    LDY #20
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>48      PHA
A9      LDA #70
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #70
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
48      PHA
00 00    BRK 0
10 FA    BPL *-4</pre>||Clobbers A, S, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts14
18      CLC
10 F9    BPL *-5</pre>||Clobbers A, Z&N, and C; requires @rts12, and @rts14; and writes in stack
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
00 00    BRK 0
10 F9    BPL *-5</pre>||Clobbers A, Z&N, and C; requires @zptemp, and dummy interrupt handler; and writes in stack
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
00 00    BRK 0
10 F9    BPL *-5</pre>||Clobbers A, Z&N, and C; requires dummy interrupt handler, and support for unofficial opcodes; and writes in stack
|-
|<pre>48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
EA      NOP
48      PHA
30 FA    BMI *-4</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>08      PHP
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
A2 0C    LDX #12
C5 C5    CMP $C5
CA      DEX
D0 FB    BNE *-3
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 0C    LDY #12
C5 C5    CMP $C5
88      DEY
D0 FB    BNE *-3
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>F6 F6    INC $F6,X
38      SEC
A9 13    LDA #19
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V; and requires @zptemp, and writable $00-$FF
|-
|<pre>08      PHP
48      PHA
A9      LDA #63
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>04 04    NOP $04
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
EA      NOP
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
|-
|<pre>EA      NOP
68      PLA
38      SEC
A9 13    LDA #19
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, C, and V
|-
!colspan="2"|10 bytes
|-
|<pre>A5 A5    LDA $A5
38      SEC
A9 0E    LDA #14
EA      NOP
E9 01    SBC #1
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, C, and V
|-
!colspan="2"|11 bytes
|-
|<pre>EA      NOP
08      PHP
48      PHA
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2
68      PLA
28      PLP</pre>||Writes in stack
|-
|<pre>EA      NOP
68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18      CLC
90 00    BCC *+2
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|26 bytes
|-
|<pre>68  ... PLA      &times; 26</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|30 bytes
|-
|<pre>EA      NOP
68      PLA      \ &times; 5
48      PHA      /
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 14
10 EE    BPL *-16</pre>||Clobbers A, and Z&N
|-
!colspan="2"|35 bytes
|-
|<pre>EA      NOP
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|52 bytes
|-
|<pre>EA  ... NOP      &times; 52</pre>||No requirements
|-
|}
 
 
=== 105 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #78
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>A2 0D    LDX #13
48      PHA
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
|<pre>A0 0D    LDY #13
48      PHA
88      DEY
D0 FC    BNE *-2</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
|<pre>68      PLA
A2 14    LDX #20
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers A, X, S, and Z&N
|-
|<pre>68      PLA
A0 14    LDY #20
88      DEY
D0 FD    BNE *-1</pre>||Clobbers A, Y, S, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>EA  ... NOP      &times; 2
A2 14    LDX #20
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA  ... NOP      &times; 2
A0 14    LDY #20
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>48      PHA
A9      LDA #71
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #71
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>EA      NOP
18      CLC
A9 69    LDA #$69 ;hides 'ADC #$08'
08      PHP ;first loop only
90 FC    BCC *-2</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>EA      NOP
38      SEC
A9 14    LDA #20
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>EA      NOP
08      PHP
A2 13    LDX #19
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A0 13    LDY #19
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
48  ... PHA      &times; 2
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>48      PHA
38      SEC
A9 13    LDA #19
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 3
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
38      SEC
A9 13    LDA #19
E9 01    SBC #1
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #64
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3
68      PLA</pre>||Clobbers S, Z&N, and C; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>C5 C5    CMP $C5
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
EA  ... NOP      &times; 2
30 FA    BMI *-4
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|27 bytes
|-
|<pre>EA      NOP
68      PLA
48      PHA
68  ... PLA      &times; 24</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|30 bytes
|-
|<pre>68      PLA      \ &times; 15
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|36 bytes
|-
|<pre>C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and V
|-
|<pre>E6 xx    INC @zptemp
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>EA      NOP
FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>EA      NOP
FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>EA      NOP
FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>EA      NOP
FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>EA      NOP
FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>EA      NOP
FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>04 04    NOP $04
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|37 bytes
|-
|<pre>4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|38 bytes
|-
|<pre>36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|53 bytes
|-
|<pre>18  ... CLC      &times; 51
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 51
50 00    BVC *+2</pre>||Clobbers V
|-
|}
 
 
=== 106 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A2 15    LDX #21
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A0 15    LDY #21
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>A9      LDA #79
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>A9 E9    LDA #$E9 ;hides 'SBC #$08'
08      PHP ;first loop only
EA      NOP
30 FB    BMI *-3</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>48      PHA
A9      LDA #72
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #72
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>08      PHP
A2 0E    LDX #14
EA      NOP
CA      DEX
D0 FC    BNE *-2
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 0E    LDY #14
EA      NOP
88      DEY
D0 FC    BNE *-2
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
48  ... PHA      &times; 2
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>A5 A5    LDA $A5
38      SEC
A9 14    LDA #20
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts15
10 FA    BPL *-4
68      PLA</pre>||Clobbers Z&N, and C; requires @rts12, and @rts15; and writes in stack
|-
|<pre>08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts15
10 FA    BPL *-4
28      PLP</pre>||Clobbers A; requires @rts12, and @rts15; and writes in stack
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts14
18      CLC
10 F9    BPL *-5</pre>||Clobbers A, Z&N, and C; requires @rts12, and @rts14; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #65
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
18      CLC
10 FA    BPL *-4
68      PLA</pre>||Clobbers Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
18      CLC
10 FA    BPL *-4
28      PLP</pre>||Clobbers A; requires dummy interrupt handler; and writes in stack
|-
|<pre>68      PLA
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A, S, and Z&N; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>EA  ... NOP      &times; 2
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 3
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, and C
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>48      PHA
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
10 FB    BPL *-3
68      PLA
28      PLP</pre>||Clobbers S; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
48      PHA
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
10 FC    BPL *-2
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|27 bytes
|-
|<pre>EA      NOP
68  ... PLA      &times; 26</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|31 bytes
|-
|<pre>68      PLA      \ &times; 5
48      PHA      /
36 36    ROL $36,X
76 36    ROR $36,X
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 12
10 F0    BPL *-14</pre>||Clobbers A, and Z&N
|-
!colspan="2"|36 bytes
|-
|<pre>26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|53 bytes
|-
|<pre>EA  ... NOP      &times; 53</pre>||No requirements
|-
|}
 
 
=== 107 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #80
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>A2 18    LDX #24 ;hides 'CLC'
CA  ... DEX      &times; 2
D0 FB    BNE *-3</pre>||Clobbers X, and Z&N
|-
|<pre>A0 18    LDY #24 ;hides 'CLC'
88  ... DEY      &times; 2
D0 FB    BNE *-3</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>48      PHA
A9      LDA #73
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #73
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>68      PLA
18      CLC
A9 69    LDA #$69 ;hides 'ADC #$08'
08      PHP ;first loop only
90 FC    BCC *-2</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>68      PLA
38      SEC
A9 14    LDA #20
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, C, and V
|-
|<pre>68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
48  ... PHA      &times; 2
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>38      SEC
A9 0D    LDA #13
24 24    BIT $24
E9 01    SBC #1
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>98      TYA
48      PHA
A0 13    LDY #19
88      DEY
D0 FD    BNE *-1
68      PLA
A8      TAY</pre>||Clobbers A, and Z&N; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A2 13    LDX #19
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A0 13    LDY #19
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #66
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 3
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, S, Z&N, and C
|-
!colspan="2"|10 bytes
|-
|<pre>EA      NOP
48      PHA
38      SEC
A9 13    LDA #19
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 3
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, and C
|-
|<pre>EA      NOP
08      PHP
38      SEC
A9 13    LDA #19
E9 01    SBC #1
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>E6 xx    INC @zptemp
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, and C; requires @zptemp; and writes in stack
|-
|<pre>EA      NOP
48  ... PHA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3
68      PLA</pre>||Clobbers S, Z&N, and C; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
48      PHA
38      SEC
A9 12    LDA #18
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|27 bytes
|-
|<pre>68      PLA
48      PHA
68  ... PLA      &times; 25</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|31 bytes
|-
|<pre>EA      NOP
68      PLA      \ &times; 15
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|36 bytes
|-
|<pre>E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires @zptemp
|-
!colspan="2"|37 bytes
|-
|<pre>EA      NOP
C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and C
|-
|<pre>EA      NOP
24 24    BIT $24
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and V
|-
|<pre>FE 00 02 INC $0200,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 3
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>EA      NOP
04 04    NOP $04
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|38 bytes
|-
|<pre>EA      NOP
4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|39 bytes
|-
|<pre>EA      NOP
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|54 bytes
|-
|<pre>18  ... CLC      &times; 52
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 52
50 00    BVC *+2</pre>||Clobbers V
|-
|}
 
 
=== 108 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #81
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>EA      NOP
A2 15    LDX #21
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA      NOP
A0 15    LDY #21
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>38      SEC
A9 15    LDA #21
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>08      PHP
A2 14    LDX #20
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 14    LDY #20
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>48      PHA
A9      LDA #74
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #74
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>00 00    BRK 0
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
48      PHA
A9      LDA #67
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>48      PHA
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
EA      NOP
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
|-
|<pre>08      PHP
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
EA      NOP
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
|-
|<pre>EA      NOP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
48  ... PHA      &times; 2
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>48      PHA
38      SEC
A9 0E    LDA #14
EA      NOP
E9 01    SBC #1
D0 FA    BNE *-4
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>08      PHP
38      SEC
A9 0E    LDA #14
EA      NOP
E9 01    SBC #1
D0 FA    BNE *-4
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>E6 xx    INC @zptemp
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 3
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, and C; and requires @zptemp
|-
|<pre>F6 F6    INC $F6,X
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, and C; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts15
10 FA    BPL *-4
68      PLA</pre>||Clobbers Z&N, and C; requires @rts12, and @rts15; and writes in stack
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
18      CLC
10 FA    BPL *-4
68      PLA</pre>||Clobbers Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>48  ... PHA      &times; 3
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3
68      PLA</pre>||Clobbers S, Z&N, and C; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>EA  ... NOP      &times; 3
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>EA      NOP
A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 3
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts14
10 FA    BPL *-4
68      PLA
28      PLP</pre>||Requires @rts12, and @rts14; and writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP      \ &times; 2
28      PLP      /
10 F9    BPL *-5
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|27 bytes
|-
|<pre>68  ... PLA      &times; 27</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|31 bytes
|-
|<pre>68      PLA      \ &times; 7
48      PHA      /
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 12
10 F0    BPL *-14</pre>||Clobbers A, and Z&N
|-
!colspan="2"|36 bytes
|-
|<pre>36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|54 bytes
|-
|<pre>EA  ... NOP      &times; 54</pre>||No requirements
|-
|}
 
 
=== 109 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #82
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>A0 88    LDY #136 ;hides 'DEY'
F6 F6    INC $F6,X
30 FB    BMI *-3</pre>||Clobbers Y, and Z&N; and requires @zptemp, and writable $00-$FF
|-
|<pre>48      PHA
A2 15    LDX #21
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
|<pre>48      PHA
A0 15    LDY #21
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
|<pre>A2 0C    LDX #12
68      PLA
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers A, X, S, and Z&N
|-
|<pre>A0 0C    LDY #12
68      PLA
88      DEY
D0 FC    BNE *-2</pre>||Clobbers A, Y, S, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>A6 A6    LDX $A6
A2 15    LDX #21
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A4 A4    LDY $A4
A0 15    LDY #21
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>48      PHA
A9      LDA #75
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #75
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
90 FB    BCC *-3</pre>||Clobbers A, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$08'
08      PHP ;first loop only
EA      NOP
30 FB    BMI *-3</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts15
18      CLC
10 F9    BPL *-5</pre>||Clobbers A, Z&N, and C; requires @rts12, and @rts15; and writes in stack
|-
|<pre>18      CLC
A9 F4    LDA #244 ;hides 'NOP zp,X'
EA      NOP
69 01    ADC #1
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
48      PHA
20 xx xx JSR @rts14
10 F9    BPL *-5</pre>||Clobbers A, S, Z&N, and C; requires @rts12, and @rts14; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
A2 13    LDX #19
CA      DEX
D0 FD    BNE *-1
F6 xx    INC @zptemp,X
28      PLP</pre>||Clobbers X; requires @zptemp; and writes in stack
|-
|<pre>F6 F6    INC $F6,X
38      SEC
A9 14    LDA #20
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V; and requires @zptemp, and writable $00-$FF
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
F6 F6    INC $F6,X
28      PLP
90 F9    BCC *-5</pre>||Clobbers A, Z&N, and C; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>08      PHP
F6 F6    INC $F6,X
A0 13    LDY #19
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>20 xx xx JSR @rts14
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, and C; requires @rts12, and @rts14; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #68
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>EA      NOP
68      PLA
38      SEC
A9 14    LDA #20
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, C, and V
|-
|<pre>48  ... PHA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
48  ... PHA      &times; 2
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
08      PHP
A2 13    LDX #19
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X, and S; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
08      PHP
A0 13    LDY #19
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y, and S; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
|<pre>EA      NOP
38      SEC
A9 0D    LDA #13
24 24    BIT $24
E9 01    SBC #1
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
E6 xx    INC @zptemp
F6 F6    INC $F6,X
90 F8    BCC *-6</pre>||Clobbers A, Z&N, and C; and requires @zptemp, and writable $00-$FF
|-
|<pre>EA      NOP
68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 3
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, S, Z&N, and C
|-
!colspan="2"|11 bytes
|-
|<pre>EA  ... NOP      &times; 3
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 3
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|28 bytes
|-
|<pre>EA      NOP
68      PLA
48      PHA
68  ... PLA      &times; 25</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|31 bytes
|-
|<pre>68      PLA      \ &times; 6
48      PHA      /
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 14
10 EE    BPL *-16</pre>||Clobbers A, and Z&N
|-
!colspan="2"|37 bytes
|-
|<pre>EA      NOP
E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
!colspan="2"|38 bytes
|-
|<pre>C5 C5    CMP $C5
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>04 04    NOP $04
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|39 bytes
|-
|<pre>4C xx xx JMP *+3
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|40 bytes
|-
|<pre>EA  ... NOP      &times; 2
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|55 bytes
|-
|<pre>18  ... CLC      &times; 53
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 53
50 00    BVC *+2</pre>||Clobbers V
|-
|}
 
 
=== 110 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #83
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>68      PLA
A2 15    LDX #21
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers A, X, S, and Z&N
|-
|<pre>68      PLA
A0 15    LDY #21
88      DEY
D0 FD    BNE *-1</pre>||Clobbers A, Y, S, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>EA  ... NOP      &times; 2
A2 15    LDX #21
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA  ... NOP      &times; 2
A0 15    LDY #21
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>48      PHA
A9      LDA #76
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #76
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>68      PLA
A9 E9    LDA #$E9 ;hides 'SBC #$08'
08      PHP ;first loop only
EA      NOP
30 FB    BMI *-3</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>EA      NOP
38      SEC
A9 15    LDA #21
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>EA      NOP
08      PHP
A2 14    LDX #20
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A0 14    LDY #20
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>48      PHA
38      SEC
A9 14    LDA #20
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>08      PHP
38      SEC
A9 14    LDA #20
E9 01    SBC #1
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #69
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 3
18      CLC
D0 F9    BNE *-5
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 3
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|12 bytes
|-
|<pre>48      PHA
8C      TXA
48      PHA
A2 0D    LDX #13
EA      NOP
CA      DEX
D0 FC    BNE *-2
68      PLA
AA      TAX
68      PLA</pre>||Clobbers Z&N; and writes in stack
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts14
10 FA    BPL *-4
68      PLA
28      PLP</pre>||Requires @rts12, and @rts14; and writes in stack
|-
|<pre>08      PHP
28      PLP
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
10 FB    BPL *-3
68      PLA
28      PLP</pre>||Requires dummy interrupt handler; and writes in stack
|-
|<pre>48      PHA
08      PHP
48      PHA
38      SEC
A9 12    LDA #18
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Clobbers S; and writes in stack
|-
!colspan="2"|13 bytes
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP      \ &times; 2
28      PLP      /
10 F9    BPL *-5
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|28 bytes
|-
|<pre>EA      NOP
68  ... PLA      &times; 27</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|32 bytes
|-
|<pre>36 36    ROL $36,X
76 36    ROR $36,X
68      PLA      \ &times; 14
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|37 bytes
|-
|<pre>EA      NOP
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|55 bytes
|-
|<pre>EA  ... NOP      &times; 55</pre>||No requirements
|-
|}
 
 
=== 111 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>A2 16    LDX #22
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A0 16    LDY #22
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C; and writes in stack
|-
|<pre>48      PHA
A9      LDA #77
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #77
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>48      PHA
08      PHP
A2 14    LDX #20
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X, and S; and writes in stack
|-
|<pre>48      PHA
08      PHP
A0 14    LDY #20
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y, and S; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
18  ... CLC      &times; 2
90 00    BCC *+2
18      CLC
D0 F8    BNE *-6</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
A6 A6    LDX $A6
A2 14    LDX #20
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A4 A4    LDY $A4
A0 14    LDY #20
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #70
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts14
18      CLC
10 F9    BPL *-5
68      PLA</pre>||Clobbers Z&N, and C; requires @rts12, and @rts14; and writes in stack
|-
|<pre>08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts14
18      CLC
10 F9    BPL *-5
28      PLP</pre>||Clobbers A; requires @rts12, and @rts14; and writes in stack
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
00 00    BRK 0
10 F9    BPL *-5
68      PLA</pre>||Clobbers Z&N, and C; requires @zptemp, and dummy interrupt handler; and writes in stack
|-
|<pre>08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
00 00    BRK 0
10 F9    BPL *-5
28      PLP</pre>||Clobbers A; requires @zptemp, and dummy interrupt handler; and writes in stack
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
00 00    BRK 0
10 F9    BPL *-5
68      PLA</pre>||Clobbers Z&N, and C; requires dummy interrupt handler, and support for unofficial opcodes; and writes in stack
|-
|<pre>08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
00 00    BRK 0
10 F9    BPL *-5
28      PLP</pre>||Clobbers A; requires dummy interrupt handler, and support for unofficial opcodes; and writes in stack
|-
|<pre>68      PLA
98      TYA
48      PHA
A0 13    LDY #19
88      DEY
D0 FD    BNE *-1
68      PLA
A8      TAY</pre>||Clobbers A, S, and Z&N; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
EA      NOP
D0 FB    BNE *-3
68      PLA</pre>||Clobbers S, Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
|-
|<pre>48      PHA
08      PHP
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
EA      NOP
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A, and S; requires support for unofficial opcodes; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|28 bytes
|-
|<pre>68      PLA
48      PHA
68  ... PLA      &times; 26</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|32 bytes
|-
|<pre>EA      NOP
68      PLA      \ &times; 6
48      PHA      /
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 14
10 EE    BPL *-16</pre>||Clobbers A, and Z&N
|-
!colspan="2"|38 bytes
|-
|<pre>C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>E6 xx    INC @zptemp
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>EA      NOP
FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>EA      NOP
FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>EA      NOP
FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>EA      NOP
FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>EA      NOP
FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>EA      NOP
FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>04 04    NOP $04
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|39 bytes
|-
|<pre>4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|41 bytes
|-
|<pre>EA  ... NOP      &times; 3
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|56 bytes
|-
|<pre>18  ... CLC      &times; 54
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 54
50 00    BVC *+2</pre>||Clobbers V
|-
|}
 
 
=== 112 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #85
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|7 bytes
|-
|<pre>A2 15    LDX #21
CA      DEX
D0 FD    BNE *-1
F6 xx    INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
|-
|<pre>F6 F6    INC $F6,X
A0 15    LDY #21
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N; and requires @zptemp, and writable $00-$FF
|-
|<pre>48      PHA
A9      LDA #78
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #78
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A2 15    LDX #21
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A0 15    LDY #21
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
|<pre>EA      NOP
68      PLA
A2 15    LDX #21
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers A, X, S, and Z&N
|-
|<pre>EA      NOP
68      PLA
A0 15    LDY #21
88      DEY
D0 FD    BNE *-1</pre>||Clobbers A, Y, S, and Z&N
|-
!colspan="2"|8 bytes
|-
|<pre>EA  ... NOP      &times; 3
A2 15    LDX #21
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA  ... NOP      &times; 3
A0 15    LDY #21
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>68      PLA
38      SEC
A9 15    LDA #21
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, C, and V
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
90 FB    BCC *-3</pre>||Clobbers A, S, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>EA  ... NOP      &times; 2
38      SEC
A9 15    LDA #21
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>8C      TXA
48      PHA
A2 14    LDX #20
CA      DEX
D0 FD    BNE *-1
68      PLA
AA      TAX</pre>||Clobbers A, and Z&N; and writes in stack
|-
|<pre>08      PHP
A2 0D    LDX #13
24 24    BIT $24
CA      DEX
D0 FB    BNE *-3
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 0D    LDY #13
C5 C5    CMP $C5
88      DEY
D0 FB    BNE *-3
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #71
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>EA      NOP
48      PHA
38      SEC
A9 14    LDA #20
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>EA      NOP
08      PHP
38      SEC
A9 14    LDA #20
E9 01    SBC #1
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
48      PHA
38      SEC
A9 13    LDA #19
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
|<pre>EA      NOP
68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 3
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|28 bytes
|-
|<pre>68  ... PLA      &times; 28</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|32 bytes
|-
|<pre>68      PLA      \ &times; 16
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|38 bytes
|-
|<pre>26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|56 bytes
|-
|<pre>EA  ... NOP      &times; 56</pre>||No requirements
|-
|}
 
 
=== 113 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #86
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>18      CLC
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>A2 10    LDX #16
EA      NOP
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers X, and Z&N
|-
|<pre>A0 10    LDY #16
EA      NOP
88      DEY
D0 FC    BNE *-2</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>08      PHP
A2 15    LDX #21
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 15    LDY #21
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>48      PHA
A9      LDA #79
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #79
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
48      PHA
A9      LDA #72
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
18  ... CLC      &times; 2
90 00    BCC *+2
18      CLC
D0 F8    BNE *-6</pre>||Clobbers A, Z&N, and C
|-
|<pre>48  ... PHA      &times; 2
38      SEC
A9 14    LDA #20
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
|-
|<pre>48      PHA
08      PHP
38      SEC
A9 14    LDA #20
E9 01    SBC #1
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A, and S; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>24 24    BIT $24
48      PHA
38      SEC
A9 14    LDA #20
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>08      PHP
A5 A5    LDA $A5
38      SEC
A9 14    LDA #20
E9 01    SBC #1
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts15
10 FA    BPL *-4
68      PLA
28      PLP</pre>||Requires @rts12, and @rts15; and writes in stack
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts14
18      CLC
10 F9    BPL *-5
68      PLA</pre>||Clobbers Z&N, and C; requires @rts12, and @rts14; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
18      CLC
10 FA    BPL *-4
68      PLA
28      PLP</pre>||Requires dummy interrupt handler; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 3
18      CLC
D0 F9    BNE *-5
68      PLA</pre>||Clobbers S, Z&N, and C; and writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|29 bytes
|-
|<pre>EA      NOP
68      PLA
48      PHA
68  ... PLA      &times; 26</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|33 bytes
|-
|<pre>68      PLA      \ &times; 6
48      PHA      /
36 36    ROL $36,X
76 36    ROR $36,X
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 12
10 F0    BPL *-14</pre>||Clobbers A, and Z&N
|-
!colspan="2"|38 bytes
|-
|<pre>E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
!colspan="2"|39 bytes
|-
|<pre>EA      NOP
C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>EA      NOP
24 24    BIT $24
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>FE 00 02 INC $0200,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 8
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>EA      NOP
04 04    NOP $04
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|40 bytes
|-
|<pre>EA      NOP
4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|42 bytes
|-
|<pre>26 26    ROL $26  \ &times; 2
66 26    ROR $26  /
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|57 bytes
|-
|<pre>18  ... CLC      &times; 55
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 55
50 00    BVC *+2</pre>||Clobbers V
|-
|}
 
 
=== 114 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #87
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
|-
|<pre>48      PHA
A2 16    LDX #22
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
|<pre>48      PHA
A0 16    LDY #22
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>A5 A5    LDA $A5
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>A6 A6    LDX $A6
A2 16    LDX #22
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A4 A4    LDY $A4
A0 16    LDY #22
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>48      PHA
A9      LDA #80
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #80
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>08      PHP
A2 18    LDX #24 ;hides 'CLC'
CA  ... DEX      &times; 2
D0 FB    BNE *-3
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 18    LDY #24 ;hides 'CLC'
88  ... DEY      &times; 2
D0 FB    BNE *-3
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #73
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>EA      NOP
8C      TXA
48      PHA
A2 14    LDX #20
CA      DEX
D0 FD    BNE *-1
68      PLA
AA      TAX</pre>||Clobbers A, and Z&N; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>48      PHA
98      TYA
48      PHA
A0 13    LDY #19
88      DEY
D0 FD    BNE *-1
68      PLA
A8      TAY
68      PLA</pre>||Clobbers Z&N; and writes in stack
|-
|<pre>A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
18  ... CLC      &times; 2
90 00    BCC *+2
18      CLC
D0 F8    BNE *-6</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
38      SEC
A9 0D    LDA #13
24 24    BIT $24
E9 01    SBC #1
D0 F9    BNE *-5
28      PLP</pre>||Clobbers A; and writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>EA      NOP
08      PHP
48      PHA
38      SEC
A9 13    LDA #19
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|29 bytes
|-
|<pre>EA      NOP
68  ... PLA      &times; 28</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|33 bytes
|-
|<pre>EA      NOP
68      PLA      \ &times; 16
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|38 bytes
|-
|<pre>36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|57 bytes
|-
|<pre>EA  ... NOP      &times; 57</pre>||No requirements
|-
|}
 
 
=== 115 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #88
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>68      PLA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2</pre>||Clobbers A, S, Z&N, C, and V
|-
|<pre>68      PLA
A2 16    LDX #22
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers A, X, S, and Z&N
|-
|<pre>68      PLA
A0 16    LDY #22
88      DEY
D0 FD    BNE *-1</pre>||Clobbers A, Y, S, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>EA  ... NOP      &times; 2
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>EA  ... NOP      &times; 2
A2 16    LDX #22
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA  ... NOP      &times; 2
A0 16    LDY #22
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>48      PHA
A9      LDA #81
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #81
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>EA      NOP
08      PHP
A2 15    LDX #21
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A0 15    LDY #21
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts14
90 FA    BCC *-4</pre>||Clobbers A, Z&N, and C; requires @rts12, and @rts14; and writes in stack
|-
|<pre>68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>48      PHA
38      SEC
A9 15    LDA #21
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>08      PHP
38      SEC
A9 15    LDA #21
E9 01    SBC #1
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #74
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
36 36    ROL $36,X
76 36    ROR $36,X
90 F8    BCC *-6</pre>||Clobbers A, Z&N, and C
|-
|<pre>00 00    BRK 0
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
48      PHA
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
EA      NOP
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Requires support for unofficial opcodes; and writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>08      PHP
48      PHA
38      SEC
A9 0E    LDA #14
EA      NOP
E9 01    SBC #1
D0 FA    BNE *-4
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|29 bytes
|-
|<pre>68      PLA
48      PHA
68  ... PLA      &times; 27</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|33 bytes
|-
|<pre>68      PLA      \ &times; 8
48      PHA      /
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 12
10 F0    BPL *-14</pre>||Clobbers A, and Z&N
|-
!colspan="2"|39 bytes
|-
|<pre>EA      NOP
E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
!colspan="2"|40 bytes
|-
|<pre>C5 C5    CMP $C5
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and V
|-
|<pre>04 04    NOP $04
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|41 bytes
|-
|<pre>4C xx xx JMP *+3
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|42 bytes
|-
|<pre>26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|58 bytes
|-
|<pre>18  ... CLC      &times; 56
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 56
50 00    BVC *+2</pre>||Clobbers V
|-
|}
 
 
=== 116 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
B0 FC    BCS *-2</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>A2 17    LDX #23
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A0 17    LDY #23
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>48      PHA
A9      LDA #82
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #82
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>08      PHP
A0 88    LDY #136 ;hides 'DEY'
F6 F6    INC $F6,X
30 FB    BMI *-3
28      PLP</pre>||Clobbers Y; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>48      PHA
08      PHP
A2 15    LDX #21
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X, and S; and writes in stack
|-
|<pre>48      PHA
08      PHP
A0 15    LDY #21
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y, and S; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
A6 A6    LDX $A6
A2 15    LDX #21
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A4 A4    LDY $A4
A0 15    LDY #21
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>E6 xx    INC @zptemp
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C; requires @zptemp; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #75
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
90 FB    BCC *-3
68      PLA</pre>||Clobbers Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>08      PHP
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
90 FB    BCC *-3
28      PLP</pre>||Clobbers A; requires dummy interrupt handler; and writes in stack
|-
|<pre>EA      NOP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>EA      NOP
A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
18      CLC
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, and C; and writes in stack
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts15
18      CLC
10 F9    BPL *-5
68      PLA</pre>||Clobbers Z&N, and C; requires @rts12, and @rts15; and writes in stack
|-
|<pre>08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts15
18      CLC
10 F9    BPL *-5
28      PLP</pre>||Clobbers A; requires @rts12, and @rts15; and writes in stack
|-
|<pre>48      PHA
18      CLC
A9 F4    LDA #244 ;hides 'NOP zp,X'
EA      NOP
69 01    ADC #1
D0 F9    BNE *-5
68      PLA</pre>||Clobbers Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
|-
|<pre>08      PHP
18      CLC
A9 F4    LDA #244 ;hides 'NOP zp,X'
EA      NOP
69 01    ADC #1
D0 F9    BNE *-5
28      PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
|-
|<pre>68      PLA
8C      TXA
48      PHA
A2 14    LDX #20
CA      DEX
D0 FD    BNE *-1
68      PLA
AA      TAX</pre>||Clobbers A, S, and Z&N; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>98      TYA
48      PHA
A0 0D    LDY #13
A5 A5    LDA $A5
88      DEY
D0 FB    BNE *-3
68      PLA
A8      TAY</pre>||Clobbers A, and Z&N; and writes in stack
|-
|<pre>E6 xx    INC @zptemp
A9 0A    LDA #$0A ;hides 'ASL A'
18  ... CLC      &times; 2
90 00    BCC *+2
18      CLC
D0 F8    BNE *-6</pre>||Clobbers A, Z&N, and C; and requires @zptemp
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
F6 F6    INC $F6,X
28      PLP
90 F9    BCC *-5
68      PLA</pre>||Clobbers Z&N, and C; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>08      PHP
F6 F6    INC $F6,X
38      SEC
A9 14    LDA #20
E9 01    SBC #1
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>20 xx xx JSR @rts14
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, and C; requires @rts12, and @rts14; and writes in stack
|-
|<pre>20 xx xx JSR @rts14
08      PHP
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; requires @rts12, and @rts14; and writes in stack
|-
|<pre>48  ... PHA      &times; 3
38      SEC
A9 14    LDA #20
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
08      PHP
38      SEC
A9 14    LDA #20
E9 01    SBC #1
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A, and S; and writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>08      PHP
28      PLP
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
|<pre>EA      NOP
A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
18  ... CLC      &times; 2
90 00    BCC *+2
18      CLC
D0 F8    BNE *-6</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|29 bytes
|-
|<pre>68  ... PLA      &times; 29</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|33 bytes
|-
|<pre>68      PLA      \ &times; 7
48      PHA      /
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 14
10 EE    BPL *-16</pre>||Clobbers A, and Z&N
|-
!colspan="2"|39 bytes
|-
|<pre>EA      NOP
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|58 bytes
|-
|<pre>EA  ... NOP      &times; 58</pre>||No requirements
|-
|}
 
 
=== 117 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #90
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|7 bytes
|-
|<pre>A2 0D    LDX #13 ;hides 'ORA abs'
A5 A5    LDA $A5
CA      DEX
D0 FA    BNE *-4</pre>||Clobbers A, X, and Z&N
|-
|<pre>A0 0D    LDY #13 ;hides 'ORA abs'
A5 A5    LDA $A5
88      DEY
D0 FA    BNE *-4</pre>||Clobbers A, Y, and Z&N
|-
|<pre>A2 16    LDX #22
CA      DEX
D0 FD    BNE *-1
F6 xx    INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
|-
|<pre>F6 F6    INC $F6,X
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, C, and V; and requires @zptemp, and writable $00-$FF
|-
|<pre>F6 F6    INC $F6,X
A0 16    LDY #22
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N; and requires @zptemp, and writable $00-$FF
|-
|<pre>48      PHA
A9      LDA #83
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #83
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>A2 0C    LDX #12 ;hides 'NOP abs'
44 00    NOP $0
CA      DEX
10 FA    BPL *-4</pre>||Clobbers X, and Z&N; and requires support for unofficial opcodes
|-
|<pre>A0 0C    LDY #12 ;hides 'NOP abs'
44 00    NOP $0
88      DEY
10 FA    BPL *-4</pre>||Clobbers Y, and Z&N; and requires support for unofficial opcodes
|-
|<pre>EA      NOP
68      PLA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2</pre>||Clobbers A, S, Z&N, C, and V
|-
|<pre>48  ... PHA      &times; 2
A2 16    LDX #22
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A0 16    LDY #22
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>EA  ... NOP      &times; 3
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>EA  ... NOP      &times; 3
A2 16    LDX #22
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA  ... NOP      &times; 3
A0 16    LDY #22
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|9 bytes
|-
|<pre>8C      TXA
48      PHA
A2 15    LDX #21
CA      DEX
D0 FD    BNE *-1
68      PLA
AA      TAX</pre>||Clobbers A, and Z&N; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A2 15    LDX #21
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A0 15    LDY #21
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #76
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>EA      NOP
48      PHA
38      SEC
A9 15    LDA #21
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>EA      NOP
08      PHP
38      SEC
A9 15    LDA #21
E9 01    SBC #1
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
48      PHA
38      SEC
A9 14    LDA #20
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
|<pre>18  ... CLC      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
36 36    ROL $36,X
76 36    ROR $36,X
90 F8    BCC *-6</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|30 bytes
|-
|<pre>EA      NOP
68      PLA
48      PHA
68  ... PLA      &times; 27</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|34 bytes
|-
|<pre>36 36    ROL $36,X
76 36    ROR $36,X
68      PLA      \ &times; 15
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|40 bytes
|-
|<pre>C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and V
|-
|<pre>E6 xx    INC @zptemp
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>EA      NOP
FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>EA      NOP
FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>EA      NOP
FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>EA      NOP
FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>EA      NOP
FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>EA      NOP
FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>04 04    NOP $04
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|41 bytes
|-
|<pre>4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|42 bytes
|-
|<pre>36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|59 bytes
|-
|<pre>18  ... CLC      &times; 57
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 57
50 00    BVC *+2</pre>||Clobbers V
|-
|}
 
 
=== 118 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #91
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>18      CLC
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
B0 FC    BCS *-2</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>EA      NOP
A2 17    LDX #23
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA      NOP
A0 17    LDY #23
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>08      PHP
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
A2 16    LDX #22
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 16    LDY #22
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
18      CLC
D0 FA    BNE *-4
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #77
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18  ... CLC      &times; 2
90 00    BCC *+2
18      CLC
D0 F8    BNE *-6</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|12 bytes
|-
|<pre>08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts14
18      CLC
10 F9    BPL *-5
68      PLA
28      PLP</pre>||Requires @rts12, and @rts14; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
85 xx    STA @zptemp
00 00    BRK 0
10 F9    BPL *-5
68      PLA
28      PLP</pre>||Requires @zptemp, and dummy interrupt handler; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
04 04    NOP $04
00 00    BRK 0
10 F9    BPL *-5
68      PLA
28      PLP</pre>||Requires dummy interrupt handler, and support for unofficial opcodes; and writes in stack
|-
|<pre>48      PHA
08      PHP
48      PHA
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$5A'
5A      NOP ;first loop only
EA      NOP
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Clobbers S; requires support for unofficial opcodes; and writes in stack
|-
!colspan="2"|13 bytes
|-
|<pre>EA      NOP
08      PHP
28      PLP
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|30 bytes
|-
|<pre>EA      NOP
68  ... PLA      &times; 29</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|34 bytes
|-
|<pre>EA      NOP
68      PLA      \ &times; 7
48      PHA      /
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 14
10 EE    BPL *-16</pre>||Clobbers A, and Z&N
|-
!colspan="2"|40 bytes
|-
|<pre>26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|59 bytes
|-
|<pre>EA  ... NOP      &times; 59</pre>||No requirements
|-
|}
 
 
=== 119 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #92
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>A0 88    LDY #136 ;hides 'DEY'
08      PHP
28      PLP
30 FB    BMI *-3</pre>||Clobbers Y, and Z&N; and writes in stack
|-
|<pre>A0 88    LDY #136 ;hides 'DEY'
68      PLA
48      PHA
30 FB    BMI *-3</pre>||Clobbers A, Y, and Z&N
|-
|<pre>48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
B0 FC    BCS *-2</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
|-
|<pre>48      PHA
A2 17    LDX #23
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
!colspan="2"|7 bytes
|-
|<pre>A5 A5    LDA $A5
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
B0 FC    BCS *-2</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>A6 A6    LDX $A6
A2 17    LDX #23
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A4 A4    LDY $A4
A0 17    LDY #23
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>48      PHA
A9      LDA #85
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #85
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
48      PHA
08      PHP
28      PLP
D0 FA    BNE *-4</pre>||Clobbers A, S, Z&N, and C; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
24 24    BIT $24
28      PLP
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, and C; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 4
18      CLC
D0 F8    BNE *-6</pre>||Clobbers A, Z&N, and C
|-
|<pre>08      PHP
A2 15    LDX #21
CA      DEX
D0 FD    BNE *-1
F6 xx    INC @zptemp,X
28      PLP</pre>||Clobbers X; requires @zptemp; and writes in stack
|-
|<pre>08      PHP
F6 F6    INC $F6,X
A0 15    LDY #21
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #78
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
08      PHP
A2 15    LDX #21
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X, and S; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
08      PHP
A0 15    LDY #21
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y, and S; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>EA      NOP
8C      TXA
48      PHA
A2 15    LDX #21
CA      DEX
D0 FD    BNE *-1
68      PLA
AA      TAX</pre>||Clobbers A, and Z&N; and writes in stack
|-
|<pre>EA  ... NOP      &times; 3
08      PHP
A2 15    LDX #21
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA  ... NOP      &times; 3
08      PHP
A0 15    LDY #21
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
90 FB    BCC *-3
68      PLA</pre>||Clobbers S, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>48      PHA
08      PHP
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
90 FB    BCC *-3
28      PLP</pre>||Clobbers A, and S; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>48      PHA
8C      TXA
48      PHA
A2 14    LDX #20
CA      DEX
D0 FD    BNE *-1
68      PLA
AA      TAX
68      PLA</pre>||Clobbers Z&N; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
38      SEC
A9 15    LDA #21
E9 01    SBC #1
D0 FB    BNE *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>EA      NOP
08      PHP
48      PHA
38      SEC
A9 14    LDA #20
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|30 bytes
|-
|<pre>68      PLA
48      PHA
68  ... PLA      &times; 28</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|34 bytes
|-
|<pre>68      PLA      \ &times; 17
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|40 bytes
|-
|<pre>E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires @zptemp
|-
!colspan="2"|41 bytes
|-
|<pre>EA      NOP
C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and C
|-
|<pre>EA      NOP
24 24    BIT $24
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and V
|-
|<pre>FE 00 02 INC $0200,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 4
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>EA      NOP
04 04    NOP $04
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|42 bytes
|-
|<pre>EA      NOP
4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|43 bytes
|-
|<pre>EA      NOP
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|60 bytes
|-
|<pre>18  ... CLC      &times; 58
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 58
50 00    BVC *+2</pre>||Clobbers V
|-
|}
 
 
=== 120 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A9      LDA #93
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|6 bytes
|-
|<pre>A2 11    LDX #17
EA      NOP
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers X, and Z&N
|-
|<pre>A0 11    LDY #17
EA      NOP
88      DEY
D0 FC    BNE *-2</pre>||Clobbers Y, and Z&N
|-
|<pre>68      PLA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
B0 FC    BCS *-2</pre>||Clobbers A, S, Z&N, C, and V
|-
!colspan="2"|7 bytes
|-
|<pre>EA  ... NOP      &times; 2
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
B0 FC    BCS *-2</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>48      PHA
A9      LDA #86
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #86
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>48      PHA
18      CLC
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>08      PHP
18      CLC
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
A2 10    LDX #16
EA      NOP
CA      DEX
D0 FC    BNE *-2
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 10    LDY #16
EA      NOP
88      DEY
D0 FC    BNE *-2
28      PLP</pre>||Clobbers Y; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
48      PHA
A9      LDA #79
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
18      CLC
D0 FA    BNE *-4
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>EA      NOP
68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18  ... CLC      &times; 2
90 00    BCC *+2
18      CLC
D0 F8    BNE *-6</pre>||Clobbers A, Z&N, and C
|-
|<pre>48      PHA
08      PHP
48      PHA
38      SEC
A9 14    LDA #20
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Clobbers S; and writes in stack
|-
!colspan="2"|13 bytes
|-
|<pre>08      PHP
24 24    BIT $24
48      PHA
38      SEC
A9 14    LDA #20
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|30 bytes
|-
|<pre>68  ... PLA      &times; 30</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|35 bytes
|-
|<pre>68      PLA      \ &times; 7
48      PHA      /
36 36    ROL $36,X
76 36    ROR $36,X
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 12
10 F0    BPL *-14</pre>||Clobbers A, and Z&N
|-
!colspan="2"|40 bytes
|-
|<pre>36 36    ROL $36,X \ &times; 10
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|60 bytes
|-
|<pre>EA  ... NOP      &times; 60</pre>||No requirements
|-
|}
 
 
=== 121 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A2 18    LDX #24
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A0 18    LDY #24
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>A9      LDA #94
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|7 bytes
|-
|<pre>A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
08      PHP
28      PLP
30 FA    BMI *-4</pre>||Clobbers A, Z&N, C, and V; and writes in stack
|-
|<pre>E6 xx    INC @zptemp
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
B0 FC    BCS *-2</pre>||Clobbers A, Z&N, C, and V; and requires @zptemp
|-
|<pre>48      PHA
A9      LDA #87
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #87
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>EA      NOP
A5 A5    LDA $A5
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
B0 FC    BCS *-2</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts15
90 FA    BCC *-4</pre>||Clobbers A, Z&N, and C; requires @rts12, and @rts15; and writes in stack
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
00 00    BRK 0
90 FA    BCC *-4</pre>||Clobbers A, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2
68      PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
|-
|<pre>48      PHA
08      PHP
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2
28      PLP</pre>||Clobbers A, and S; and writes in stack
|-
|<pre>48      PHA
08      PHP
A2 16    LDX #22
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X, and S; and writes in stack
|-
|<pre>48      PHA
08      PHP
A0 16    LDY #22
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y, and S; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>24 24    BIT $24
48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>08      PHP
A5 A5    LDA $A5
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
A6 A6    LDX $A6
A2 16    LDX #22
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A4 A4    LDY $A4
A0 16    LDY #22
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #80
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 4
18      CLC
D0 F8    BNE *-6</pre>||Clobbers A, Z&N, and C
|-
|<pre>48  ... PHA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
18      CLC
D0 FA    BNE *-4
68      PLA</pre>||Clobbers S, Z&N, and C; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>C5 C5    CMP $C5
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
18      CLC
D0 FA    BNE *-4
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>EA      NOP
48      PHA
8C      TXA
48      PHA
A2 14    LDX #20
CA      DEX
D0 FD    BNE *-1
68      PLA
AA      TAX
68      PLA</pre>||Clobbers Z&N; and writes in stack
|-
!colspan="2"|13 bytes
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
48      PHA
38      SEC
A9 14    LDA #20
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|31 bytes
|-
|<pre>EA      NOP
68      PLA
48      PHA
68  ... PLA      &times; 28</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|35 bytes
|-
|<pre>EA      NOP
68      PLA      \ &times; 17
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|41 bytes
|-
|<pre>EA      NOP
E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
!colspan="2"|42 bytes
|-
|<pre>C5 C5    CMP $C5
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>04 04    NOP $04
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|43 bytes
|-
|<pre>4C xx xx JMP *+3
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|44 bytes
|-
|<pre>EA  ... NOP      &times; 2
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|61 bytes
|-
|<pre>18  ... CLC      &times; 59
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 59
50 00    BVC *+2</pre>||Clobbers V
|-
|}
 
 
=== 122 cycles ===
{| class="wikitable testtable"
!colspan="2"|6 bytes
|-
|<pre>EA      NOP
A9      LDA #93
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|7 bytes
|-
|<pre>38      SEC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
EA      NOP
10 FB    BPL *-3</pre>||Clobbers A, Z&N, C, V, and D
|-
|<pre>EA      NOP
A2 11    LDX #17
EA      NOP
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers X, and Z&N
|-
|<pre>EA      NOP
A0 11    LDY #17
EA      NOP
88      DEY
D0 FC    BNE *-2</pre>||Clobbers Y, and Z&N
|-
|<pre>F6 F6    INC $F6,X
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
B0 FC    BCS *-2</pre>||Clobbers A, Z&N, C, and V; and requires @zptemp, and writable $00-$FF
|-
|<pre>48      PHA
A9      LDA #88
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #88
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>EA      NOP
68      PLA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
B0 FC    BCS *-2</pre>||Clobbers A, S, Z&N, C, and V
|-
!colspan="2"|8 bytes
|-
|<pre>38      SEC
A9 11    LDA #17
EA      NOP
E9 01    SBC #1
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>68      PLA
08      PHP
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2
28      PLP</pre>||Clobbers A, S, and Z&N; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>EA  ... NOP      &times; 2
48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>08      PHP
18      CLC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
EA      NOP
10 FB    BPL *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A2 16    LDX #22
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A0 16    LDY #22
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #81
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts14
90 FA    BCC *-4
68      PLA</pre>||Clobbers Z&N, and C; requires @rts12, and @rts14; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
48      PHA
38      SEC
A9 15    LDA #21
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
|<pre>A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 4
18      CLC
D0 F8    BNE *-6</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|31 bytes
|-
|<pre>EA      NOP
68  ... PLA      &times; 30</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|35 bytes
|-
|<pre>68      PLA      \ &times; 9
48      PHA      /
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 12
10 F0    BPL *-14</pre>||Clobbers A, and Z&N
|-
!colspan="2"|41 bytes
|-
|<pre>EA      NOP
36 36    ROL $36,X \ &times; 10
76 36    ROR $36,X /</pre>||Clobbers Z&N
|-
!colspan="2"|61 bytes
|-
|<pre>EA  ... NOP      &times; 61</pre>||No requirements
|-
|}
 
 
=== 123 cycles ===
{| class="wikitable testtable"
!colspan="2"|6 bytes
|-
|<pre>EA      NOP
A2 18    LDX #24
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA      NOP
A0 18    LDY #24
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>EA      NOP
A9      LDA #94
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|7 bytes
|-
|<pre>48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
B0 FC    BCS *-2
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>38      SEC
A9 18    LDA #24
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>08      PHP
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
B0 FC    BCS *-2
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
A2 17    LDX #23
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 17    LDY #23
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
48      PHA
A9      LDA #82
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 4
18      CLC
D0 F8    BNE *-6</pre>||Clobbers A, S, Z&N, and C
|-
!colspan="2"|11 bytes
|-
|<pre>EA  ... NOP      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 4
18      CLC
D0 F8    BNE *-6</pre>||Clobbers A, Z&N, and C
|-
|<pre>E6 xx    INC @zptemp
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
18      CLC
D0 FA    BNE *-4
68      PLA</pre>||Clobbers Z&N, and C; requires @zptemp; and writes in stack
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
90 FB    BCC *-3
68      PLA
28      PLP</pre>||Requires dummy interrupt handler; and writes in stack
|-
|<pre>EA      NOP
48  ... PHA      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
18      CLC
D0 FA    BNE *-4
68      PLA</pre>||Clobbers S, Z&N, and C; and writes in stack
|-
!colspan="2"|12 bytes
|-
|<pre>EA      NOP
C5 C5    CMP $C5
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
18      CLC
D0 FA    BNE *-4
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts15
18      CLC
10 F9    BPL *-5
68      PLA
28      PLP</pre>||Requires @rts12, and @rts15; and writes in stack
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 F4    LDA #244 ;hides 'NOP zp,X'
EA      NOP
69 01    ADC #1
D0 F9    BNE *-5
68      PLA
28      PLP</pre>||Requires support for unofficial opcodes; and writes in stack
|-
!colspan="2"|13 bytes
|-
|<pre>48      PHA
98      TYA
48      PHA
A0 0D    LDY #13
A5 A5    LDA $A5
88      DEY
D0 FB    BNE *-3
68      PLA
A8      TAY
68      PLA</pre>||Clobbers Z&N; and writes in stack
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
F6 F6    INC $F6,X
28      PLP
90 F9    BCC *-5
68      PLA
28      PLP</pre>||Requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>20 xx xx JSR @rts14
08      PHP
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Requires @rts12, and @rts14; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
08      PHP
48      PHA
38      SEC
A9 14    LDA #20
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Clobbers S; and writes in stack
|-
!colspan="2"|14 bytes
|-
|<pre>EA  ... NOP      &times; 3
08      PHP
48      PHA
38      SEC
A9 14    LDA #20
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|31 bytes
|-
|<pre>68      PLA
48      PHA
68  ... PLA      &times; 29</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|35 bytes
|-
|<pre>68      PLA      \ &times; 8
48      PHA      /
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 14
10 EE    BPL *-16</pre>||Clobbers A, and Z&N
|-
!colspan="2"|42 bytes
|-
|<pre>C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 10
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
36 36    ROL $36,X \ &times; 10
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>E6 xx    INC @zptemp
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>EA      NOP
FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>EA      NOP
FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>EA      NOP
FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>EA      NOP
FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>EA      NOP
FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>EA      NOP
FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>04 04    NOP $04
36 36    ROL $36,X \ &times; 10
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|43 bytes
|-
|<pre>4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 10
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|45 bytes
|-
|<pre>EA  ... NOP      &times; 3
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|62 bytes
|-
|<pre>18  ... CLC      &times; 60
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 60
50 00    BVC *+2</pre>||Clobbers V
|-
|}
 
 
=== 124 cycles ===
{| class="wikitable testtable"
!colspan="2"|4 bytes
|-
|<pre>A2 E8    LDX #232 ;hides 'INX'
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
!colspan="2"|6 bytes
|-
|<pre>48      PHA
A0 18    LDY #24
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, S, and Z&N; and writes in stack
|-
|<pre>68      PLA
A9      LDA #93
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, S, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|7 bytes
|-
|<pre>A4 A4    LDY $A4
A0 18    LDY #24
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>48      PHA
A9      LDA #90
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>A5 A5    LDA $A5
A9      LDA #94
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
|<pre>08      PHP
A9      LDA #90
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>00 00    BRK 0
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, C, and V; requires dummy interrupt handler; and writes in stack
|-
|<pre>68  ... PLA      &times; 2
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
B0 FC    BCS *-2</pre>||Clobbers A, S, Z&N, C, and V
|-
!colspan="2"|8 bytes
|-
|<pre>EA      NOP
38      SEC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
EA      NOP
10 FB    BPL *-3</pre>||Clobbers A, Z&N, C, V, and D
|-
|<pre>EA      NOP
F6 F6    INC $F6,X
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
B0 FC    BCS *-2</pre>||Clobbers A, Z&N, C, and V; and requires @zptemp, and writable $00-$FF
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
28      PLP
00 00    BRK 0
10 F9    BPL *-5</pre>||Clobbers A, Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>EA      NOP
38      SEC
A9 11    LDA #17
EA      NOP
E9 01    SBC #1
D0 FA    BNE *-4</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>08      PHP
A2 0D    LDX #13 ;hides 'ORA abs'
A5 A5    LDA $A5
CA      DEX
D0 FA    BNE *-4
28      PLP</pre>||Clobbers A, and X; and writes in stack
|-
|<pre>08      PHP
A0 0D    LDY #13 ;hides 'ORA abs'
A5 A5    LDA $A5
88      DEY
D0 FA    BNE *-4
28      PLP</pre>||Clobbers A, and Y; and writes in stack
|-
|<pre>08      PHP
A2 16    LDX #22
CA      DEX
D0 FD    BNE *-1
F6 xx    INC @zptemp,X
28      PLP</pre>||Clobbers X; requires @zptemp; and writes in stack
|-
|<pre>F6 F6    INC $F6,X
48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2
68      PLA</pre>||Clobbers Z&N, C, and V; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>08      PHP
F6 F6    INC $F6,X
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2
28      PLP</pre>||Clobbers A; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>08      PHP
F6 F6    INC $F6,X
A0 16    LDY #22
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; requires @zptemp, and writable $00-$FF; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #83
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A2 0C    LDX #12 ;hides 'NOP abs'
44 00    NOP $0
CA      DEX
10 FA    BPL *-4
28      PLP</pre>||Clobbers X; requires support for unofficial opcodes; and writes in stack
|-
|<pre>08      PHP
A0 0C    LDY #12 ;hides 'NOP abs'
44 00    NOP $0
88      DEY
10 FA    BPL *-4
28      PLP</pre>||Clobbers Y; requires support for unofficial opcodes; and writes in stack
|-
|<pre>48  ... PHA      &times; 3
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2
68      PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
08      PHP
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2
28      PLP</pre>||Clobbers A, and S; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
08      PHP
A2 16    LDX #22
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X, and S; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
08      PHP
A0 16    LDY #22
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y, and S; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>EA  ... NOP      &times; 3
48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>EA      NOP
08      PHP
18      CLC
A9 69    LDA #$69 ;hides 'ADC #$F8'
F8      SED ;first loop only
EA      NOP
10 FB    BPL *-3
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>EA  ... NOP      &times; 3
08      PHP
A2 16    LDX #22
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA  ... NOP      &times; 3
08      PHP
A0 16    LDY #22
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>48      PHA
8C      TXA
48      PHA
A2 15    LDX #21
CA      DEX
D0 FD    BNE *-1
68      PLA
AA      TAX
68      PLA</pre>||Clobbers Z&N; and writes in stack
|-
|<pre>E6 xx    INC @zptemp
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 4
18      CLC
D0 F8    BNE *-6</pre>||Clobbers A, Z&N, and C; and requires @zptemp
|-
!colspan="2"|12 bytes
|-
|<pre>EA      NOP
08      PHP
48      PHA
38      SEC
A9 15    LDA #21
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
|<pre>EA      NOP
A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 4
18      CLC
D0 F8    BNE *-6</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|31 bytes
|-
|<pre>68  ... PLA      &times; 31</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|36 bytes
|-
|<pre>36 36    ROL $36,X
76 36    ROR $36,X
68      PLA      \ &times; 16
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|42 bytes
|-
|<pre>26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|62 bytes
|-
|<pre>EA  ... NOP      &times; 62</pre>||No requirements
|-
|}
 
 
=== 125 cycles ===
{| class="wikitable testtable"
!colspan="2"|6 bytes
|-
|<pre>A2 1A    LDX #26 ;hides 'NOP'
CA  ... DEX      &times; 2
10 FB    BPL *-3</pre>||Clobbers X, and Z&N; and requires support for unofficial opcodes
|-
|<pre>A0 1A    LDY #26 ;hides 'NOP'
88  ... DEY      &times; 2
10 FB    BPL *-3</pre>||Clobbers Y, and Z&N; and requires support for unofficial opcodes
|-
|<pre>68      PLA
A2 18    LDX #24
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers A, X, S, and Z&N
|-
|<pre>68      PLA
A0 18    LDY #24
88      DEY
D0 FD    BNE *-1</pre>||Clobbers A, Y, S, and Z&N
|-
|<pre>68      PLA
A9      LDA #94
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, S, Z&N, C, and V; and requires delay_a_25_clocks
|-
!colspan="2"|7 bytes
|-
|<pre>EA  ... NOP      &times; 2
A2 18    LDX #24
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>EA  ... NOP      &times; 2
A0 18    LDY #24
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
|<pre>48      PHA
A9      LDA #91
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
A9      LDA #94
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
|<pre>08      PHP
A9      LDA #91
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>48      PHA
18      CLC
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
B0 FC    BCS *-2
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>EA      NOP
38      SEC
A9 18    LDA #24
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>08      PHP
18      CLC
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
B0 FC    BCS *-2
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A2 17    LDX #23
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>EA      NOP
08      PHP
A0 17    LDY #23
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>08      PHP
48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>F6 F6    INC $F6,X
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 4
18      CLC
D0 F8    BNE *-6</pre>||Clobbers A, Z&N, and C; and requires @zptemp, and writable $00-$FF
|-
|<pre>EA      NOP
68      PLA
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 4
18      CLC
D0 F8    BNE *-6</pre>||Clobbers A, S, Z&N, and C
|-
!colspan="2"|12 bytes
|-
|<pre>EA  ... NOP      &times; 3
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 4
18      CLC
D0 F8    BNE *-6</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|32 bytes
|-
|<pre>EA      NOP
68      PLA
48      PHA
68  ... PLA      &times; 29</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|36 bytes
|-
|<pre>EA      NOP
68      PLA      \ &times; 8
48      PHA      /
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 14
10 EE    BPL *-16</pre>||Clobbers A, and Z&N
|-
!colspan="2"|42 bytes
|-
|<pre>E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 10
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
!colspan="2"|43 bytes
|-
|<pre>EA      NOP
C5 C5    CMP $C5
36 36    ROL $36,X \ &times; 10
76 36    ROR $36,X /</pre>||Clobbers Z&N, and C
|-
|<pre>EA      NOP
24 24    BIT $24
36 36    ROL $36,X \ &times; 10
76 36    ROR $36,X /</pre>||Clobbers Z&N, and V
|-
|<pre>FE 00 02 INC $0200,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 9
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
|<pre>EA      NOP
04 04    NOP $04
36 36    ROL $36,X \ &times; 10
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|44 bytes
|-
|<pre>EA      NOP
4C xx xx JMP *+3
36 36    ROL $36,X \ &times; 10
76 36    ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|46 bytes
|-
|<pre>26 26    ROL $26  \ &times; 2
66 26    ROR $26  /
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|63 bytes
|-
|<pre>18  ... CLC      &times; 61
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 61
50 00    BVC *+2</pre>||Clobbers V
|-
|}
 
 
=== 126 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>A2 19    LDX #25
CA      DEX
D0 FD    BNE *-1</pre>||Clobbers X, and Z&N
|-
|<pre>A0 19    LDY #25
88      DEY
D0 FD    BNE *-1</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>48      PHA
A9      LDA #92
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>68      PLA
48      PHA
A9      LDA #92
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
|<pre>08      PHP
A9      LDA #92
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>08      PHP
A0 88    LDY #136 ;hides 'DEY'
08      PHP
28      PLP
30 FB    BMI *-3
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>20 xx xx JSR @rts15
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, C, and V; requires @rts12, and @rts15; and writes in stack
|-
|<pre>EA      NOP
00 00    BRK 0
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2</pre>||Clobbers A, Z&N, C, and V; requires dummy interrupt handler; and writes in stack
|-
|<pre>48  ... PHA      &times; 2
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
B0 FC    BCS *-2
68      PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
|-
|<pre>EA      NOP
68  ... PLA      &times; 2
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
B0 FC    BCS *-2</pre>||Clobbers A, S, Z&N, C, and V
|-
|<pre>48      PHA
08      PHP
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
B0 FC    BCS *-2
28      PLP</pre>||Clobbers A, and S; and writes in stack
|-
|<pre>48      PHA
08      PHP
A2 17    LDX #23
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X, and S; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>24 24    BIT $24
48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
B0 FC    BCS *-2
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>A5 A5    LDA $A5
38      SEC
A9 18    LDA #24
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>08      PHP
A5 A5    LDA $A5
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
B0 FC    BCS *-2
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
A6 A6    LDX $A6
A2 17    LDX #23
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #85
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
08      PHP
24 24    BIT $24
28      PLP
D0 F9    BNE *-5
68      PLA</pre>||Clobbers Z&N, and C; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>68      PLA
48      PHA
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 4
18      CLC
D0 F8    BNE *-6</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|12 bytes
|-
|<pre>EA      NOP
48      PHA
8C      TXA
48      PHA
A2 15    LDX #21
CA      DEX
D0 FD    BNE *-1
68      PLA
AA      TAX
68      PLA</pre>||Clobbers Z&N; and writes in stack
|-
|<pre>48      PHA
08      PHP
48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
00 00    BRK 0
90 FB    BCC *-3
68      PLA
28      PLP</pre>||Clobbers S; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|13 bytes
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
48      PHA
38      SEC
A9 15    LDA #21
E9 01    SBC #1
D0 FB    BNE *-3
68      PLA
28      PLP</pre>||Writes in stack
|-
!colspan="2"|32 bytes
|-
|<pre>EA      NOP
68  ... PLA      &times; 31</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|36 bytes
|-
|<pre>68      PLA      \ &times; 18
48      PHA      /</pre>||Clobbers A, and Z&N
|-
!colspan="2"|42 bytes
|-
|<pre>36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|63 bytes
|-
|<pre>EA  ... NOP      &times; 63</pre>||No requirements
|-
|}
 
 
=== 127 cycles ===
{| class="wikitable testtable"
!colspan="2"|5 bytes
|-
|<pre>48      PHA
A2 E8    LDX #232 ;hides 'INX'
D0 FD    BNE *-1</pre>||Clobbers X, S, and Z&N; and writes in stack
|-
!colspan="2"|6 bytes
|-
|<pre>A2 12    LDX #18
EA      NOP
CA      DEX
D0 FC    BNE *-2</pre>||Clobbers X, and Z&N
|-
|<pre>A0 12    LDY #18
EA      NOP
88      DEY
D0 FC    BNE *-2</pre>||Clobbers Y, and Z&N
|-
!colspan="2"|7 bytes
|-
|<pre>48      PHA
A9      LDA #93
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>68      PLA
48      PHA
A9      LDA #93
20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
|-
|<pre>08      PHP
A9      LDA #93
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
|<pre>A9 E9    LDA #$E9 ;hides 'SBC #$2A'
2A      ROL A ;first loop only
00 00    BRK 0
B0 FA    BCS *-4</pre>||Clobbers A, Z&N, C, and V; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
08      PHP
28      PLP
18      CLC
D0 F9    BNE *-5</pre>||Clobbers A, Z&N, and C; and writes in stack
|-
|<pre>08      PHP
A2 11    LDX #17
EA      NOP
CA      DEX
D0 FC    BNE *-2
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 11    LDY #17
EA      NOP
88      DEY
D0 FC    BNE *-2
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>68      PLA
38      SEC
A9 18    LDA #24
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, S, Z&N, C, and V
|-
|<pre>68      PLA
08      PHP
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
B0 FC    BCS *-2
28      PLP</pre>||Clobbers A, S, and Z&N; and writes in stack
|-
!colspan="2"|9 bytes
|-
|<pre>EA  ... NOP      &times; 2
48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
B0 FC    BCS *-2
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>EA  ... NOP      &times; 2
38      SEC
A9 18    LDA #24
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>EA  ... NOP      &times; 2
08      PHP
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
B0 FC    BCS *-2
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>08      PHP
48      PHA
A9      LDA #86
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>08      PHP
48      PHA
18      CLC
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2
68      PLA
28      PLP</pre>||Writes in stack
|-
|<pre>A9 0A    LDA #$0A ;hides 'ASL A'
18  ... CLC      &times; 3
90 00    BCC *+2
18      CLC
D0 F7    BNE *-7</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|32 bytes
|-
|<pre>68      PLA
48      PHA
68  ... PLA      &times; 30</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|37 bytes
|-
|<pre>68      PLA      \ &times; 8
48      PHA      /
36 36    ROL $36,X
76 36    ROR $36,X
A9 09    LDA #$09 ;hides 'ORA #$EA'
EA      NOP ;first loop only
EA  ... NOP      &times; 12
10 F0    BPL *-14</pre>||Clobbers A, and Z&N
|-
!colspan="2"|43 bytes
|-
|<pre>EA      NOP
E6 xx    INC @zptemp
36 36    ROL $36,X \ &times; 10
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
|-
|<pre>FE 00 02 INC $0200,X
36 36    ROL $36,X \ &times; 10
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $200-$2FF
|-
|<pre>FE 00 03 INC $0300,X
36 36    ROL $36,X \ &times; 10
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $300-$3FF
|-
|<pre>FE 00 04 INC $0400,X
36 36    ROL $36,X \ &times; 10
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $400-$4FF
|-
|<pre>FE 00 05 INC $0500,X
36 36    ROL $36,X \ &times; 10
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $500-$5FF
|-
|<pre>FE 00 06 INC $0600,X
36 36    ROL $36,X \ &times; 10
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $600-$6FF
|-
|<pre>FE 00 07 INC $0700,X
36 36    ROL $36,X \ &times; 10
76 36    ROR $36,X /</pre>||Clobbers Z&N; and requires writable $700-$7FF
|-
!colspan="2"|44 bytes
|-
|<pre>C5 C5    CMP $C5
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and C
|-
|<pre>24 24    BIT $24
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N, and V
|-
|<pre>04 04    NOP $04
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and requires support for unofficial opcodes
|-
!colspan="2"|45 bytes
|-
|<pre>4C xx xx JMP *+3
26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 5
76 36    ROR $36,X /
36 36... ROL $36,X&times; 9</pre>||Clobbers Z&N; and not relocatable code
|-
!colspan="2"|46 bytes
|-
|<pre>26 26    ROL $26
66 26    ROR $26
36 36    ROL $36,X \ &times; 6
76 36    ROR $36,X /
26 26... ROL $26  &times; 9</pre>||Clobbers Z&N
|-
!colspan="2"|64 bytes
|-
|<pre>18  ... CLC      &times; 62
90 00    BCC *+2</pre>||Clobbers C
|-
|<pre>B8  ... CLV      &times; 62
50 00    BVC *+2</pre>||Clobbers V
|-
|}
 
 
=== 128 cycles ===
{| class="wikitable testtable"
!colspan="2"|7 bytes
|-
|<pre>38      SEC
A9 19    LDA #25
E9 01    SBC #1
D0 FB    BNE *-3</pre>||Clobbers A, Z&N, C, and V
|-
|<pre>08      PHP
A2 18    LDX #24
CA      DEX
D0 FD    BNE *-1
28      PLP</pre>||Clobbers X; and writes in stack
|-
|<pre>08      PHP
A0 18    LDY #24
88      DEY
D0 FD    BNE *-1
28      PLP</pre>||Clobbers Y; and writes in stack
|-
|<pre>A2 0D    LDX #13 ;hides 'ORA abs'
E6 xx    INC @zptemp
CA      DEX
10 FA    BPL *-4</pre>||Clobbers A, X, and Z&N; and requires @zptemp
|-
|<pre>A0 0D    LDY #13 ;hides 'ORA abs'
E6 xx    INC @zptemp
88      DEY
10 FA    BPL *-4</pre>||Clobbers A, Y, and Z&N; and requires @zptemp
|-
|<pre>48      PHA
A9      LDA #94
20 xx xx JSR delay_a_25_clocks
68      PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
|-
|<pre>08      PHP
A9      LDA #94
20 xx xx JSR delay_a_25_clocks
28      PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|8 bytes
|-
|<pre>A2 14    LDX #20 ;hides 'NOP zp,X'
04 EA    NOP $EA ;hides 'NOP'
CA  ... DEX      &times; 2
D0 F9    BNE *-5</pre>||Clobbers X, and Z&N; and requires support for unofficial opcodes
|-
|<pre>A0 14    LDY #20 ;hides 'NOP zp,X'
04 EA    NOP $EA ;hides 'NOP'
88  ... DEY      &times; 2
D0 F9    BNE *-5</pre>||Clobbers Y, and Z&N; and requires support for unofficial opcodes
|-
|<pre>A2 09    LDX #9 ;hides 'ORA #imm'
A5 68    LDA $68 ;hides 'PLA'
EA      NOP
CA      DEX
10 F9    BPL *-5</pre>||Clobbers A, X, S, and Z&N
|-
|<pre>A0 09    LDY #9 ;hides 'ORA #imm'
A5 68    LDA $68 ;hides 'PLA'
EA      NOP
88      DEY
10 F9    BPL *-5</pre>||Clobbers A, Y, S, and Z&N
|-
!colspan="2"|9 bytes
|-
|<pre>48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
08      PHP
28      PLP
30 FA    BMI *-4
68      PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
|-
|<pre>08      PHP
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
08      PHP
28      PLP
30 FA    BMI *-4
28      PLP</pre>||Clobbers A; and writes in stack
|-
|<pre>A2 0B    LDX #11
F6 F6    INC $F6,X
CA      DEX
D0 FB    BNE *-3
F6 xx    INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp, and writable $00-$FF
|-
|<pre>08      PHP
48      PHA
A9      LDA #87
20 xx xx JSR delay_a_25_clocks
68      PLA
28      PLP</pre>||Requires delay_a_25_clocks; and writes in stack
|-
!colspan="2"|10 bytes
|-
|<pre>A2 05    LDX #5 ;hides 'ORA zp'
CA      DEX ;first loop only
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
CA      DEX
D0 F7    BNE *-7</pre>||Clobbers A, X, Z&N, and C
|-
|<pre>A0 05    LDY #5 ;hides 'ORA zp'
88      DEY ;first loop only
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
88      DEY
D0 F7    BNE *-7</pre>||Clobbers A, Y, Z&N, and C
|-
|<pre>A2 0B    LDX #11
EA  ... NOP      &times; 3
CA      DEX
D0 FA    BNE *-4
F6 xx    INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
|-
|<pre>A2 09    LDX #9 ;hides 'ORA #imm'
FE B5 02 INC $02B5,X ;hides 'LDA $02,X'
A5 A5    LDA $A5
CA      DEX
D0 F7    BNE *-7</pre>||Clobbers A, X, and Z&N; and requires writable $200-$2FF, and writable $300-$3FF
|-
|<pre>A0 09    LDY #9 ;hides 'ORA #imm'
FE B5 02 INC $02B5,X ;hides 'LDA $02,X'
A5 A5    LDA $A5
88      DEY
D0 F7    BNE *-7</pre>||Clobbers A, Y, and Z&N; and requires writable $200-$2FF, and writable $300-$3FF
|-
|<pre>A2 09    LDX #9 ;hides 'ORA #imm'
FE B5 03 INC $03B5,X ;hides 'LDA $03,X'
A5 A5    LDA $A5
CA      DEX
D0 F7    BNE *-7</pre>||Clobbers A, X, and Z&N; and requires writable $300-$3FF, and writable $400-$4FF
|-
|<pre>A0 09    LDY #9 ;hides 'ORA #imm'
FE B5 03 INC $03B5,X ;hides 'LDA $03,X'
A5 A5    LDA $A5
88      DEY
D0 F7    BNE *-7</pre>||Clobbers A, Y, and Z&N; and requires writable $300-$3FF, and writable $400-$4FF
|-
|<pre>A2 09    LDX #9 ;hides 'ORA #imm'
FE B5 04 INC $04B5,X ;hides 'LDA $04,X'
A5 A5    LDA $A5
CA      DEX
D0 F7    BNE *-7</pre>||Clobbers A, X, and Z&N; and requires writable $400-$4FF, and writable $500-$5FF
|-
|<pre>A0 09    LDY #9 ;hides 'ORA #imm'
FE B5 04 INC $04B5,X ;hides 'LDA $04,X'
A5 A5    LDA $A5
88      DEY
D0 F7    BNE *-7</pre>||Clobbers A, Y, and Z&N; and requires writable $400-$4FF, and writable $500-$5FF
|-
|<pre>A2 09    LDX #9 ;hides 'ORA #imm'
FE B5 05 INC $05B5,X ;hides 'LDA $05,X'
A5 A5    LDA $A5
CA      DEX
D0 F7    BNE *-7</pre>||Clobbers A, X, and Z&N; and requires writable $500-$5FF, and writable $600-$6FF
|-
|<pre>A0 09    LDY #9 ;hides 'ORA #imm'
FE B5 05 INC $05B5,X ;hides 'LDA $05,X'
A5 A5    LDA $A5
88      DEY
D0 F7    BNE *-7</pre>||Clobbers A, Y, and Z&N; and requires writable $500-$5FF, and writable $600-$6FF
|-
|<pre>A2 09    LDX #9 ;hides 'ORA #imm'
FE B5 07 INC $07B5,X ;hides 'LDA $07,X'
A5 A5    LDA $A5
CA      DEX
D0 F7    BNE *-7</pre>||Clobbers A, X, and Z&N; and requires writable $00-$FF, and writable $700-$7FF
|-
|<pre>A0 09    LDY #9 ;hides 'ORA #imm'
FE B5 07 INC $07B5,X ;hides 'LDA $07,X'
A5 A5    LDA $A5
88      DEY
D0 F7    BNE *-7</pre>||Clobbers A, Y, and Z&N; and requires writable $00-$FF, and writable $700-$7FF
|-
|<pre>A2 09    LDX #9 ;hides 'ORA #imm'
FE B5 06 INC $06B5,X ;hides 'LDA $06,X'
A5 A5    LDA $A5
CA      DEX
D0 F7    BNE *-7</pre>||Clobbers A, X, and Z&N; and requires writable $600-$6FF, and writable $700-$7FF
|-
|<pre>A0 09    LDY #9 ;hides 'ORA #imm'
FE B5 06 INC $06B5,X ;hides 'LDA $06,X'
A5 A5    LDA $A5
88      DEY
D0 F7    BNE *-7</pre>||Clobbers A, Y, and Z&N; and requires writable $600-$6FF, and writable $700-$7FF
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
20 xx xx JSR @rts15
90 FA    BCC *-4
68      PLA</pre>||Clobbers Z&N, and C; requires @rts12, and @rts15; and writes in stack
|-
|<pre>48      PHA
18      CLC
A9 0A    LDA #$0A ;hides 'ASL A'
EA      NOP
00 00    BRK 0
90 FA    BCC *-4
68      PLA</pre>||Clobbers Z&N, and C; requires dummy interrupt handler; and writes in stack
|-
!colspan="2"|11 bytes
|-
|<pre>08      PHP
24 24    BIT $24
48      PHA
A9 E9    LDA #$E9 ;hides 'SBC #$0A'
0A      ASL A ;first loop only
D0 FC    BNE *-2
68      PLA
28      PLP</pre>||Writes in stack
|-
|<pre>BA      TSX
A0 09    LDY #9 ;hides 'ORA #imm'
A5 68    LDA $68 ;hides 'PLA'
A5 A5    LDA $A5
88      DEY
D0 F8    BNE *-6
9A      TXS</pre>||Clobbers A, X, Y, and Z&N; and unsafe for interrupts
|-
!colspan="2"|12 bytes
|-
|<pre>A2 05    LDX #5 ;hides 'ORA zp'
AD EA EA LDA $EAEA ;hides two 'NOP's
68      PLA      \ &times; 2
48      PHA      /
CA      DEX
D0 F5    BNE *-9</pre>||Clobbers A, X, and Z&N
|-
|<pre>A0 05    LDY #5 ;hides 'ORA zp'
AD EA EA LDA $EAEA ;hides two 'NOP's
68      PLA      \ &times; 2
48      PHA      /
88      DEY
D0 F5    BNE *-9</pre>||Clobbers A, Y, and Z&N
|-
|<pre>A2 01    LDX #1
EA      NOP
A0 11    LDY #17
EA      NOP
88      DEY
D0 FC    BNE *-2
CA      DEX
D0 F6    BNE *-8</pre>||Clobbers X, Y, and Z&N
|-
!colspan="2"|16 bytes
|-
|<pre>18  ... CLC      &times; 2
A9 0A    LDA #$0A ;hides 'ASL A'
EA  ... NOP      &times; 9
18      CLC
10 F3    BPL *-11</pre>||Clobbers A, Z&N, and C
|-
!colspan="2"|32 bytes
|-
|<pre>68  ... PLA      &times; 32</pre>||Clobbers A, S, and Z&N
|-
!colspan="2"|64 bytes
|-
|<pre>EA  ... NOP      &times; 64</pre>||No requirements
|-
|}
 


== See also ==
== See also ==


* [[Cycle counting]]
* [[Delay code]] for functions that produce runtime-determined amount of delay
* [[Delay code]] for functions that produce runtime-determined amount of delay
* Bisqwit's 6502 delay_n macro set for ca65: http://bisqwit.iki.fi/src/6502-inline_delay.7z
* Bisqwit’s “vending machine” for producing a ca65-compatible delay_n macro for arbitrary number of cycles, with more fine-grained configurable constraints: http://bisqwit.iki.fi/utils/nesdelay.php The samples on this page are excerpts from files generated by this online tool.

Latest revision as of 18:24, 12 November 2020

Shortest possible CPU code that creates N cycles of delay, depending on constraints.

Code

All code samples are written for CA65.

Assumptions:

  • No page wrap occurs during any branch instruction. If a page wrap occurs, it adds +1 cycle for each loop, completely thwarting the accurate delay.
  • No interrupt / NMI occurs during the delay code.

It is permissible for DMA to steal cycles during the loops. If you are expecting that to happen, you have to manually adjust the delay cycle count (and it is in fact possible to do so) in order to get the correct delay.

Explanations on the requirements

  • @rts12 means you know a memory address that contains byte $60 (RTS).

cycle instruction that fits your constraints (such as LDA $00), followed by RTS.

Instructions, addressing modes, byte counts, cycle counts and notes

Addressing mode Instruction type Bytes Cycle count Example instruction Notes
Implied Inter-register 1 2 TAX NOP has no side effects. Flag-manipulations like CLC, and SECCLV are used when their effects are desired.
Implied Stack push 1 3 PHA PHP is only paired with PLP.
Implied Stack pop 1 4 PLA
Implied Return 1 6 RTS Used indirectly when paired with JSR. Similarly for RTI.
Immediate 2 2 CMP #$C5 Includes instructions like LDA, LDX and LDY. Other ALU instructions are used in more complex situations.
Relative Branch 2 2—4 BCC *+2 Branch takes 3 cycles when taken, 2 otherwise. A page crossing adds +1 cycle when branch is taken, but because of difficulties setting that up, we don't use it.
Zeropage Read, write 2 3 LDA $A5
Zeropage RMW 2 5 INC @zptemp Writing to zeropage is only permitted when @zptemp is available. Technically we could save @zptemp into register and restore at end, but it is bytewise inferior to other techniques.
Zeropage indexed Read, write 2 4 LDA $EA,X Inferior to 2 × NOP, but useful for hiding additional code to be executed in a loop.
Zeropage indexed RMW 2 6 INC @zptemp,X Only doable when X is known to be 0, or when entire zeropage can be clobbered.
Indexed indirect Read, write 2 6 STA (@ptrtemp,X) Only doable when X is known to be 0.
Indexed indirect RMW 2 8 SLO (@ptrtemp,X) The most cost-effective instruction. Only doable when X is known to be 0, lest we write to a random address. All instructions in this category are unofficial.
Indirect indexed Read 2 5—6 LDA (@ptrtemp),Y Never used by this code.
Indirect indexed Write 2 6 STA (@ptrtemp),Y Only doable when Y is known to be 0.
Indirect indexed RMW 2 8 SLO (@ptrtemp),Y All instructions in this category are unofficial.
Absolute Jump 3 3 JMP *+3
Absolute Read, write 3 4 LDA $2808 Inferior to 2 × NOP, but can be used carefully to hide additional code to be executed in a loop.
Absolute RMW 3 6 INC $4018 Inferior to 3 × NOP.
Absolute indexed Read 3 4—5 LDA $0200,X Inferior to shorter alternatives.
Absolute indexed Write 3 5 STA $0200,X Inferior to shorter alternatives.
Absolute indexed RMW 3 7 INC $4018,X Only doable when writing into the given address is harmless considering the possible values of X.
Absolute indirect Jump 3 5 JMP (@ptrtemp) Inferior to shorter alternatives.

{{#css:

 .testtable td{padding:2px} .testtable td pre{padding:2px;margin:2px}

}}


2 cycles

1 bytes
EA       NOP
No requirements
  • All instructions cost at least 2 cycles. There is no way to do 1 cycle of delay (though −1 cycles may sometimes appear in branch cost calculations).


3 cycles

2 bytes
C5 C5    CMP $C5
Clobbers Z&N, and C
24 24    BIT $24
Clobbers Z&N, and V
A5 A5    LDA $A5
Clobbers A, and Z&N
A6 A6    LDX $A6
Clobbers X, and Z&N
A4 A4    LDY $A4
Clobbers Y, and Z&N
3 bytes
4C xx xx JMP *+3
No requirements
  • Not relocatable means that the target address is hardcoded into the code. In ROM hacking, it sometimes makes sense to move code blobs around, and a hardcoded address makes it difficult to relocate the code. This restriction does not apply to branches, which use relative addressing. It is also assumed to not apply to JSR instructions, as chances are the JSR target is outside the code being relocated.


4 cycles

2 bytes
EA   ... NOP      × 2
No requirements
  • zp-indexed modes such as LDA $00,X also do 4 cycles, but having side effects, these two-byte instructions are inferior to a simple 2 × NOP.
  • There is also an unofficial opcode NOP $00,X (34 00), but there is no reason to use this instruction when the official equivalent has the same performance.


5 cycles

3 bytes
18       CLC
90 00    BCC *+2
Clobbers C
B8       CLV
50 00    BVC *+2
Clobbers V
EA       NOP
A5 A5    LDA $A5
Clobbers A, and Z&N
EA       NOP
A6 A6    LDX $A6
Clobbers X, and Z&N
EA       NOP
A4 A4    LDY $A4
Clobbers Y, and Z&N
4 bytes
EA       NOP
4C xx xx JMP *+3
No requirements
  • abs-indexed modes such as LDA $1234,X cause 4 or 5 cycles of delay, depending whether a page wrap occurred. Because you need extra setup code to make sure that a wrap does occur, you do not see this mode in these samples, outside situations where circumstances permit.


6 cycles

3 bytes
EA   ... NOP      × 3
No requirements
  • zp-indexed RMW instructions such as INC @zptemp,X do 6 cycles. Unless we know the value of X, it might write into any address between $00-$FF. This option is only useful if the entire range of $00-$FF is free for clobbering with random data, or if X has a known value.
  • ix instructions like LDA ($00,X) do 6 cycles, but the value of X decides where a pointer is read from, and said pointer can point anywhere. We only do that when the value of X is known.
  • iy instructions like LDA ($00),Y also do 5-6 cycles, but in addition to the note above, we cannot predict whether a wrap occurs or not. So we don't use this mode.
  • Absolute RMW instructions like INC $4018 do 6 cycles, but weighing 3 bytes with side-effects it would be inferior to 3 × NOP.


7 cycles

2 bytes
08       PHP
28       PLP
No requirements
  • PHP-PLP is very efficient for 7 cycles of delay, but it does modify stack contents. S register remains unchanged though.
  • PLA-PHA does not overwrite any bytes in stack. It just writes back the same byte. But it does clobber A and Z+N. It is not interrupt-unsafe either: If an interrupt happens, the stack byte does get temporarily clobbered, but the value is still in A when the interrupt exits, and gets written back in stack.
  • abs-indexed RMW instructions such as INC abs,X do 7 cycles. We only do this when either we know the value of X (for instance, INC $4018,X is safe when X is 0—7, or when the entire 256-byte page can be safely overwritten with random data.


8 cycles

4 bytes
EA   ... NOP      × 4
No requirements
  • Unofficial ix and iy RMW instructions such as SLO ($00,X) or SLO ($00),Y would do 8 cycles for 2 bytes of code. We only do that if we know X or Y to be zero, and we have a known pointer to safely rewritable data.


9 cycles

3 bytes
EA       NOP
08       PHP
28       PLP
No requirements
  • Jumping into the middle of another instruction and thereby reusing code is a very efficient way of reducing code size. Note that all code samples using branches on this page require that no page wrap occurs.


10 cycles

4 bytes
08       PHP
C5 C5    CMP $C5
28       PLP
No requirements
  • The ROL-ROR sequence preserves the original value of the memory address. Carry is also preserved.


11 cycles

4 bytes
EA   ... NOP      × 2
08       PHP
28       PLP
No requirements


12 cycles

3 bytes
20 xx xx JSR @rts12
Requires @rts12
4 bytes
36 36    ROL $36,X
76 36    ROR $36,X
Clobbers Z&N
5 bytes
08       PHP
18       CLC
90 00    BCC *+2
28       PLP
No requirements
  • JSR-RTS causes 12 cycles of delay. But it does write a function return address in the stack, which may be unwanted in some applications. S is not modified.
  • Again, ROL-ROR does not have side effects (as long as an interrupt does not happen in the middle), except for Z+N.


13 cycles

5 bytes
EA   ... NOP      × 3
08       PHP
28       PLP
No requirements


14 cycles

4 bytes
08       PHP       \ × 2
28       PLP       /
No requirements


15 cycles

5 bytes
08       PHP
BA       TSX
28       PLP
9A       TXS
28       PLP
Clobbers X
C5 C5    CMP $C5
20 xx xx JSR @rts12
Clobbers Z&N, and C; and requires @rts12
24 24    BIT $24
20 xx xx JSR @rts12
Clobbers Z&N, and V; and requires @rts12
A5 A5    LDA $A5
20 xx xx JSR @rts12
Clobbers A, and Z&N; and requires @rts12
A4 A4    LDY $A4
20 xx xx JSR @rts12
Clobbers Y, and Z&N; and requires @rts12
6 bytes
08       PHP
28       PLP
EA   ... NOP      × 4
No requirements


16 cycles

5 bytes
EA       NOP
08       PHP       \ × 2
28       PLP       /
No requirements


17 cycles

6 bytes
08       PHP
48       PHA
A5 A5    LDA $A5
68       PLA
28       PLP
No requirements


18 cycles

6 bytes
EA   ... NOP      × 2
08       PHP       \ × 2
28       PLP       /
No requirements


19 cycles

5 bytes
08       PHP
28       PLP
20 xx xx JSR @rts12
Requires @rts12
6 bytes
08       PHP
36 36    ROL $36,X
76 36    ROR $36,X
28       PLP
No requirements


20 cycles

5 bytes
A9 2A    LDA #$2A ;hides 'ROL A'
38       SEC
10 FC    BPL *-2
Clobbers A, Z&N, and C
7 bytes
EA   ... NOP      × 3
08       PHP       \ × 2
28       PLP       /
No requirements


21 cycles

5 bytes
18       CLC
A9 2A    LDA #$2A ;hides 'ROL A'
90 FD    BCC *-1
Clobbers A, Z&N, and C
A2 04    LDX #4
CA       DEX
D0 FD    BNE *-1
Clobbers X, and Z&N
A0 04    LDY #4
88       DEY
D0 FD    BNE *-1
Clobbers Y, and Z&N
6 bytes
08       PHP       \ × 3
28       PLP       /
No requirements


22 cycles

6 bytes
18       CLC
A9 2A    LDA #$2A ;hides 'ROL A'
38       SEC
10 FC    BPL *-2
Clobbers A, Z&N, and C
A2 02    LDX #2
EA       NOP
CA       DEX
10 FC    BPL *-2
Clobbers X, and Z&N
A0 03    LDY #3
EA       NOP
88       DEY
D0 FC    BNE *-2
Clobbers Y, and Z&N
7 bytes
08       PHP
BA       TSX
08       PHP
28   ... PLP      × 2
9A       TXS
28       PLP
Clobbers X
08       PHP
C5 C5    CMP $C5
28       PLP
20 xx xx JSR @rts12
Requires @rts12
8 bytes
08       PHP       \ × 2
28       PLP       /
EA   ... NOP      × 4
No requirements


23 cycles

6 bytes
18   ... CLC      × 2
A9 2A    LDA #$2A ;hides 'ROL A'
90 FD    BCC *-1
Clobbers A, Z&N, and C
EA       NOP
A2 04    LDX #4
CA       DEX
D0 FD    BNE *-1
Clobbers X, and Z&N
EA       NOP
A0 04    LDY #4
88       DEY
D0 FD    BNE *-1
Clobbers Y, and Z&N
7 bytes
EA       NOP
08       PHP       \ × 3
28       PLP       /
No requirements


24 cycles

4 bytes
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
Clobbers A, Z&N, and C
6 bytes
20 xx xx JSR @rts12× 2
Requires @rts12
7 bytes
A6 A6    LDX $A6
A2 04    LDX #4
CA       DEX
D0 FD    BNE *-1
Clobbers X, and Z&N
A4 A4    LDY $A4
A0 04    LDY #4
88       DEY
D0 FD    BNE *-1
Clobbers Y, and Z&N
8 bytes
08       PHP
C5 C5    CMP $C5
28       PLP       \ × 2
08       PHP       /
28       PLP
No requirements


25 cycles

7 bytes
98       TYA
A0 04    LDY #4
88       DEY
D0 FD    BNE *-1
A8       TAY
Clobbers A, and Z&N
EA   ... NOP      × 2
A2 04    LDX #4
CA       DEX
D0 FD    BNE *-1
Clobbers X, and Z&N
EA   ... NOP      × 2
A0 04    LDY #4
88       DEY
D0 FD    BNE *-1
Clobbers Y, and Z&N
8 bytes
EA   ... NOP      × 2
08       PHP       \ × 3
28       PLP       /
No requirements


26 cycles

5 bytes
18       CLC
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
Clobbers A, Z&N, and C
A2 04    LDX #4
CA       DEX
10 FD    BPL *-1
Clobbers X, and Z&N
A0 05    LDY #5
88       DEY
D0 FD    BNE *-1
Clobbers Y, and Z&N
7 bytes
EA       NOP
20 xx xx JSR @rts12× 2
Requires @rts12
8 bytes
08       PHP
48       PHA
36 36    ROL $36,X
76 36    ROR $36,X
68       PLA
28       PLP
No requirements


27 cycles

6 bytes
A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
Clobbers A, Z&N, and C
7 bytes
48       PHA
A9 2A    LDA #$2A ;hides 'ROL A'
38       SEC
10 FC    BPL *-2
68       PLA
Clobbers Z&N, and C
08       PHP
A9 2A    LDA #$2A ;hides 'ROL A'
38       SEC
10 FC    BPL *-2
28       PLP
Clobbers A
24 2C    BIT <$2C ;hides 'BIT $FDA2'
A2 FD    LDX #253
E8       INX
D0 FA    BNE *-4
Clobbers X, Z&N, and V
24 2C    BIT <$2C ;hides 'BIT $FDA0'
A0 FD    LDY #253
C8       INY
D0 FA    BNE *-4
Clobbers Y, Z&N, and V
A4 AC    LDY <$AC ;hides 'LDY $82A2'
A2 82    LDX #130
CA       DEX
30 FA    BMI *-4
Clobbers X, Y, and Z&N
8 bytes
EA   ... NOP      × 3
A2 04    LDX #4
CA       DEX
D0 FD    BNE *-1
Clobbers X, and Z&N
EA   ... NOP      × 3
A0 04    LDY #4
88       DEY
D0 FD    BNE *-1
Clobbers Y, and Z&N
24 24    BIT $24
20 xx xx JSR @rts12× 2
Clobbers Z&N, and V; and requires @rts12
20 xx xx JSR @rts12
08       PHP
BA       TSX
28       PLP
9A       TXS
28       PLP
Clobbers X; and requires @rts12
9 bytes
EA   ... NOP      × 3
08       PHP       \ × 3
28       PLP       /
No requirements


28 cycles

6 bytes
38   ... SEC      × 2
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
Clobbers A, Z&N, and C
EA       NOP
A2 04    LDX #4
CA       DEX
10 FD    BPL *-1
Clobbers X, and Z&N
EA       NOP
A0 05    LDY #5
88       DEY
D0 FD    BNE *-1
Clobbers Y, and Z&N
7 bytes
48       PHA
18       CLC
A9 2A    LDA #$2A ;hides 'ROL A'
90 FD    BCC *-1
68       PLA
Clobbers Z&N, and C
08       PHP
18       CLC
A9 2A    LDA #$2A ;hides 'ROL A'
90 FD    BCC *-1
28       PLP
Clobbers A
08       PHP
A2 04    LDX #4
CA       DEX
D0 FD    BNE *-1
28       PLP
Clobbers X
08       PHP
A0 04    LDY #4
88       DEY
D0 FD    BNE *-1
28       PLP
Clobbers Y
8 bytes
08       PHP       \ × 4
28       PLP       /
No requirements


29 cycles

6 bytes
18       CLC
A9 2A    LDA #$2A ;hides 'ROL A'
EA       NOP
90 FC    BCC *-2
Clobbers A, Z&N, and C
A2 04    LDX #4
EA       NOP
CA       DEX
D0 FC    BNE *-2
Clobbers X, and Z&N
A0 04    LDY #4
EA       NOP
88       DEY
D0 FC    BNE *-2
Clobbers Y, and Z&N
8 bytes
48       PHA
18       CLC
A9 2A    LDA #$2A ;hides 'ROL A'
38       SEC
10 FC    BPL *-2
68       PLA
Clobbers Z&N, and C
08       PHP
18       CLC
A9 2A    LDA #$2A ;hides 'ROL A'
38       SEC
10 FC    BPL *-2
28       PLP
Clobbers A
08       PHP
A2 02    LDX #2
EA       NOP
CA       DEX
10 FC    BPL *-2
28       PLP
Clobbers X
08       PHP
A0 03    LDY #3
EA       NOP
88       DEY
D0 FC    BNE *-2
28       PLP
Clobbers Y
9 bytes
08       PHP
28       PLP
08       PHP
C5 C5    CMP $C5
28       PLP
20 xx xx JSR @rts12
Requires @rts12
10 bytes
08       PHP
C5 C5    CMP $C5
28       PLP
08       PHP
36 36    ROL $36,X
76 36    ROR $36,X
28       PLP
No requirements


30 cycles

7 bytes
98       TYA
A0 05    LDY #5
88       DEY
D0 FD    BNE *-1
A8       TAY
Clobbers A, and Z&N
EA   ... NOP      × 2
A2 04    LDX #4
CA       DEX
10 FD    BPL *-1
Clobbers X, and Z&N
EA   ... NOP      × 2
A0 05    LDY #5
88       DEY
D0 FD    BNE *-1
Clobbers Y, and Z&N
8 bytes
48       PHA
18   ... CLC      × 2
A9 2A    LDA #$2A ;hides 'ROL A'
90 FD    BCC *-1
68       PLA
Clobbers Z&N, and C
08       PHP
18   ... CLC      × 2
A9 2A    LDA #$2A ;hides 'ROL A'
90 FD    BCC *-1
28       PLP
Clobbers A
EA       NOP
08       PHP
A2 04    LDX #4
CA       DEX
D0 FD    BNE *-1
28       PLP
Clobbers X
EA       NOP
08       PHP
A0 04    LDY #4
88       DEY
D0 FD    BNE *-1
28       PLP
Clobbers Y
9 bytes
08       PHP
48       PHA
18       CLC
A9 6A    LDA #$6A ;hides 'ROR A'
90 FD    BCC *-1
68       PLA
28       PLP
No requirements


31 cycles

5 bytes
18       CLC
A9 0A    LDA #$0A ;hides 'ASL A'
90 FD    BCC *-1
Clobbers A, Z&N, and C
A2 05    LDX #5
CA       DEX
10 FD    BPL *-1
Clobbers X, and Z&N
A0 06    LDY #6
88       DEY
D0 FD    BNE *-1
Clobbers Y, and Z&N
6 bytes
48       PHA
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68       PLA
Clobbers Z&N, and C
08       PHP
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
28       PLP
Clobbers A
8 bytes
08       PHP
28       PLP
20 xx xx JSR @rts12× 2
Requires @rts12
9 bytes
08       PHP
A6 A6    LDX $A6
A2 04    LDX #4
CA       DEX
D0 FD    BNE *-1
28       PLP
Clobbers X
08       PHP
A4 A4    LDY $A4
A0 04    LDY #4
88       DEY
D0 FD    BNE *-1
28       PLP
Clobbers Y
10 bytes
08       PHP
36 36    ROL $36,X \ × 2
76 36    ROR $36,X /
28       PLP
No requirements


32 cycles

6 bytes
A2 05    LDX #5 ;hides 'ORA zp'
CA       DEX ;first loop only
CA       DEX
D0 FB    BNE *-3
Clobbers A, X, and Z&N
A0 05    LDY #5 ;hides 'ORA zp'
88       DEY ;first loop only
88       DEY
D0 FB    BNE *-3
Clobbers A, Y, and Z&N
7 bytes
A9 2A    LDA #$2A ;hides 'ROL A'
EA   ... NOP      × 3
10 FA    BPL *-4
Clobbers A, Z&N, and C
8 bytes
EA       NOP
98       TYA
A0 05    LDY #5
88       DEY
D0 FD    BNE *-1
A8       TAY
Clobbers A, and Z&N
A6 A6    LDX $A6
A2 04    LDX #4
EA       NOP
CA       DEX
D0 FC    BNE *-2
Clobbers X, and Z&N
A4 A4    LDY $A4
A0 04    LDY #4
EA       NOP
88       DEY
D0 FC    BNE *-2
Clobbers Y, and Z&N
9 bytes
48       PHA
98       TYA
A0 04    LDY #4
88       DEY
D0 FD    BNE *-1
A8       TAY
68       PLA
Clobbers Z&N
08       PHP
98       TYA
A0 04    LDY #4
88       DEY
D0 FD    BNE *-1
A8       TAY
28       PLP
Clobbers A
EA   ... NOP      × 2
08       PHP
A2 04    LDX #4
CA       DEX
D0 FD    BNE *-1
28       PLP
Clobbers X
EA   ... NOP      × 2
08       PHP
A0 04    LDY #4
88       DEY
D0 FD    BNE *-1
28       PLP
Clobbers Y
10 bytes
08       PHP
48       PHA
18   ... CLC      × 2
A9 6A    LDA #$6A ;hides 'ROR A'
90 FD    BCC *-1
68       PLA
28       PLP
No requirements


33 cycles

6 bytes
18   ... CLC      × 2
A9 0A    LDA #$0A ;hides 'ASL A'
90 FD    BCC *-1
Clobbers A, Z&N, and C
EA       NOP
A2 05    LDX #5
CA       DEX
10 FD    BPL *-1
Clobbers X, and Z&N
EA       NOP
A0 06    LDY #6
88       DEY
D0 FD    BNE *-1
Clobbers Y, and Z&N
7 bytes
48       PHA
18       CLC
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68       PLA
Clobbers Z&N, and C
08       PHP
18       CLC
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
28       PLP
Clobbers A
08       PHP
A2 04    LDX #4
CA       DEX
10 FD    BPL *-1
28       PLP
Clobbers X
08       PHP
A0 05    LDY #5
88       DEY
D0 FD    BNE *-1
28       PLP
Clobbers Y
9 bytes
EA       NOP
08       PHP
28       PLP
20 xx xx JSR @rts12× 2
Requires @rts12
10 bytes
08       PHP       \ × 2
28       PLP       /
08       PHP
36 36    ROL $36,X
76 36    ROR $36,X
28       PLP
No requirements


34 cycles

5 bytes
A9 0A    LDA #$0A ;hides 'ASL A'
18       CLC
10 FC    BPL *-2
Clobbers A, Z&N, and C
A0 88    LDY #136 ;hides 'DEY'
88       DEY
30 FC    BMI *-2
Clobbers Y, and Z&N
7 bytes
A6 A6    LDX $A6
A2 05    LDX #5
CA       DEX
10 FD    BPL *-1
Clobbers X, and Z&N
8 bytes
C5 C5    CMP $C5
48       PHA
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68       PLA
Clobbers Z&N, and C
08       PHP
A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
28       PLP
Clobbers A
9 bytes
08       PHP
48       PHA
A9 2A    LDA #$2A ;hides 'ROL A'
38       SEC
10 FC    BPL *-2
68       PLA
28       PLP
No requirements


35 cycles

6 bytes
A9 2A    LDA #$2A ;hides 'ROL A'
08       PHP
28       PLP
10 FB    BPL *-3
Clobbers A, Z&N, and C
A2 F8    LDX #248 ;hides 'SED'
E8   ... INX      × 2
D0 FB    BNE *-3
Clobbers X, Z&N, and D
A0 88    LDY #136 ;hides 'DEY'
88   ... DEY      × 2
30 FB    BMI *-3
Clobbers Y, and Z&N
7 bytes
98       TYA
A0 06    LDY #6
88       DEY
D0 FD    BNE *-1
A8       TAY
Clobbers A, and Z&N
EA   ... NOP      × 2
A2 05    LDX #5
CA       DEX
10 FD    BPL *-1
Clobbers X, and Z&N
8 bytes
48       PHA
38   ... SEC      × 2
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68       PLA
Clobbers Z&N, and C
08       PHP
38   ... SEC      × 2
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
28       PLP
Clobbers A
EA       NOP
08       PHP
A2 04    LDX #4
CA       DEX
10 FD    BPL *-1
28       PLP
Clobbers X
EA       NOP
08       PHP
A0 05    LDY #5
88       DEY
D0 FD    BNE *-1
28       PLP
Clobbers Y
9 bytes
08       PHP
48       PHA
18       CLC
A9 2A    LDA #$2A ;hides 'ROL A'
90 FD    BCC *-1
68       PLA
28       PLP
No requirements


36 cycles

5 bytes
A9 E9    LDA #$E9 ;hides 'SBC #$2A'
2A       ROL A ;first loop only
B0 FC    BCS *-2
Clobbers A, Z&N, C, and V
A2 07    LDX #7
CA       DEX
D0 FD    BNE *-1
Clobbers X, and Z&N
A0 06    LDY #6
88       DEY
10 FD    BPL *-1
Clobbers Y, and Z&N
6 bytes
38       SEC
A9 0A    LDA #$0A ;hides 'ASL A'
38       SEC
10 FC    BPL *-2
Clobbers A, Z&N, and C
8 bytes
48       PHA
18       CLC
A9 2A    LDA #$2A ;hides 'ROL A'
EA       NOP
90 FC    BCC *-2
68       PLA
Clobbers Z&N, and C
08       PHP
18       CLC
A9 2A    LDA #$2A ;hides 'ROL A'
EA       NOP
90 FC    BCC *-2
28       PLP
Clobbers A
08       PHP
A2 04    LDX #4
EA       NOP
CA       DEX
D0 FC    BNE *-2
28       PLP
Clobbers X
08       PHP
A0 04    LDY #4
EA       NOP
88       DEY
D0 FC    BNE *-2
28       PLP
Clobbers Y
9 bytes
20 xx xx JSR @rts12× 3
Requires @rts12
10 bytes
08       PHP
48       PHA
18       CLC
A9 2A    LDA #$2A ;hides 'ROL A'
38       SEC
10 FC    BPL *-2
68       PLA
28       PLP
No requirements


37 cycles

7 bytes
A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
18       CLC
10 FC    BPL *-2
Clobbers A, Z&N, and C
A2 04    LDX #4
EA   ... NOP      × 2
CA       DEX
D0 FB    BNE *-3
Clobbers X, and Z&N
A0 04    LDY #4
EA   ... NOP      × 2
88       DEY
D0 FB    BNE *-3
Clobbers Y, and Z&N
8 bytes
EA       NOP
98       TYA
A0 06    LDY #6
88       DEY
D0 FD    BNE *-1
A8       TAY
Clobbers A, and Z&N
9 bytes
48       PHA
98       TYA
A0 05    LDY #5
88       DEY
D0 FD    BNE *-1
A8       TAY
68       PLA
Clobbers Z&N
08       PHP
98       TYA
A0 05    LDY #5
88       DEY
D0 FD    BNE *-1
A8       TAY
28       PLP
Clobbers A
EA   ... NOP      × 2
08       PHP
A2 04    LDX #4
CA       DEX
10 FD    BPL *-1
28       PLP
Clobbers X
EA   ... NOP      × 2
08       PHP
A0 05    LDY #5
88       DEY
D0 FD    BNE *-1
28       PLP
Clobbers Y
10 bytes
08       PHP
48       PHA
18   ... CLC      × 2
A9 2A    LDA #$2A ;hides 'ROL A'
90 FD    BCC *-1
68       PLA
28       PLP
No requirements


38 cycles

6 bytes
38       SEC
A9 69    LDA #$69 ;hides 'ADC #$EA'
EA       NOP ;first loop only
B0 FC    BCS *-2
Clobbers A, Z&N, C, and V
EA       NOP
A2 07    LDX #7
CA       DEX
D0 FD    BNE *-1
Clobbers X, and Z&N
EA       NOP
A0 06    LDY #6
88       DEY
10 FD    BPL *-1
Clobbers Y, and Z&N
7 bytes
48       PHA
18       CLC
A9 0A    LDA #$0A ;hides 'ASL A'
90 FD    BCC *-1
68       PLA
Clobbers Z&N, and C
08       PHP
18       CLC
A9 0A    LDA #$0A ;hides 'ASL A'
90 FD    BCC *-1
28       PLP
Clobbers A
08       PHP
A2 05    LDX #5
CA       DEX
10 FD    BPL *-1
28       PLP
Clobbers X
08       PHP
A0 06    LDY #6
88       DEY
D0 FD    BNE *-1
28       PLP
Clobbers Y
8 bytes
08       PHP
48       PHA
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68       PLA
28       PLP
No requirements


39 cycles

4 bytes
A9 4A    LDA #$4A ;hides 'LSR A'
D0 FD    BNE *-1
Clobbers A, Z&N, and C
7 bytes
A6 A6    LDX $A6
A2 07    LDX #7
CA       DEX
D0 FD    BNE *-1
Clobbers X, and Z&N
A4 A4    LDY $A4
A0 06    LDY #6
88       DEY
10 FD    BPL *-1
Clobbers Y, and Z&N
8 bytes
98       TYA
A0 88    LDY #136 ;hides 'DEY'
88   ... DEY      × 2
30 FB    BMI *-3
A8       TAY
Clobbers A, and Z&N
08       PHP
A2 05    LDX #5 ;hides 'ORA zp'
CA       DEX ;first loop only
CA       DEX
D0 FB    BNE *-3
28       PLP
Clobbers A, and X
08       PHP
A0 05    LDY #5 ;hides 'ORA zp'
88       DEY ;first loop only
88       DEY
D0 FB    BNE *-3
28       PLP
Clobbers A, and Y
9 bytes
48       PHA
A9 2A    LDA #$2A ;hides 'ROL A'
EA   ... NOP      × 3
10 FA    BPL *-4
68       PLA
Clobbers Z&N, and C
08       PHP
A9 2A    LDA #$2A ;hides 'ROL A'
EA   ... NOP      × 3
10 FA    BPL *-4
28       PLP
Clobbers A
10 bytes
EA       NOP
48       PHA
98       TYA
A0 05    LDY #5
88       DEY
D0 FD    BNE *-1
A8       TAY
68       PLA
Clobbers Z&N
08       PHP
A6 A6    LDX $A6
A2 04    LDX #4
EA       NOP
CA       DEX
D0 FC    BNE *-2
28       PLP
Clobbers X
08       PHP
A4 A4    LDY $A4
A0 04    LDY #4
EA       NOP
88       DEY
D0 FC    BNE *-2
28       PLP
Clobbers Y
11 bytes
08       PHP
48       PHA
98       TYA
A0 04    LDY #4
88       DEY
D0 FD    BNE *-1
A8       TAY
68       PLA
28       PLP
No requirements


40 cycles

6 bytes
A2 05    LDX #5 ;hides 'ORA zp'
EA       NOP
CA       DEX
D0 FB    BNE *-3
Clobbers A, X, and Z&N
A0 05    LDY #5 ;hides 'ORA zp'
EA       NOP
88       DEY
D0 FB    BNE *-3
Clobbers A, Y, and Z&N
7 bytes
98       TYA
A0 06    LDY #6
88       DEY
10 FD    BPL *-1
A8       TAY
Clobbers A, and Z&N
EA   ... NOP      × 2
A2 07    LDX #7
CA       DEX
D0 FD    BNE *-1
Clobbers X, and Z&N
EA   ... NOP      × 2
A0 06    LDY #6
88       DEY
10 FD    BPL *-1
Clobbers Y, and Z&N
8 bytes
48       PHA
18   ... CLC      × 2
A9 0A    LDA #$0A ;hides 'ASL A'
90 FD    BCC *-1
68       PLA
Clobbers Z&N, and C
08       PHP
18   ... CLC      × 2
A9 0A    LDA #$0A ;hides 'ASL A'
90 FD    BCC *-1
28       PLP
Clobbers A
EA       NOP
08       PHP
A2 05    LDX #5
CA       DEX
10 FD    BPL *-1
28       PLP
Clobbers X
EA       NOP
08       PHP
A0 06    LDY #6
88       DEY
D0 FD    BNE *-1
28       PLP
Clobbers Y
9 bytes
08       PHP
48       PHA
18       CLC
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68       PLA
28       PLP
No requirements


41 cycles

5 bytes
38       SEC
A9 4A    LDA #$4A ;hides 'LSR A'
D0 FD    BNE *-1
Clobbers A, Z&N, and C
A2 08    LDX #8
CA       DEX
D0 FD    BNE *-1
Clobbers X, and Z&N
A0 08    LDY #8
88       DEY
D0 FD    BNE *-1
Clobbers Y, and Z&N
7 bytes
48       PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18       CLC
10 FC    BPL *-2
68       PLA
Clobbers Z&N, and C
08       PHP
A9 0A    LDA #$0A ;hides 'ASL A'
18       CLC
10 FC    BPL *-2
28       PLP
Clobbers A
08       PHP
A0 88    LDY #136 ;hides 'DEY'
88       DEY
30 FC    BMI *-2
28       PLP
Clobbers Y
9 bytes
08       PHP
A6 A6    LDX $A6
A2 05    LDX #5
CA       DEX
10 FD    BPL *-1
28       PLP
Clobbers X
10 bytes
08       PHP
48       PHA
A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68       PLA
28       PLP
No requirements


42 cycles

6 bytes
A5 A5    LDA $A5
A9 4A    LDA #$4A ;hides 'LSR A'
D0 FD    BNE *-1
Clobbers A, Z&N, and C
7 bytes
EA       NOP
A2 05    LDX #5 ;hides 'ORA zp'
EA       NOP
CA       DEX
D0 FB    BNE *-3
Clobbers A, X, and Z&N
EA       NOP
A0 05    LDY #5 ;hides 'ORA zp'
EA       NOP
88       DEY
D0 FB    BNE *-3
Clobbers A, Y, and Z&N
8 bytes
48       PHA
A9 2A    LDA #$2A ;hides 'ROL A'
08       PHP
28       PLP
10 FB    BPL *-3
68       PLA
Clobbers Z&N, and C
08       PHP
A9 2A    LDA #$2A ;hides 'ROL A'
08       PHP
28       PLP
10 FB    BPL *-3
28       PLP
Clobbers A
08       PHP
A2 F8    LDX #248 ;hides 'SED'
E8   ... INX      × 2
D0 FB    BNE *-3
28       PLP
Clobbers X
08       PHP
A0 88    LDY #136 ;hides 'DEY'
88   ... DEY      × 2
30 FB    BMI *-3
28       PLP
Clobbers Y
9 bytes
48       PHA
98       TYA
A0 06    LDY #6
88       DEY
D0 FD    BNE *-1
A8       TAY
68       PLA
Clobbers Z&N
10 bytes
08       PHP
48       PHA
38   ... SEC      × 2
A9 0A    LDA #$0A ;hides 'ASL A'
10 FD    BPL *-1
68       PLA
28       PLP
No requirements


43 cycles

6 bytes
38   ... SEC      × 2
A9 4A    LDA #$4A ;hides 'LSR A'
D0 FD    BNE *-1
Clobbers A, Z&N, and C
A2 05    LDX #5
EA       NOP
CA       DEX
10 FC    BPL *-2
Clobbers X, and Z&N
A0 06    LDY #6
EA       NOP
88       DEY
D0 FC    BNE *-2
Clobbers Y, and Z&N
7 bytes
48       PHA
A9 E9    LDA #$E9 ;hides 'SBC #$2A'
2A       ROL A ;first loop only
B0 FC    BCS *-2
68       PLA
Clobbers Z&N, C, and V
08       PHP
A9 E9    LDA #$E9 ;hides 'SBC #$2A'
2A       ROL A ;first loop only
B0 FC    BCS *-2
28       PLP
Clobbers A
08       PHP
A2 07    LDX #7
CA       DEX
D0 FD    BNE *-1
28       PLP
Clobbers X
08       PHP
A0 06    LDY #6
88       DEY
10 FD    BPL *-1
28       PLP
Clobbers Y
8 bytes
48       PHA
38       SEC
A9 0A    LDA #$0A ;hides 'ASL A'
38       SEC
10 FC    BPL *-2
68       PLA
Clobbers Z&N, and C
10 bytes
08       PHP
48       PHA
18       CLC
A9 2A    LDA #$2A ;hides 'ROL A'
EA       NOP
90 FC    BCC *-2
68       PLA
28       PLP
No requirements


44 cycles

6 bytes
A9 0A    LDA #$0A ;hides 'ASL A'
EA   ... NOP      × 2
10 FB    BPL *-3
Clobbers A, Z&N, and C
A0 88    LDY #136 ;hides 'DEY'
EA       NOP
88       DEY
30 FB    BMI *-3
Clobbers Y, and Z&N
7 bytes
A6 A6    LDX $A6
A2 08    LDX #8
CA       DEX
D0 FD    BNE *-1
Clobbers X, and Z&N
9 bytes
C5 C5    CMP $C5
48       PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18       CLC
10 FC    BPL *-2
68       PLA
Clobbers Z&N, and C
08       PHP
A5 A5    LDA $A5
A9 0A    LDA #$0A ;hides 'ASL A'
18       CLC
10 FC    BPL *-2
28       PLP
Clobbers A
08       PHP
A2 04    LDX #4
EA   ... NOP      × 2
CA       DEX
D0 FB    BNE *-3
28       PLP
Clobbers X
08       PHP
A0 04    LDY #4
EA   ... NOP      × 2
88       DEY
D0 FB    BNE *-3
28       PLP
Clobbers Y
10 bytes
EA       NOP
48       PHA
98       TYA
A0 06    LDY #6
88       DEY
D0 FD    BNE *-1
A8       TAY
68       PLA
Clobbers Z&N
11 bytes
08       PHP
48       PHA
98       TYA
A0 05    LDY #5
88       DEY
D0 FD    BNE *-1
A8       TAY
68       PLA
28       PLP
No requirements


45 cycles

7 bytes
98       TYA
A0 08    LDY #8
88       DEY
D0 FD    BNE *-1
A8       TAY
Clobbers A, and Z&N
EA   ... NOP      × 2
A2 08    LDX #8
CA       DEX
D0 FD    BNE *-1
Clobbers X, and Z&N
EA   ... NOP      × 2
A0 08    LDY #8
88       DEY
D0 FD    BNE *-1
Clobbers Y, and Z&N
8 bytes
48       PHA
38       SEC
A9 69    LDA #$69 ;hides 'ADC #$EA'
EA       NOP ;first loop only
B0 FC    BCS *-2
68       PLA
Clobbers Z&N, C, and V
08       PHP
38       SEC
A9 69    LDA #$69 ;hides 'ADC #$EA'
EA       NOP ;first loop only
B0 FC    BCS *-2
28       PLP
Clobbers A
EA       NOP
08       PHP
A2 07    LDX #7
CA       DEX
D0 FD    BNE *-1
28       PLP
Clobbers X
EA       NOP
08       PHP
A0 06    LDY #6
88       DEY
10 FD    BPL *-1
28       PLP
Clobbers Y
9 bytes
08       PHP
48       PHA
18       CLC
A9 0A    LDA #$0A ;hides 'ASL A'
90 FD    BCC *-1
68       PLA
28       PLP
No requirements


46 cycles

5 bytes
A2 08    LDX #8
CA       DEX
10 FD    BPL *-1
Clobbers X, and Z&N
A0 09    LDY #9
88       DEY
D0 FD    BNE *-1
Clobbers Y, and Z&N
6 bytes
48       PHA
A9 4A    LDA #$4A ;hides 'LSR A'
D0 FD    BNE *-1
68       PLA
Clobbers Z&N, and C
08       PHP
A9 4A    LDA #$4A ;hides 'LSR A'
D0 FD    BNE *-1
28       PLP
Clobbers A
9 bytes
08       PHP
A6 A6    LDX $A6
A2 07    LDX #7
CA       DEX
D0 FD    BNE *-1
28       PLP
Clobbers X
08       PHP
A4 A4    LDY $A4
A0 06    LDY #6
88       DEY
10 FD    BPL *-1
28       PLP
Clobbers Y
10 bytes
48       PHA
98       TYA
A0 88    LDY #136 ;hides 'DEY'
88   ... DEY      × 2
30 FB    BMI *-3
A8       TAY
68       PLA
Clobbers Z&N
11 bytes
08       PHP
48       PHA
A9 2A    LDA #$2A ;hides 'ROL A'
EA   ... NOP      × 3
10 FA    BPL *-4
68       PLA
28       PLP
No requirements


47 cycles

8 bytes
98       TYA
A0 06    LDY #6
EA       NOP
88       DEY
D0 FC    BNE *-2
A8       TAY
Clobbers A, and Z&N
EA   ... NOP      × 3
A2 08    LDX #8
CA       DEX
D0 FD    BNE *-1
Clobbers X, and Z&N
08       PHP
A2 05    LDX #5 ;hides 'ORA zp'
EA       NOP
CA       DEX
D0 FB    BNE *-3
28       PLP
Clobbers A, and X
EA   ... NOP      × 3
A0 08    LDY #8
88       DEY
D0 FD    BNE *-1
Clobbers Y, and Z&N
08       PHP
A0 05    LDY #5 ;hides 'ORA zp'
EA       NOP
88       DEY
D0 FB    BNE *-3
28       PLP
Clobbers A, and Y
9 bytes
48       PHA
98       TYA
A0 06    LDY #6
88       DEY
10 FD    BPL *-1
A8       TAY
68       PLA
Clobbers Z&N
08       PHP
98       TYA
A0 06    LDY #6
88       DEY
10 FD    BPL *-1
A8       TAY
28       PLP
Clobbers A
EA   ... NOP      × 2
08       PHP
A2 07    LDX #7
CA       DEX
D0 FD    BNE *-1
28       PLP
Clobbers X
EA   ... NOP      × 2
08       PHP
A0 06    LDY #6
88       DEY
10 FD    BPL *-1
28       PLP
Clobbers Y
10 bytes
08       PHP
48       PHA
18   ... CLC      × 2
A9 0A    LDA #$0A ;hides 'ASL A'
90 FD    BCC *-1
68       PLA
28       PLP
No requirements


48 cycles

6 bytes
EA       NOP
A2 08    LDX #8
CA       DEX
10 FD    BPL *-1
Clobbers X, and Z&N
EA       NOP
A0 09    LDY #9
88       DEY
D0 FD    BNE *-1
Clobbers Y, and Z&N
7 bytes
48       PHA
38       SEC
A9 4A    LDA #$4A ;hides 'LSR A'
D0 FD    BNE *-1
68       PLA
Clobbers Z&N, and C
08       PHP
38       SEC
A9 4A    LDA #$4A ;hides 'LSR A'
D0 FD    BNE *-1
28       PLP
Clobbers A
08       PHP
A2 08    LDX #8
CA       DEX
D0 FD    BNE *-1
28       PLP
Clobbers X
08       PHP
A0 08    LDY #8
88       DEY
D0 FD    BNE *-1
28       PLP
Clobbers Y
9 bytes
08       PHP
48       PHA
A9 0A    LDA #$0A ;hides 'ASL A'
18       CLC
10 FC    BPL *-2
68       PLA
28       PLP
No requirements


49 cycles

4 bytes
A0 88    LDY #136 ;hides 'DEY'
30 FD    BMI *-1
Clobbers Y, and Z&N
7 bytes
18       CLC
A9 2A    LDA #$2A ;hides 'ROL A'
08       PHP
28       PLP
90 FB    BCC *-3
Clobbers A, Z&N, and C
A6 A6    LDX $A6
A2 08    LDX #8
CA       DEX
10 FD    BPL *-1
Clobbers X, and Z&N
8 bytes
C5 C5    CMP $C5
48       PHA
A9 4A    LDA #$4A ;hides 'LSR A'
D0 FD    BNE *-1
68       PLA
Clobbers Z&N, and C
08       PHP
A5 A5    LDA $A5
A9 4A    LDA #$4A ;hides 'LSR A'
D0 FD    BNE *-1
28       PLP
Clobbers A
10 bytes
08       PHP
48       PHA
A9 2A    LDA #$2A ;hides 'ROL A'
08       PHP
28       PLP
10 FB    BPL *-3
68       PLA
28       PLP
No requirements


50 cycles

6 bytes
A9 E9    LDA #$E9 ;hides 'SBC #$2A'
2A       ROL A ;first loop only
EA       NOP
B0 FB    BCS *-3
Clobbers A, Z&N, C, and V
A2 07    LDX #7
EA       NOP
CA       DEX
D0 FC    BNE *-2
Clobbers X, and Z&N
A0 06    LDY #6
EA       NOP
88       DEY
10 FC    BPL *-2
Clobbers Y, and Z&N
7 bytes
98       TYA
A0 09    LDY #9
88       DEY
D0 FD    BNE *-1
A8       TAY
Clobbers A, and Z&N
8 bytes
48       PHA
38   ... SEC      × 2
A9 4A    LDA #$4A ;hides 'LSR A'
D0 FD    BNE *-1
68       PLA
Clobbers Z&N, and C
08       PHP
38   ... SEC      × 2
A9 4A    LDA #$4A ;hides 'LSR A'
D0 FD    BNE *-1
28       PLP
Clobbers A
08       PHP
A2 05    LDX #5
EA       NOP
CA       DEX
10 FC    BPL *-2
28       PLP
Clobbers X
08       PHP
A0 06    LDY #6
EA       NOP
88       DEY
D0 FC    BNE *-2
28       PLP
Clobbers Y
9 bytes
08       PHP
48       PHA
A9 E9    LDA #$E9 ;hides 'SBC #$2A'
2A       ROL A ;first loop only
B0 FC    BCS *-2
68       PLA
28       PLP
No requirements


Sanity checks

It is possible to verify on compile time that no page wrap occurs, by replacing all branches with these macros:

.macro branch_check opc, dest
    opc dest
    .assert >* = >(dest), warning, "branch_check: failed, crosses page"
.endmacro
.macro bccnw dest
        branch_check bcc, dest
.endmacro
.macro bcsnw dest
        branch_check bcs, dest
.endmacro
.macro beqnw dest
        branch_check beq, dest
.endmacro
.macro bnenw dest
        branch_check bne, dest
.endmacro
.macro bminw dest
        branch_check bmi, dest
.endmacro
.macro bplnw dest
        branch_check bpl, dest
.endmacro
.macro bvcnw dest
        branch_check bvc, dest
.endmacro
.macro bvsnw dest
        branch_check bvs, dest
.endmacro

See also

  • Cycle counting
  • Delay code for functions that produce runtime-determined amount of delay
  • Bisqwit’s “vending machine” for producing a ca65-compatible delay_n macro for arbitrary number of cycles, with more fine-grained configurable constraints: http://bisqwit.iki.fi/utils/nesdelay.php The samples on this page are excerpts from files generated by this online tool.