|
|
(20 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 a malfunction 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, the code will malfunction 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 83: |
Line 142: |
| |- | | |- |
| |<pre>A5 A5 LDA $A5</pre>||Clobbers A, and Z&N | | |<pre>A5 A5 LDA $A5</pre>||Clobbers A, and Z&N |
| |-
| |
| |<pre>A4 A4 LDY $A4</pre>||Clobbers Y, and Z&N
| |
| |- | | |- |
| |<pre>A6 A6 LDX $A6</pre>||Clobbers X, and Z&N | | |<pre>A6 A6 LDX $A6</pre>||Clobbers X, and Z&N |
| |- | | |- |
| |<pre>85 xx STA @zptemp</pre>||Requires @zptemp | | |<pre>A4 A4 LDY $A4</pre>||Clobbers Y, and Z&N |
| |-
| |
| |<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
| |
| |-
| |
| |<pre>68 PLA</pre>||Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|2 bytes | | !colspan="2"|2 bytes |
| |- | | |- |
| |<pre>EA ... NOP × 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 × <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 | | !colspan="2"|3 bytes |
| |- | | |- |
| |<pre>E6 xx INC @zptemp</pre>||Clobbers Z&N; and requires @zptemp
| | |<pre>18 CLC |
| |-
| | 90 00 BCC *+2</pre>||Clobbers C |
| |<pre>EA NOP
| |
| 48 PHA</pre>||Clobbers S; and writes in stack
| |
| |-
| |
| !colspan="2"|3 bytes
| |
| |-
| |
| |<pre>18 CLC | |
| 90 00 BCC *+2</pre>||Clobbers C | |
| |- | | |- |
| |<pre>B8 CLV | | |<pre>B8 CLV |
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>48 ... PHA × 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 × 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, but as the memory address modified depends on the value of X, and in this document it is a bit difficult to formalize the rules under which you can write to such addresses, thus the instruction is not used. | | * 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 and iy instructions such as <code>LDA ($00,X)</code> or <code>LDA ($00),Y</code> do 6 cycles, but there may be side effects for reading from random memory addresses (such as $2002), and therefore we do not do that. With ind-y there is also the trouble of predicting whether a wrap occurs or not. | | * 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. |
| * Absolute RMW instructions like <code>INC $2000</code> do 6 cycles, but weighing 3 bytes with side-effects it would be inferior to 3 × <code>NOP</code>. | | * 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 $4018</code> do 6 cycles, but weighing 3 bytes with side-effects it would be inferior to 3 × <code>NOP</code>. |
|
| |
|
|
| |
|
Line 180: |
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
| |
| |-
| |
| !colspan="2"|4 bytes
| |
| |-
| |
| |<pre>18 ... CLC × 2
| |
| 90 00 BCC *+2</pre>||Clobbers C
| |
| |-
| |
| |<pre>B8 ... CLV × 2
| |
| 50 00 BVC *+2</pre>||Clobbers V
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| EA ... NOP × 2</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| EA ... NOP × 2</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| EA ... NOP × 2</pre>||Requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| EA ... NOP × 2</pre>||Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>4C xx xx JMP *+3
| |
| EA ... NOP × 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, but it is difficult to formalize the rules under which one could write to such random addresses. | | * 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—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 × 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
| |
| 48 ... PHA × 2</pre>||Clobbers S; and writes in stack
| |
| |-
| |
| !colspan="2"|4 bytes | | !colspan="2"|4 bytes |
| |- | | |- |
| |<pre>EA ... NOP × 4</pre>||No requirements | | |<pre>EA ... NOP × 4</pre>||No requirements |
| |- | | |- |
| |} | | |} |
| * ix and iy RMW instructions such as <code>SLO ($00,X)</code> or <code>SLO ($00),Y</code> would do 8 cycles for 2 bytes of code, but it is dangerous to read random memory addresses, let alone write to them, so we do not do that. These instructions are also unofficial. | | * Unofficial ix and iy RMW instructions such as <code>SLO ($00,X)</code> or <code>SLO ($00),Y</code> 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. |
|
| |
|
|
| |
|
Line 250: |
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
| |
| |- | | |- |
| | |} |
| | * 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 === |
| | {| class="wikitable testtable" |
| !colspan="2"|4 bytes | | !colspan="2"|4 bytes |
| |- | | |- |
| |<pre>A2 AE LDX #$AE ;hides 'LDX $FDD0' | | |<pre>08 PHP |
| D0 FD BNE *-1</pre>||Clobbers X, and Z&N
| | C5 C5 CMP $C5 |
| | 28 PLP</pre>||No requirements |
| |- | | |- |
| |<pre>A0 AC LDY #$AC ;hides 'LDY $FDD0' | | |} |
| D0 FD BNE *-1</pre>||Clobbers Y, and Z&N
| | * The <code>ROL-ROR</code> sequence preserves the original value of the memory address. Carry is also preserved. |
| | |
| | |
| | === 11 cycles === |
| | {| class="wikitable testtable" |
| | !colspan="2"|4 bytes |
| |- | | |- |
| |<pre>EA ... NOP × 2 | | |<pre>EA ... NOP × 2 |
| E6 xx INC @zptemp</pre>||Clobbers Z&N; and requires @zptemp
| | 08 PHP |
| | 28 PLP</pre>||No requirements |
| |- | | |- |
| !colspan="2"|5 bytes
| | |} |
| |-
| |
| |<pre>18 ... CLC × 3
| |
| 90 00 BCC *+2</pre>||Clobbers C
| |
| |-
| |
| |<pre>B8 ... CLV × 3
| |
| 50 00 BVC *+2</pre>||Clobbers V
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| EA ... NOP × 3</pre>||Requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| EA ... NOP × 3</pre>||Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| |<pre>4C xx xx JMP *+3
| |
| EA ... NOP × 3</pre>||Not relocatable code
| |
| |-
| |
| |} | |
| * Jumping into the middle of another instruction 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 === | | === 12 cycles === |
| {| class="wikitable testtable" | | {| class="wikitable testtable" |
| !colspan="2"|3 bytes | | !colspan="2"|3 bytes |
| |- | | |- |
| |<pre>48 PHA | | |<pre>20 xx xx JSR @rts12</pre>||Requires @rts12 |
| 08 PHP
| |
| 28 PLP</pre>||Clobbers S; and writes in stack
| |
| |- | | |- |
| |<pre>EA NOP
| | !colspan="2"|4 bytes |
| 68 ... PLA × 2</pre>||Clobbers A, S, and Z&N
| |
| |- | | |- |
| !colspan="2"|4 bytes
| | |<pre>36 36 ROL $36,X |
| | 76 36 ROR $36,X</pre>||Clobbers Z&N |
| |- | | |- |
| |<pre>26 26 ROL $26 | | !colspan="2"|5 bytes |
| 66 26 ROR $26</pre>||Clobbers Z&N
| |
| |- | | |- |
| |<pre>08 PHP | | |<pre>08 PHP |
| 24 24 BIT $24
| | 18 CLC |
| 28 PLP</pre>||Writes in stack | | 90 00 BCC *+2 |
| | 28 PLP</pre>||No requirements |
| |- | | |- |
| | |} |
| | * <code>JSR-RTS</code> 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, <code>ROL-ROR</code> does not have side effects (as long as an interrupt does not happen in the middle), except for Z+N. |
| | |
| | |
| | === 13 cycles === |
| | {| class="wikitable testtable" |
| !colspan="2"|5 bytes | | !colspan="2"|5 bytes |
| |- | | |- |
| |<pre>EA ... NOP × 5</pre>||No requirements | | |<pre>EA ... NOP × 3 |
| | 08 PHP |
| | 28 PLP</pre>||No requirements |
| |- | | |- |
| |} | | |} |
| * Note that the <code>ROL-ROR</code> sequence preserves the original value of the memory address. Carry is also preserved.
| |
|
| |
|
|
| |
|
| === 11 cycles === | | === 14 cycles === |
| {| class="wikitable testtable" | | {| class="wikitable testtable" |
| !colspan="2"|3 bytes
| |
| |-
| |
| |<pre>68 ... PLA × 2
| |
| 48 PHA</pre>||Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|4 bytes | | !colspan="2"|4 bytes |
| |- | | |- |
| |<pre>EA ... NOP × 2 | | |<pre>08 PHP \ × 2 |
| 08 PHP | | 28 PLP /</pre>||No requirements |
| 28 PLP</pre>||Writes in stack | |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 68 PLA
| |
| 48 PHA</pre>||Clobbers A, and Z&N
| |
| |- | | |- |
| | |} |
| | |
| | |
| | === 15 cycles === |
| | {| class="wikitable testtable" |
| !colspan="2"|5 bytes | | !colspan="2"|5 bytes |
| |- | | |- |
| |<pre>A2 02 LDX #2 | | |<pre>08 PHP |
| CA DEX
| | BA TSX |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| | 28 PLP |
| | 9A TXS |
| | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| |<pre>A0 02 LDY #2 | | |<pre>C5 C5 CMP $C5 |
| 88 DEY
| | 20 xx xx JSR @rts12</pre>||Clobbers Z&N, and C; and requires @rts12 |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |- | | |- |
| |<pre>E6 xx INC @zptemp | | |<pre>24 24 BIT $24 |
| EA ... NOP × 3</pre>||Clobbers Z&N; and requires @zptemp
| | 20 xx xx JSR @rts12</pre>||Clobbers Z&N, and V; and requires @rts12 |
| |- | | |- |
| !colspan="2"|6 bytes
| | |<pre>A5 A5 LDA $A5 |
| | 20 xx xx JSR @rts12</pre>||Clobbers A, and Z&N; and requires @rts12 |
| |- | | |- |
| |<pre>18 ... CLC × 4 | | |<pre>A4 A4 LDY $A4 |
| 90 00 BCC *+2</pre>||Clobbers C
| | 20 xx xx JSR @rts12</pre>||Clobbers Y, and Z&N; and requires @rts12 |
| |- | | |- |
| |<pre>B8 ... CLV × 4
| | !colspan="2"|6 bytes |
| 50 00 BVC *+2</pre>||Clobbers V
| |
| |- | | |- |
| |<pre>85 xx STA @zptemp | | |<pre>08 PHP |
| EA ... NOP × 4</pre>||Requires @zptemp | | 28 PLP |
| | EA ... NOP × 4</pre>||No requirements |
| |- | | |- |
| |<pre>04 04 NOP $04 | | |} |
| EA ... NOP × 4</pre>||Requires support for unofficial opcodes
| | |
| | |
| | === 16 cycles === |
| | {| class="wikitable testtable" |
| | !colspan="2"|5 bytes |
| |- | | |- |
| !colspan="2"|7 bytes
| | |<pre>EA NOP |
| |-
| | 08 PHP \ × 2 |
| |<pre>4C xx xx JMP *+3 | | 28 PLP /</pre>||No requirements |
| EA ... NOP × 4</pre>||Not relocatable code | |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 12 cycles === | | === 17 cycles === |
| {| class="wikitable testtable" | | {| class="wikitable testtable" |
| !colspan="2"|3 bytes | | !colspan="2"|6 bytes |
| |- | | |- |
| |<pre>20 xx xx JSR @rts12</pre>||Requires @rts12; and writes in stack | | |<pre>08 PHP |
| | 48 PHA |
| | A5 A5 LDA $A5 |
| | 68 PLA |
| | 28 PLP</pre>||No requirements |
| |- | | |- |
| |<pre>68 ... PLA × 3</pre>||Clobbers A, S, and Z&N | | |} |
| | |
| | |
| | === 18 cycles === |
| | {| class="wikitable testtable" |
| | !colspan="2"|6 bytes |
| |- | | |- |
| !colspan="2"|4 bytes
| | |<pre>EA ... NOP × 2 |
| |-
| | 08 PHP \ × 2 |
| |<pre>36 36 ROL $36,X | | 28 PLP /</pre>||No requirements |
| 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 × 4</pre>||Clobbers S; and writes in stack
| |
| |- | | |- |
| | |} |
| | |
| | |
| | === 19 cycles === |
| | {| class="wikitable testtable" |
| !colspan="2"|5 bytes | | !colspan="2"|5 bytes |
| |- | | |- |
| |<pre>08 PHP | | |<pre>08 PHP |
| 18 CLC
| | 28 PLP |
| 90 00 BCC *+2
| | 20 xx xx JSR @rts12</pre>||Requires @rts12 |
| 28 PLP</pre>||Writes in stack | |
| |- | | |- |
| !colspan="2"|6 bytes | | !colspan="2"|6 bytes |
| |- | | |- |
| |<pre>EA ... NOP × 6</pre>||No requirements | | |<pre>08 PHP |
| | 36 36 ROL $36,X |
| | 76 36 ROR $36,X |
| | 28 PLP</pre>||No requirements |
| |- | | |- |
| |} | | |} |
| * <code>JSR-RTS</code> 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, <code>ROL-ROR</code> does not have side effects (as long as an interrupt does not happen in the middle), except for Z+N.
| |
|
| |
|
|
| |
|
| === 13 cycles === | | === 20 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>A9 2A LDA #$2A ;hides 'ROL A' |
| | 38 SEC |
| | 10 FC BPL *-2</pre>||Clobbers A, Z&N, and C |
| |- | | |- |
| !colspan="2"|4 bytes | | !colspan="2"|7 bytes |
| |- | | |- |
| |<pre>48 ... PHA × 2 | | |<pre>EA ... NOP × 3 |
| 08 PHP | | 08 PHP \ × 2 |
| 28 PLP</pre>||Clobbers S; and writes in stack | | 28 PLP /</pre>||No requirements |
| |-
| |
| |<pre>EA NOP
| |
| 68 ... PLA × 2
| |
| 48 PHA</pre>||Clobbers A, S, and Z&N
| |
| |- | | |- |
| | |} |
| | |
| | |
| | === 21 cycles === |
| | {| class="wikitable testtable" |
| !colspan="2"|5 bytes | | !colspan="2"|5 bytes |
| |- | | |- |
| |<pre>EA ... NOP × 3 | | |<pre>18 CLC |
| 08 PHP
| | A9 2A LDA #$2A ;hides 'ROL A' |
| 28 PLP</pre>||Writes in stack
| | 90 FD BCC *-1</pre>||Clobbers A, Z&N, and C |
| |- | | |- |
| |<pre>EA ... NOP × 3 | | |<pre>A2 04 LDX #4 |
| 68 PLA
| | CA DEX |
| 48 PHA</pre>||Clobbers A, and Z&N
| | 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 |
| 26 26 ROL $26
| | 28 PLP /</pre>||No requirements |
| 66 26 ROR $26</pre>||Clobbers Z&N, and C
| |
| |- | | |- |
| |<pre>24 24 BIT $24 | | |} |
| 26 26 ROL $26
| | |
| 66 26 ROR $26</pre>||Clobbers Z&N, and V
| | |
| | === 22 cycles === |
| | {| class="wikitable testtable" |
| | !colspan="2"|6 bytes |
| |- | | |- |
| |<pre>A6 A6 LDX $A6 | | |<pre>18 CLC |
| 26 26 ROL $26
| | A9 2A LDA #$2A ;hides 'ROL A' |
| 66 26 ROR $26</pre>||Clobbers X, and Z&N
| | 38 SEC |
| | 10 FC BPL *-2</pre>||Clobbers A, Z&N, and C |
| |- | | |- |
| |<pre>A4 A4 LDY $A4 | | |<pre>A2 02 LDX #2 |
| 26 26 ROL $26
| | EA NOP |
| 66 26 ROR $26</pre>||Clobbers Y, and Z&N
| | CA DEX |
| | 10 FC BPL *-2</pre>||Clobbers X, and Z&N |
| |- | | |- |
| |<pre>85 xx STA @zptemp | | |<pre>A0 03 LDY #3 |
| 26 26 ROL $26
| | EA NOP |
| 66 26 ROR $26</pre>||Clobbers Z&N; and requires @zptemp
| | 88 DEY |
| |-
| | D0 FC BNE *-2</pre>||Clobbers Y, and Z&N |
| |<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 | | !colspan="2"|7 bytes |
| |- | | |- |
| |<pre>18 ... CLC × 5 | | |<pre>08 PHP |
| 90 00 BCC *+2</pre>||Clobbers C
| | BA TSX |
| | 08 PHP |
| | 28 ... PLP × 2 |
| | 9A TXS |
| | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| |<pre>B8 ... CLV × 5 | | |<pre>08 PHP |
| 50 00 BVC *+2</pre>||Clobbers V
| | C5 C5 CMP $C5 |
| |-
| | 28 PLP |
| |<pre>4C xx xx JMP *+3
| | 20 xx xx JSR @rts12</pre>||Requires @rts12 |
| 26 26 ROL $26
| |
| 66 26 ROR $26</pre>||Clobbers Z&N; and not relocatable code
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| EA ... NOP × 5</pre>||Requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| EA ... NOP × 5</pre>||Requires support for unofficial opcodes
| |
| |- | | |- |
| !colspan="2"|8 bytes | | !colspan="2"|8 bytes |
| |- | | |- |
| |<pre>4C xx xx JMP *+3 | | |<pre>08 PHP \ × 2 |
| EA ... NOP × 5</pre>||Not relocatable code | | 28 PLP / |
| | EA ... NOP × 4</pre>||No requirements |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 14 cycles === | | === 23 cycles === |
| {| class="wikitable testtable" | | {| class="wikitable testtable" |
| !colspan="2"|3 bytes | | !colspan="2"|6 bytes |
| |- | | |- |
| |<pre>20 xx xx JSR @rts14</pre>||Requires @rts12, and @rts14; and writes in stack | | |<pre>18 ... CLC × 2 |
| | A9 2A LDA #$2A ;hides 'ROL A' |
| | 90 FD BCC *-1</pre>||Clobbers A, Z&N, and C |
| |- | | |- |
| !colspan="2"|4 bytes
| | |<pre>EA NOP |
| |-
| | A2 04 LDX #4 |
| |<pre>08 PHP \ × 2 | | CA DEX |
| 28 PLP /</pre>||Writes in stack
| | D0 FD BNE *-1</pre>||Clobbers X, and Z&N |
| |-
| |
| |<pre>68 PLA \ × 2
| |
| 48 PHA /</pre>||Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|5 bytes
| |
| |- | | |- |
| |<pre>EA NOP | | |<pre>EA NOP |
| 36 36 ROL $36,X
| | A0 04 LDY #4 |
| 76 36 ROR $36,X</pre>||Clobbers Z&N
| | 88 DEY |
| | D0 FD BNE *-1</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| !colspan="2"|7 bytes | | !colspan="2"|7 bytes |
| |- | | |- |
| |<pre>EA ... NOP × 7</pre>||No requirements | | |<pre>EA NOP |
| | 08 PHP \ × 3 |
| | 28 PLP /</pre>||No requirements |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 15 cycles === | | === 24 cycles === |
| {| class="wikitable testtable" | | {| class="wikitable testtable" |
| !colspan="2"|3 bytes | | !colspan="2"|4 bytes |
| | |- |
| | |<pre>A9 0A LDA #$0A ;hides 'ASL A' |
| | 10 FD BPL *-1</pre>||Clobbers A, Z&N, and C |
| |- | | |- |
| |<pre>20 xx xx JSR @rts15</pre>||Requires @rts12, and @rts15; and writes in stack | | !colspan="2"|6 bytes |
| |- | | |- |
| |<pre>EA NOP | | |<pre>20 xx xx JSR @rts12× 2</pre>||Requires @rts12 |
| 00 00 BRK 0</pre>||Requires dummy interrupt handler; and writes in stack
| |
| |- | | |- |
| !colspan="2"|4 bytes | | !colspan="2"|7 bytes |
| |- | | |- |
| |<pre>68 PLA | | |<pre>A6 A6 LDX $A6 |
| 48 PHA
| | A2 04 LDX #4 |
| 68 ... PLA × 2</pre>||Clobbers A, S, and Z&N
| | CA DEX |
| | D0 FD BNE *-1</pre>||Clobbers X, and Z&N |
| |- | | |- |
| |<pre>48 PHA | | |<pre>A4 A4 LDY $A4 |
| 20 xx xx JSR @rts12</pre>||Clobbers S; requires @rts12; and writes in stack
| | A0 04 LDY #4 |
| | 88 DEY |
| | D0 FD BNE *-1</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| !colspan="2"|5 bytes | | !colspan="2"|8 bytes |
| |- | | |- |
| |<pre>08 PHP | | |<pre>08 PHP |
| BA TSX
| | C5 C5 CMP $C5 |
| 28 PLP | | 28 PLP \ × 2 |
| 9A TXS
| | 08 PHP / |
| 28 PLP</pre>||Clobbers X; and writes in stack | | 28 PLP</pre>||No requirements |
| |- | | |- |
| |<pre>68 PLA | | |} |
| 48 PHA
| | |
| BA TSX
| | |
| 68 PLA
| | === 25 cycles === |
| 9A TXS</pre>||Clobbers A, X, and Z&N; and unsafe for interrupts
| | {| class="wikitable testtable" |
| | !colspan="2"|7 bytes |
| |- | | |- |
| |<pre>C5 C5 CMP $C5 | | |<pre>98 TYA |
| 20 xx xx JSR @rts12</pre>||Clobbers Z&N, and C; requires @rts12; and writes in stack
| | A0 04 LDY #4 |
| | 88 DEY |
| | D0 FD BNE *-1 |
| | A8 TAY</pre>||Clobbers A, and Z&N |
| |- | | |- |
| |<pre>24 24 BIT $24 | | |<pre>EA ... NOP × 2 |
| 20 xx xx JSR @rts12</pre>||Clobbers Z&N, and V; requires @rts12; and writes in stack
| | A2 04 LDX #4 |
| | CA DEX |
| | D0 FD BNE *-1</pre>||Clobbers X, and Z&N |
| |- | | |- |
| |<pre>A5 A5 LDA $A5 | | |<pre>EA ... NOP × 2 |
| 20 xx xx JSR @rts12</pre>||Clobbers A, and Z&N; requires @rts12; and writes in stack
| | A0 04 LDY #4 |
| | 88 DEY |
| | D0 FD BNE *-1</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| |<pre>A4 A4 LDY $A4 | | !colspan="2"|8 bytes |
| 20 xx xx JSR @rts12</pre>||Clobbers Y, and Z&N; requires @rts12; and writes in stack
| |
| |- | | |- |
| |<pre>85 xx STA @zptemp | | |<pre>EA ... NOP × 2 |
| 20 xx xx JSR @rts12</pre>||Requires @zptemp, and @rts12; and writes in stack
| | 08 PHP \ × 3 |
| | 28 PLP /</pre>||No requirements |
| |- | | |- |
| |<pre>04 04 NOP $04 | | |} |
| 20 xx xx JSR @rts12</pre>||Requires @rts12, and support for unofficial opcodes; and writes in stack
| | |
| | |
| | === 26 cycles === |
| | {| class="wikitable testtable" |
| | !colspan="2"|5 bytes |
| |- | | |- |
| |<pre>48 ... PHA × 5</pre>||Clobbers S; and writes in stack | | |<pre>18 CLC |
| | A9 0A LDA #$0A ;hides 'ASL A' |
| | 10 FD BPL *-1</pre>||Clobbers A, Z&N, and C |
| |- | | |- |
| !colspan="2"|6 bytes
| | |<pre>A2 04 LDX #4 |
| | CA DEX |
| | 10 FD BPL *-1</pre>||Clobbers X, and Z&N |
| |- | | |- |
| |<pre>C5 C5 CMP $C5 | | |<pre>A0 05 LDY #5 |
| 36 36 ROL $36,X
| | 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"|7 bytes |
| | |- |
| | |<pre>EA NOP |
| | 20 xx xx JSR @rts12× 2</pre>||Requires @rts12 |
| | |- |
| | !colspan="2"|8 bytes |
| | |- |
| | |<pre>08 PHP |
| | 48 PHA |
| 36 36 ROL $36,X | | 36 36 ROL $36,X |
| 76 36 ROR $36,X</pre>||Clobbers Z&N, and V | | 76 36 ROR $36,X |
| | 68 PLA |
| | 28 PLP</pre>||No requirements |
| |- | | |- |
| |<pre>08 PHP | | |} |
| 28 PLP
| | |
| EA ... NOP × 4</pre>||Writes in stack
| | |
| | === 27 cycles === |
| | {| class="wikitable testtable" |
| | !colspan="2"|6 bytes |
| |- | | |- |
| |<pre>A5 A5 LDA $A5 | | |<pre>A5 A5 LDA $A5 |
| 36 36 ROL $36,X
| | A9 0A LDA #$0A ;hides 'ASL A' |
| 76 36 ROR $36,X</pre>||Clobbers A, and Z&N
| | 10 FD BPL *-1</pre>||Clobbers A, Z&N, and C |
| |- | | |- |
| |<pre>A6 A6 LDX $A6 | | !colspan="2"|7 bytes |
| 36 36 ROL $36,X
| |
| 76 36 ROR $36,X</pre>||Clobbers X, and Z&N
| |
| |- | | |- |
| |<pre>A4 A4 LDY $A4 | | |<pre>48 PHA |
| 36 36 ROL $36,X
| | A9 2A LDA #$2A ;hides 'ROL A' |
| 76 36 ROR $36,X</pre>||Clobbers Y, and Z&N
| | 38 SEC |
| | 10 FC BPL *-2 |
| | 68 PLA</pre>||Clobbers Z&N, and C |
| |- | | |- |
| |<pre>E6 xx INC @zptemp | | |<pre>08 PHP |
| 26 26 ROL $26
| | A9 2A LDA #$2A ;hides 'ROL A' |
| 66 26 ROR $26</pre>||Clobbers Z&N; and requires @zptemp
| | 38 SEC |
| | 10 FC BPL *-2 |
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| |<pre>04 04 NOP $04 | | |<pre>24 2C BIT <$2C ;hides 'BIT $FDA2' |
| 36 36 ROL $36,X
| | A2 FD LDX #253 |
| 76 36 ROR $36,X</pre>||Clobbers Z&N; and requires support for unofficial opcodes
| | E8 INX |
| | D0 FA BNE *-4</pre>||Clobbers X, Z&N, and V |
| |- | | |- |
| !colspan="2"|7 bytes
| | |<pre>24 2C BIT <$2C ;hides 'BIT $FDA0' |
| | A0 FD LDY #253 |
| | C8 INY |
| | D0 FA BNE *-4</pre>||Clobbers Y, Z&N, and V |
| |- | | |- |
| |<pre>4C xx xx JMP *+3 | | |<pre>A4 AC LDY <$AC ;hides 'LDY $82A2' |
| 36 36 ROL $36,X
| | A2 82 LDX #130 |
| 76 36 ROR $36,X</pre>||Clobbers Z&N; and not relocatable code
| | CA DEX |
| | 30 FA BMI *-4</pre>||Clobbers X, Y, and Z&N |
| |- | | |- |
| !colspan="2"|8 bytes | | !colspan="2"|8 bytes |
| |- | | |- |
| |<pre>18 ... CLC × 6 | | |<pre>EA ... NOP × 3 |
| 90 00 BCC *+2</pre>||Clobbers C
| | A2 04 LDX #4 |
| | CA DEX |
| | D0 FD BNE *-1</pre>||Clobbers X, and Z&N |
| |- | | |- |
| |<pre>B8 ... CLV × 6 | | |<pre>EA ... NOP × 3 |
| 50 00 BVC *+2</pre>||Clobbers V
| | A0 04 LDY #4 |
| | 88 DEY |
| | D0 FD BNE *-1</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| |<pre>85 xx STA @zptemp | | |<pre>24 24 BIT $24 |
| EA ... NOP × 6</pre>||Requires @zptemp
| | 20 xx xx JSR @rts12× 2</pre>||Clobbers Z&N, and V; and requires @rts12 |
| |- | | |- |
| |<pre>04 04 NOP $04 | | |<pre>20 xx xx JSR @rts12 |
| EA ... NOP × 6</pre>||Requires support for unofficial opcodes
| | 08 PHP |
| | BA TSX |
| | 28 PLP |
| | 9A TXS |
| | 28 PLP</pre>||Clobbers X; and requires @rts12 |
| |- | | |- |
| !colspan="2"|9 bytes | | !colspan="2"|9 bytes |
| |- | | |- |
| |<pre>4C xx xx JMP *+3 | | |<pre>EA ... NOP × 3 |
| EA ... NOP × 6</pre>||Not relocatable code | | 08 PHP \ × 3 |
| | 28 PLP /</pre>||No requirements |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 16 cycles === | | === 28 cycles === |
| {| class="wikitable testtable" | | {| class="wikitable testtable" |
| !colspan="2"|3 bytes | | !colspan="2"|6 bytes |
| |- | | |- |
| |<pre>48 PHA | | |<pre>38 ... SEC × 2 |
| 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</pre>||Clobbers A, Z&N, and C |
| !colspan="2"|4 bytes
| |
| |- | | |- |
| |<pre>EA NOP | | |<pre>EA NOP |
| 20 xx xx JSR @rts14</pre>||Requires @rts12, and @rts14; and writes in stack
| | A2 04 LDX #4 |
| | CA DEX |
| | 10 FD BPL *-1</pre>||Clobbers X, and Z&N |
| |- | | |- |
| |<pre>C5 C5 CMP $C5 | | |<pre>EA NOP |
| 00 00 BRK 0</pre>||Clobbers Z&N, and C; requires dummy interrupt handler; and writes in stack
| | A0 05 LDY #5 |
| | 88 DEY |
| | D0 FD BNE *-1</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| |<pre>24 24 BIT $24 | | !colspan="2"|7 bytes |
| 00 00 BRK 0</pre>||Clobbers Z&N, and V; requires dummy interrupt handler; and writes in stack
| |
| |- | | |- |
| |<pre>A5 A5 LDA $A5 | | |<pre>48 PHA |
| 00 00 BRK 0</pre>||Clobbers A, and Z&N; requires dummy interrupt handler; 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>A6 A6 LDX $A6 | | |<pre>08 PHP |
| 00 00 BRK 0</pre>||Clobbers X, and Z&N; requires dummy interrupt handler; and writes in stack
| | 18 CLC |
| | A9 2A LDA #$2A ;hides 'ROL A' |
| | 90 FD BCC *-1 |
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| |<pre>A4 A4 LDY $A4 | | |<pre>08 PHP |
| 00 00 BRK 0</pre>||Clobbers Y, and Z&N; requires dummy interrupt handler; and writes in stack
| | A2 04 LDX #4 |
| |-
| |
| |<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 × 4</pre>||Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP \ × 2 | |
| 28 PLP /</pre>||Writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 68 PLA \ × 2
| |
| 48 PHA /</pre>||Clobbers A, and Z&N
| |
| |-
| |
| |<pre>A2 03 LDX #3
| |
| CA DEX | | CA DEX |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N | | D0 FD BNE *-1 |
| | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| |<pre>A0 03 LDY #3 | | |<pre>08 PHP |
| | A0 04 LDY #4 |
| 88 DEY | | 88 DEY |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N | | D0 FD BNE *-1 |
| |-
| | 28 PLP</pre>||Clobbers Y |
| !colspan="2"|6 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 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 × 8</pre>||No requirements | | |<pre>08 PHP \ × 4 |
| | 28 PLP /</pre>||No requirements |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 17 cycles === | | === 29 cycles === |
| {| class="wikitable testtable" | | {| class="wikitable testtable" |
| !colspan="2"|3 bytes | | !colspan="2"|6 bytes |
| |- | | |- |
| |<pre>68 PLA | | |<pre>18 CLC |
| 00 00 BRK 0</pre>||Clobbers A, S, and Z&N; requires dummy interrupt handler; and writes in stack
| | A9 2A LDA #$2A ;hides 'ROL A' |
| | EA NOP |
| | 90 FC BCC *-2</pre>||Clobbers A, Z&N, and C |
| |- | | |- |
| !colspan="2"|4 bytes
| | |<pre>A2 04 LDX #4 |
| | EA NOP |
| | CA DEX |
| | D0 FC BNE *-2</pre>||Clobbers X, and Z&N |
| |- | | |- |
| |<pre>EA NOP | | |<pre>A0 04 LDY #4 |
| 20 xx xx JSR @rts15</pre>||Requires @rts12, and @rts15; and writes in stack
| | EA NOP |
| | 88 DEY |
| | D0 FC BNE *-2</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| |<pre>EA ... NOP × 2
| | !colspan="2"|8 bytes |
| 00 00 BRK 0</pre>||Requires dummy interrupt handler; and writes in stack
| |
| |- | | |- |
| |<pre>48 PHA | | |<pre>48 PHA |
| 20 xx xx JSR @rts14</pre>||Clobbers S; requires @rts12, and @rts14; and writes in stack
| | 18 CLC |
| |-
| | A9 2A LDA #$2A ;hides 'ROL A' |
| !colspan="2"|5 bytes
| | 38 SEC |
| | 10 FC BPL *-2 |
| | 68 PLA</pre>||Clobbers Z&N, and C |
| |- | | |- |
| |<pre>E6 xx INC @zptemp | | |<pre>08 PHP |
| 20 xx xx JSR @rts12</pre>||Clobbers Z&N; requires @zptemp, and @rts12; and writes in stack
| | 18 CLC |
| | A9 2A LDA #$2A ;hides 'ROL A' |
| | 38 SEC |
| | 10 FC BPL *-2 |
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| |<pre>C5 C5 CMP $C5 | | |<pre>08 PHP |
| 20 xx xx JSR @rts14</pre>||Clobbers Z&N, and C; requires @rts12, and @rts14; and writes in stack
| | A2 02 LDX #2 |
| | EA NOP |
| | CA DEX |
| | 10 FC BPL *-2 |
| | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| |<pre>24 24 BIT $24 | | |<pre>08 PHP |
| 20 xx xx JSR @rts14</pre>||Clobbers Z&N, and V; requires @rts12, and @rts14; and writes in stack
| | A0 03 LDY #3 |
| | EA NOP |
| | 88 DEY |
| | D0 FC BNE *-2 |
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| |<pre>A5 A5 LDA $A5 | | !colspan="2"|9 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 | | |<pre>08 PHP |
| 20 xx xx JSR @rts14</pre>||Clobbers X, and Z&N; requires @rts12, and @rts14; and writes in stack | | 28 PLP |
| | 08 PHP |
| | C5 C5 CMP $C5 |
| | 28 PLP |
| | 20 xx xx JSR @rts12</pre>||Requires @rts12 |
| |- | | |- |
| |<pre>A4 A4 LDY $A4 | | !colspan="2"|10 bytes |
| 20 xx xx JSR @rts14</pre>||Clobbers Y, and Z&N; requires @rts12, and @rts14; and writes in stack
| |
| |- | | |- |
| |<pre>85 xx STA @zptemp | | |<pre>08 PHP |
| 20 xx xx JSR @rts14</pre>||Requires @zptemp, @rts12, and @rts14; and writes in stack
| | C5 C5 CMP $C5 |
| | 28 PLP |
| | 08 PHP |
| | 36 36 ROL $36,X |
| | 76 36 ROR $36,X |
| | 28 PLP</pre>||No requirements |
| |- | | |- |
| |<pre>04 04 NOP $04 | | |} |
| 20 xx xx JSR @rts14</pre>||Requires @rts12, @rts14, and support for unofficial opcodes; and writes in stack
| | |
| | |
| | === 30 cycles === |
| | {| class="wikitable testtable" |
| | !colspan="2"|7 bytes |
| |- | | |- |
| |<pre>48 PHA | | |<pre>98 TYA |
| 08 PHP \ × 2
| | A0 05 LDY #5 |
| 28 PLP /</pre>||Clobbers S; and writes in stack
| | 88 DEY |
| | D0 FD BNE *-1 |
| | A8 TAY</pre>||Clobbers A, and Z&N |
| |- | | |- |
| |<pre>EA NOP | | |<pre>EA ... NOP × 2 |
| 68 PLA
| | A2 04 LDX #4 |
| 48 PHA
| | CA DEX |
| 68 ... PLA × 2</pre>||Clobbers A, S, and Z&N
| | 10 FD BPL *-1</pre>||Clobbers X, and Z&N |
| |- | | |- |
| !colspan="2"|6 bytes
| | |<pre>EA ... NOP × 2 |
| | A0 05 LDY #5 |
| | 88 DEY |
| | D0 FD BNE *-1</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| |<pre>08 PHP | | !colspan="2"|8 bytes |
| 26 26 ROL $26
| |
| 66 26 ROR $26
| |
| 28 PLP</pre>||Writes in stack
| |
| |- | | |- |
| |<pre>68 PLA | | |<pre>48 PHA |
| 48 PHA | | 18 ... CLC × 2 |
| 26 26 ROL $26
| | A9 2A LDA #$2A ;hides 'ROL A' |
| 66 26 ROR $26</pre>||Clobbers A, and Z&N
| | 90 FD BCC *-1 |
| | 68 PLA</pre>||Clobbers Z&N, and C |
| |- | | |- |
| |<pre>E6 xx INC @zptemp | | |<pre>08 PHP |
| 36 36 ROL $36,X
| | 18 ... CLC × 2 |
| 76 36 ROR $36,X</pre>||Clobbers Z&N; and requires @zptemp
| | A9 2A LDA #$2A ;hides 'ROL A' |
| |-
| | 90 FD BCC *-1 |
| !colspan="2"|7 bytes
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| |<pre>EA NOP | | |<pre>EA NOP |
| C5 C5 CMP $C5
| | 08 PHP |
| 36 36 ROL $36,X
| | A2 04 LDX #4 |
| 76 36 ROR $36,X</pre>||Clobbers Z&N, and C
| | CA DEX |
| | D0 FD BNE *-1 |
| | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| |<pre>EA NOP | | |<pre>EA NOP |
| 24 24 BIT $24
| | 08 PHP |
| 36 36 ROL $36,X
| | A0 04 LDY #4 |
| 76 36 ROR $36,X</pre>||Clobbers Z&N, and V
| | 88 DEY |
| |-
| | D0 FD BNE *-1 |
| |<pre>EA NOP
| | 28 PLP</pre>||Clobbers Y |
| A4 A4 LDY $A4
| |
| 36 36 ROL $36,X
| |
| 76 36 ROR $36,X</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A6 A6 LDX $A6
| |
| 36 36 ROL $36,X
| |
| 76 36 ROR $36,X</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| 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"|8 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 4C xx xx JMP *+3
| |
| 36 36 ROL $36,X
| |
| 76 36 ROR $36,X</pre>||Clobbers Z&N; and not relocatable code
| |
| |- | | |- |
| !colspan="2"|9 bytes | | !colspan="2"|9 bytes |
| |- | | |- |
| |<pre>18 ... CLC × 7 | | |<pre>08 PHP |
| 90 00 BCC *+2</pre>||Clobbers C | | 48 PHA |
| |-
| | 18 CLC |
| |<pre>B8 ... CLV × 7
| | A9 6A LDA #$6A ;hides 'ROR A' |
| 50 00 BVC *+2</pre>||Clobbers V
| | 90 FD BCC *-1 |
| |-
| | 68 PLA |
| |<pre>85 xx STA @zptemp
| | 28 PLP</pre>||No requirements |
| EA ... NOP × 7</pre>||Requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| EA ... NOP × 7</pre>||Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>4C xx xx JMP *+3
| |
| EA ... NOP × 7</pre>||Not relocatable code
| |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 18 cycles === | | === 31 cycles === |
| {| class="wikitable testtable" | | {| class="wikitable testtable" |
| !colspan="2"|4 bytes | | !colspan="2"|5 bytes |
| |- | | |- |
| |<pre>E6 xx INC @zptemp | | |<pre>18 CLC |
| 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' |
| | 90 FD BCC *-1</pre>||Clobbers A, Z&N, and C |
| |- | | |- |
| |<pre>48 PHA | | |<pre>A2 05 LDX #5 |
| 20 xx xx JSR @rts15</pre>||Clobbers S; requires @rts12, and @rts15; and writes in stack
| | CA DEX |
| | 10 FD BPL *-1</pre>||Clobbers X, and Z&N |
| |- | | |- |
| |<pre>68 PLA | | |<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 |
| | D0 FD BNE *-1</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| |<pre>EA NOP | | !colspan="2"|6 bytes |
| 48 PHA
| |
| 00 00 BRK 0</pre>||Clobbers S; requires dummy interrupt handler; and writes in stack
| |
| |- | | |- |
| !colspan="2"|5 bytes
| | |<pre>48 PHA |
| | A9 0A LDA #$0A ;hides 'ASL A' |
| | 10 FD BPL *-1 |
| | 68 PLA</pre>||Clobbers Z&N, and C |
| |- | | |- |
| |<pre>EA ... NOP × 2 | | |<pre>08 PHP |
| 20 xx xx JSR @rts14</pre>||Requires @rts12, and @rts14; and writes in stack
| | A9 0A LDA #$0A ;hides 'ASL A' |
| |-
| | 10 FD BPL *-1 |
| |<pre>C5 C5 CMP $C5
| | 28 PLP</pre>||Clobbers A |
| 20 xx xx JSR @rts15</pre>||Clobbers Z&N, and C; requires @rts12, and @rts15; and writes in stack
| |
| |- | | |- |
| |<pre>24 24 BIT $24 | | !colspan="2"|8 bytes |
| 20 xx xx JSR @rts15</pre>||Clobbers Z&N, and V; requires @rts12, and @rts15; and writes in stack
| |
| |- | | |- |
| |<pre>A5 A5 LDA $A5 | | |<pre>08 PHP |
| 20 xx xx JSR @rts15</pre>||Clobbers A, and Z&N; requires @rts12, and @rts15; and writes in stack | | 28 PLP |
| | 20 xx xx JSR @rts12× 2</pre>||Requires @rts12 |
| |- | | |- |
| |<pre>A6 A6 LDX $A6 | | !colspan="2"|9 bytes |
| 20 xx xx JSR @rts15</pre>||Clobbers X, and Z&N; requires @rts12, and @rts15; and writes in stack
| |
| |- | | |- |
| |<pre>A4 A4 LDY $A4 | | |<pre>08 PHP |
| 20 xx xx JSR @rts15</pre>||Clobbers Y, and Z&N; requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| 20 xx xx JSR @rts15</pre>||Requires @zptemp, @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<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
| |
| 90 00 BCC *+2
| |
| 00 00 BRK 0</pre>||Clobbers C; requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>B8 CLV
| |
| 50 00 BVC *+2
| |
| 00 00 BRK 0</pre>||Clobbers V; requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| A5 A5 LDA $A5
| |
| 00 00 BRK 0</pre>||Clobbers A, and Z&N; requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| A6 A6 LDX $A6 | | 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 |
| | CA DEX |
| | D0 FD BNE *-1 |
| | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| |<pre>EA NOP | | |<pre>08 PHP |
| A4 A4 LDY $A4 | | A4 A4 LDY $A4 |
| 00 00 BRK 0</pre>||Clobbers Y, and Z&N; requires dummy interrupt handler; and writes in stack
| | A0 04 LDY #4 |
| | 88 DEY |
| | D0 FD BNE *-1 |
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| |<pre>EA NOP | | !colspan="2"|10 bytes |
| 85 xx STA @zptemp
| | |- |
| 00 00 BRK 0</pre>||Requires @zptemp, and dummy interrupt handler; and writes in stack
| | |<pre>08 PHP |
| | 36 36 ROL $36,X \ × 2 |
| | 76 36 ROR $36,X / |
| | 28 PLP</pre>||No requirements |
| |- | | |- |
| |<pre>EA NOP | | |} |
| 04 04 NOP $04
| | |
| 00 00 BRK 0</pre>||Requires dummy interrupt handler, and support for unofficial opcodes; and writes in stack
| | |
| | === 32 cycles === |
| | {| class="wikitable testtable" |
| | !colspan="2"|6 bytes |
| |- | | |- |
| |<pre>EA NOP | | |<pre>A2 05 LDX #5 ;hides 'ORA zp' |
| 68 ... PLA × 4</pre>||Clobbers A, S, and Z&N
| | CA DEX ;first loop only |
| | CA DEX |
| | D0 FB BNE *-3</pre>||Clobbers A, X, and Z&N |
| |- | | |- |
| |<pre>48 ... PHA × 2 | | |<pre>A0 05 LDY #5 ;hides 'ORA zp' |
| 20 xx xx JSR @rts12</pre>||Clobbers S; requires @rts12; and writes in stack
| | 88 DEY ;first loop only |
| | 88 DEY |
| | D0 FB BNE *-3</pre>||Clobbers A, Y, and Z&N |
| |- | | |- |
| !colspan="2"|6 bytes | | !colspan="2"|7 bytes |
| |- | | |- |
| |<pre>EA ... NOP × 2 | | |<pre>A9 2A LDA #$2A ;hides 'ROL A' |
| 08 PHP \ × 2
| | EA ... NOP × 3 |
| 28 PLP /</pre>||Writes in stack
| | 10 FA BPL *-4</pre>||Clobbers A, Z&N, and C |
| |- | | |- |
| |<pre>EA ... NOP × 2
| | !colspan="2"|8 bytes |
| 68 PLA \ × 2
| |
| 48 PHA /</pre>||Clobbers A, and Z&N
| |
| |- | | |- |
| |<pre>EA NOP | | |<pre>EA NOP |
| A0 03 LDY #3 | | 98 TYA |
| | A0 05 LDY #5 |
| 88 DEY | | 88 DEY |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N | | D0 FD BNE *-1 |
| | A8 TAY</pre>||Clobbers A, and Z&N |
| |- | | |- |
| |<pre>EA NOP | | |<pre>A6 A6 LDX $A6 |
| A2 03 LDX #3 | | A2 04 LDX #4 |
| | EA NOP |
| CA DEX | | CA DEX |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N | | D0 FC BNE *-2</pre>||Clobbers X, and Z&N |
| |- | | |- |
| !colspan="2"|7 bytes
| | |<pre>A4 A4 LDY $A4 |
| |-
| | A0 04 LDY #4 |
| |<pre>EA ... NOP × 3 | | EA NOP |
| 36 36 ROL $36,X
| | 88 DEY |
| 76 36 ROR $36,X</pre>||Clobbers Z&N
| | D0 FC BNE *-2</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| !colspan="2"|9 bytes | | !colspan="2"|9 bytes |
| |- | | |- |
| |<pre>EA ... NOP × 9</pre>||No requirements | | |<pre>48 PHA |
| | 98 TYA |
| | A0 04 LDY #4 |
| | 88 DEY |
| | D0 FD BNE *-1 |
| | A8 TAY |
| | 68 PLA</pre>||Clobbers Z&N |
| |- | | |- |
| |} | | |<pre>08 PHP |
| | | 98 TYA |
| | | A0 04 LDY #4 |
| === 19 cycles ===
| | 88 DEY |
| {| class="wikitable testtable"
| | D0 FD BNE *-1 |
| !colspan="2"|4 bytes
| | A8 TAY |
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| |<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
| | 08 PHP |
| | A2 04 LDX #4 |
| | CA DEX |
| | D0 FD BNE *-1 |
| | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| |<pre>48 ... PHA × 2 | | |<pre>EA ... NOP × 2 |
| 00 00 BRK 0</pre>||Clobbers S; requires dummy interrupt handler; and writes in stack
| | 08 PHP |
| | A0 04 LDY #4 |
| | 88 DEY |
| | D0 FD BNE *-1 |
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| !colspan="2"|5 bytes | | !colspan="2"|10 bytes |
| |- | | |- |
| |<pre>08 PHP | | |<pre>08 PHP |
| 28 PLP
| |
| 20 xx xx JSR @rts12</pre>||Requires @rts12; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 00 00 BRK 0</pre>||Requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>68 PLA
| |
| 48 PHA | | 48 PHA |
| 68 ... PLA × 3</pre>||Clobbers A, S, and Z&N
| | 18 ... CLC × 2 |
| | A9 6A LDA #$6A ;hides 'ROR A' |
| | 90 FD BCC *-1 |
| | 68 PLA |
| | 28 PLP</pre>||No requirements |
| |- | | |- |
| | |} |
| | |
| | |
| | === 33 cycles === |
| | {| class="wikitable testtable" |
| !colspan="2"|6 bytes | | !colspan="2"|6 bytes |
| |- | | |- |
| |<pre>08 PHP | | |<pre>18 ... CLC × 2 |
| 36 36 ROL $36,X
| | A9 0A LDA #$0A ;hides 'ASL A' |
| 76 36 ROR $36,X
| | 90 FD BCC *-1</pre>||Clobbers A, Z&N, and C |
| 28 PLP</pre>||Writes in stack
| |
| |- | | |- |
| |<pre>68 PLA | | |<pre>EA NOP |
| 48 PHA
| | A2 05 LDX #5 |
| 36 36 ROL $36,X
| | CA DEX |
| 76 36 ROR $36,X</pre>||Clobbers A, and Z&N
| | 10 FD BPL *-1</pre>||Clobbers X, and Z&N |
| |- | | |- |
| !colspan="2"|7 bytes
| | |<pre>EA NOP |
| |-
| | A0 06 LDY #6 |
| |<pre>A6 A6 LDX $A6 | |
| A2 03 LDX #3
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 03 LDY #3 | |
| 88 DEY | | 88 DEY |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N | | D0 FD BNE *-1</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| |<pre>EA NOP | | !colspan="2"|7 bytes |
| E6 xx INC @zptemp
| |
| 36 36 ROL $36,X
| |
| 76 36 ROR $36,X</pre>||Clobbers Z&N; and requires @zptemp
| |
| |- | | |- |
| !colspan="2"|8 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 |
| |- | | |- |
| |<pre>C5 C5 CMP $C5 | | |<pre>08 PHP |
| EA ... NOP × 2
| | 18 CLC |
| 36 36 ROL $36,X
| | A9 0A LDA #$0A ;hides 'ASL A' |
| 76 36 ROR $36,X</pre>||Clobbers Z&N, and C
| | 10 FD BPL *-1 |
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| |<pre>24 24 BIT $24 | | |<pre>08 PHP |
| EA ... NOP × 2
| | A2 04 LDX #4 |
| 36 36 ROL $36,X
| | CA DEX |
| 76 36 ROR $36,X</pre>||Clobbers Z&N, and V
| | 10 FD BPL *-1 |
| | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| |<pre>04 04 NOP $04 | | |<pre>08 PHP |
| EA ... NOP × 2
| | A0 05 LDY #5 |
| 36 36 ROL $36,X
| | 88 DEY |
| 76 36 ROR $36,X</pre>||Clobbers Z&N; and requires support for unofficial opcodes
| | D0 FD BNE *-1 |
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| !colspan="2"|9 bytes | | !colspan="2"|9 bytes |
| |- | | |- |
| |<pre>4C xx xx JMP *+3 | | |<pre>EA NOP |
| EA ... NOP × 2 | | 08 PHP |
| 36 36 ROL $36,X
| | 28 PLP |
| 76 36 ROR $36,X</pre>||Clobbers Z&N; and not relocatable code
| | 20 xx xx JSR @rts12× 2</pre>||Requires @rts12 |
| |- | | |- |
| !colspan="2"|10 bytes | | !colspan="2"|10 bytes |
| |- | | |- |
| |<pre>18 ... CLC × 8 | | |<pre>08 PHP \ × 2 |
| 90 00 BCC *+2</pre>||Clobbers C
| | 28 PLP / |
| |-
| | 08 PHP |
| |<pre>B8 ... CLV × 8
| | 36 36 ROL $36,X |
| 50 00 BVC *+2</pre>||Clobbers V
| | 76 36 ROR $36,X |
| |-
| | 28 PLP</pre>||No requirements |
| |<pre>85 xx STA @zptemp
| |
| EA ... NOP × 8</pre>||Requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| EA ... NOP × 8</pre>||Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>4C xx xx JMP *+3
| |
| EA ... NOP × 8</pre>||Not relocatable code
| |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 20 cycles === | | === 34 cycles === |
| {| class="wikitable testtable" | | {| 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 | | !colspan="2"|5 bytes |
| |- | | |- |
| |<pre>A9 2A LDA #$2A ;hides 'ROL A' | | |<pre>A9 0A LDA #$0A ;hides 'ASL A' |
| 18 CLC | | 18 CLC |
| 10 FC BPL *-2</pre>||Clobbers A, Z&N, and C | | 10 FC BPL *-2</pre>||Clobbers A, Z&N, and C |
| |- | | |- |
| |<pre>E6 xx INC @zptemp | | |<pre>A0 88 LDY #136 ;hides 'DEY' |
| 20 xx xx JSR @rts15</pre>||Clobbers Z&N; requires @zptemp, @rts12, and @rts15; and writes in stack
| | 88 DEY |
| | 30 FC BMI *-2</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| |<pre>68 ... PLA × 5</pre>||Clobbers A, S, and Z&N | | !colspan="2"|7 bytes |
| |- | | |- |
| |<pre>48 ... PHA × 2 | | |<pre>A6 A6 LDX $A6 |
| 20 xx xx JSR @rts14</pre>||Clobbers S; requires @rts12, and @rts14; 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 |
| | |- |
| | |<pre>C5 C5 CMP $C5 |
| 48 PHA | | 48 PHA |
| 20 xx xx JSR @rts15</pre>||Clobbers S; requires @rts12, and @rts15; and writes in stack
| | A9 0A LDA #$0A ;hides 'ASL A' |
| | 10 FD BPL *-1 |
| | 68 PLA</pre>||Clobbers Z&N, and C |
| |- | | |- |
| !colspan="2"|6 bytes
| | |<pre>08 PHP |
| | A5 A5 LDA $A5 |
| | A9 0A LDA #$0A ;hides 'ASL A' |
| | 10 FD BPL *-1 |
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| |<pre>BA TSX | | !colspan="2"|9 bytes |
| 68 ... PLA × 4
| |
| 9A TXS</pre>||Clobbers A, X, and Z&N; and unsafe for interrupts
| |
| |- | | |- |
| |<pre>EA ... NOP × 3 | | |<pre>08 PHP |
| 20 xx xx JSR @rts14</pre>||Requires @rts12, and @rts14; and 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>18 CLC | | |} |
| 90 00 BCC *+2
| | |
| 20 xx xx JSR @rts15</pre>||Clobbers C; requires @rts12, and @rts15; and writes in stack
| | |
| | === 35 cycles === |
| | {| class="wikitable testtable" |
| | !colspan="2"|6 bytes |
| |- | | |- |
| |<pre>B8 CLV | | |<pre>A9 2A LDA #$2A ;hides 'ROL A' |
| 50 00 BVC *+2
| | 08 PHP |
| 20 xx xx JSR @rts15</pre>||Clobbers V; requires @rts12, and @rts15; and writes in stack
| | 28 PLP |
| | 10 FB BPL *-3</pre>||Clobbers A, Z&N, and C |
| |- | | |- |
| |<pre>EA NOP | | |<pre>A2 F8 LDX #248 ;hides 'SED' |
| A5 A5 LDA $A5
| | E8 ... INX × 2 |
| 20 xx xx JSR @rts15</pre>||Clobbers A, and Z&N; requires @rts12, and @rts15; and writes in stack
| | D0 FB BNE *-3</pre>||Clobbers X, Z&N, and D |
| |- | | |- |
| |<pre>EA NOP | | |<pre>A0 88 LDY #136 ;hides 'DEY' |
| A6 A6 LDX $A6
| | 88 ... DEY × 2 |
| 20 xx xx JSR @rts15</pre>||Clobbers X, and Z&N; requires @rts12, and @rts15; and writes in stack
| | 30 FB BMI *-3</pre>||Clobbers Y, and Z&N |
| |-
| |
| |<pre>EA NOP
| |
| A4 A4 LDY $A4
| |
| 20 xx xx JSR @rts15</pre>||Clobbers Y, and Z&N; requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 85 xx STA @zptemp
| |
| 20 xx xx JSR @rts15</pre>||Requires @zptemp, @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<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 × 2
| |
| 08 PHP \ × 2
| |
| 28 PLP /</pre>||Clobbers S; and writes in stack
| |
| |- | | |- |
| !colspan="2"|7 bytes | | !colspan="2"|7 bytes |
| |- | | |- |
| |<pre>EA ... NOP × 3 | | |<pre>98 TYA |
| 08 PHP \ × 2
| | A0 06 LDY #6 |
| 28 PLP /</pre>||Writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 68 PLA \ × 2
| |
| 48 PHA /</pre>||Clobbers A, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 03 LDY #3 | |
| 88 DEY | | 88 DEY |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N | | D0 FD BNE *-1 |
| | A8 TAY</pre>||Clobbers A, and Z&N |
| |- | | |- |
| |<pre>EA ... NOP × 2 | | |<pre>EA ... NOP × 2 |
| A2 03 LDX #3 | | A2 05 LDX #5 |
| CA DEX | | CA DEX |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| | 10 FD BPL *-1</pre>||Clobbers X, and Z&N |
| |- | | |- |
| !colspan="2"|8 bytes | | !colspan="2"|8 bytes |
| |- | | |- |
| |<pre>26 26 ROL $26 \ × 2 | | |<pre>48 PHA |
| 66 26 ROR $26 /</pre>||Clobbers Z&N
| | 38 ... SEC × 2 |
| | A9 0A LDA #$0A ;hides 'ASL A' |
| | 10 FD BPL *-1 |
| | 68 PLA</pre>||Clobbers Z&N, and C |
| |- | | |- |
| !colspan="2"|10 bytes
| | |<pre>08 PHP |
| | 38 ... SEC × 2 |
| | A9 0A LDA #$0A ;hides 'ASL A' |
| | 10 FD BPL *-1 |
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| |<pre>EA ... NOP × 10</pre>||No requirements | | |<pre>EA NOP |
| | 08 PHP |
| | A2 04 LDX #4 |
| | CA DEX |
| | 10 FD BPL *-1 |
| | 28 PLP</pre>||Clobbers X |
| | |- |
| | |<pre>EA NOP |
| | 08 PHP |
| | A0 05 LDY #5 |
| | 88 DEY |
| | D0 FD BNE *-1 |
| | 28 PLP</pre>||Clobbers Y |
| | |- |
| | !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>||No requirements |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 21 cycles === | | === 36 cycles === |
| {| class="wikitable testtable" | | {| class="wikitable testtable" |
| !colspan="2"|4 bytes
| |
| |-
| |
| |<pre>68 ... PLA × 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 E9 LDA #$E9 ;hides 'SBC #$2A' |
| A9 2A LDA #$2A ;hides 'ROL A' | | 2A ROL A ;first loop only |
| 90 FD BCC *-1</pre>||Clobbers A, Z&N, and C
| | B0 FC BCS *-2</pre>||Clobbers A, Z&N, C, and V |
| |- | | |- |
| |<pre>A0 04 LDY #4
| | |<pre>A2 07 LDX #7 |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 04 LDX #4 | |
| CA DEX | | CA DEX |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N | | D0 FD BNE *-1</pre>||Clobbers X, and Z&N |
| |- | | |- |
| |<pre>08 PHP | | |<pre>A0 06 LDY #6 |
| 28 PLP
| | 88 DEY |
| 20 xx xx JSR @rts14</pre>||Requires @rts12, and @rts14; and writes in stack
| | 10 FD BPL *-1</pre>||Clobbers Y, and Z&N |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 20 xx xx JSR @rts15</pre>||Clobbers S; requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 ... PHA × 2
| |
| 00 00 BRK 0</pre>||Clobbers S; requires dummy interrupt handler; and writes in stack
| |
| |- | | |- |
| !colspan="2"|6 bytes | | !colspan="2"|6 bytes |
| |- | | |- |
| |<pre>08 PHP \ × 3 | | |<pre>38 SEC |
| 28 PLP /</pre>||Writes in stack
| | A9 0A LDA #$0A ;hides 'ASL A' |
| |-
| | 38 SEC |
| |<pre>68 PLA \ × 3
| | 10 FC BPL *-2</pre>||Clobbers A, Z&N, and C |
| 48 PHA /</pre>||Clobbers A, and Z&N
| |
| |- | | |- |
| !colspan="2"|8 bytes | | !colspan="2"|8 bytes |
| |- | | |- |
| |<pre>EA ... NOP × 2 | | |<pre>48 PHA |
| E6 xx INC @zptemp
| | 18 CLC |
| 36 36 ROL $36,X
| | A9 2A LDA #$2A ;hides 'ROL A' |
| 76 36 ROR $36,X</pre>||Clobbers Z&N; and requires @zptemp
| | EA NOP |
| | 90 FC BCC *-2 |
| | 68 PLA</pre>||Clobbers Z&N, and C |
| |- | | |- |
| !colspan="2"|9 bytes
| | |<pre>08 PHP |
| | 18 CLC |
| | A9 2A LDA #$2A ;hides 'ROL A' |
| | EA NOP |
| | 90 FC BCC *-2 |
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| |<pre>C5 C5 CMP $C5 | | |<pre>08 PHP |
| EA ... NOP × 3 | | A2 04 LDX #4 |
| 36 36 ROL $36,X
| | EA NOP |
| 76 36 ROR $36,X</pre>||Clobbers Z&N, and C
| | CA DEX |
| | D0 FC BNE *-2 |
| | 28 PLP</pre>||Clobbers X |
| | |- |
| | |<pre>08 PHP |
| | A0 04 LDY #4 |
| | EA NOP |
| | 88 DEY |
| | D0 FC BNE *-2 |
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| |<pre>24 24 BIT $24 | | !colspan="2"|9 bytes |
| EA ... NOP × 3
| |
| 36 36 ROL $36,X
| |
| 76 36 ROR $36,X</pre>||Clobbers Z&N, and V
| |
| |- | | |- |
| |<pre>04 04 NOP $04 | | |<pre>20 xx xx JSR @rts12× 3</pre>||Requires @rts12 |
| EA ... NOP × 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 | | !colspan="2"|10 bytes |
| |- | | |- |
| |<pre>4C xx xx JMP *+3 | | |<pre>08 PHP |
| EA ... NOP × 3
| | 48 PHA |
| 36 36 ROL $36,X
| | 18 CLC |
| 76 36 ROR $36,X</pre>||Clobbers Z&N; and not relocatable code
| | A9 2A LDA #$2A ;hides 'ROL A' |
| |-
| | 38 SEC |
| !colspan="2"|11 bytes
| | 10 FC BPL *-2 |
| |-
| | 68 PLA |
| |<pre>18 ... CLC × 9
| | 28 PLP</pre>||No requirements |
| 90 00 BCC *+2</pre>||Clobbers C
| |
| |-
| |
| |<pre>B8 ... CLV × 9
| |
| 50 00 BVC *+2</pre>||Clobbers V
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| EA ... NOP × 9</pre>||Requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| EA ... NOP × 9</pre>||Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>4C xx xx JMP *+3
| |
| EA ... NOP × 9</pre>||Not relocatable code
| |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 22 cycles === | | === 37 cycles === |
| {| class="wikitable testtable" | | {| class="wikitable testtable" |
| !colspan="2"|5 bytes | | !colspan="2"|7 bytes |
| |- | | |- |
| |<pre>08 PHP | | |<pre>A5 A5 LDA $A5 |
| 28 PLP
| | A9 0A LDA #$0A ;hides 'ASL A' |
| 20 xx xx JSR @rts15</pre>||Requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 28 PLP
| |
| 00 00 BRK 0</pre>||Requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>68 ... PLA × 2
| |
| 20 xx xx JSR @rts14</pre>||Clobbers A, S, and Z&N; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 2A LDA #$2A ;hides 'ROL A' | |
| 18 CLC | | 18 CLC |
| 10 FC BPL *-2</pre>||Clobbers A, Z&N, and C | | 10 FC BPL *-2</pre>||Clobbers A, Z&N, and C |
| |- | | |- |
| |<pre>A0 03 LDY #3 | | |<pre>A2 04 LDX #4 |
| EA NOP | | EA ... NOP × 2 |
| | CA DEX |
| | D0 FB BNE *-3</pre>||Clobbers X, and Z&N |
| | |- |
| | |<pre>A0 04 LDY #4 |
| | EA ... NOP × 2 |
| 88 DEY | | 88 DEY |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N | | D0 FB BNE *-3</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| |<pre>A2 03 LDX #3 | | !colspan="2"|8 bytes |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |- | | |- |
| |<pre>EA NOP | | |<pre>EA NOP |
| 68 ... PLA × 5</pre>||Clobbers A, S, and Z&N
| | 98 TYA |
| |-
| | A0 06 LDY #6 |
| |<pre>48 PHA
| | 88 DEY |
| 08 PHP
| | D0 FD BNE *-1 |
| 28 PLP
| | A8 TAY</pre>||Clobbers A, and Z&N |
| 20 xx xx JSR @rts12</pre>||Clobbers S; requires @rts12; and writes in stack
| |
| |- | | |- |
| !colspan="2"|7 bytes | | !colspan="2"|9 bytes |
| |- | | |- |
| |<pre>08 PHP | | |<pre>48 PHA |
| BA TSX
| | 98 TYA |
| 08 PHP
| | A0 05 LDY #5 |
| 28 ... PLP × 2
| | 88 DEY |
| 9A TXS
| | D0 FD BNE *-1 |
| 28 PLP</pre>||Clobbers X; and writes in stack
| | 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 |
| 20 xx xx JSR @rts12</pre>||Requires @rts12; and writes in stack
| | 88 DEY |
| | D0 FD BNE *-1 |
| | A8 TAY |
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| |<pre>48 PHA | | |<pre>EA ... NOP × 2 |
| 08 PHP | | 08 PHP |
| 36 36 ROL $36,X
| | A2 04 LDX #4 |
| 76 36 ROR $36,X
| | CA DEX |
| 28 PLP</pre>||Clobbers S; and writes in stack | | 10 FD BPL *-1 |
| | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| !colspan="2"|8 bytes
| | |<pre>EA ... NOP × 2 |
| | 08 PHP |
| | A0 05 LDY #5 |
| | 88 DEY |
| | D0 FD BNE *-1 |
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| |<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 |
| C5 C5 CMP $C5
| | 48 PHA |
| 36 36 ROL $36,X
| | 18 ... CLC × 2 |
| 76 36 ROR $36,X
| | A9 2A LDA #$2A ;hides 'ROL A' |
| 28 PLP</pre>||Writes in stack | | 90 FD BCC *-1 |
| |-
| | 68 PLA |
| !colspan="2"|11 bytes
| | 28 PLP</pre>||No requirements |
| |-
| |
| |<pre>EA ... NOP × 11</pre>||No requirements
| |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 23 cycles === | | === 38 cycles === |
| {| class="wikitable testtable" | | {| class="wikitable testtable" |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 2A LDA #$2A ;hides 'ROL A'
| |
| 48 PHA
| |
| 10 FC BPL *-2</pre>||Clobbers A, S, Z&N, and C; and writes in stack
| |
| |-
| |
| |<pre>68 ... PLA × 2
| |
| 20 xx xx JSR @rts15</pre>||Clobbers A, S, and Z&N; requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 28 PLP
| |
| 00 00 BRK 0</pre>||Clobbers S; requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| !colspan="2"|6 bytes | | !colspan="2"|6 bytes |
| |- | | |- |
| |<pre>18 ... CLC × 2 | | |<pre>38 SEC |
| A9 2A LDA #$2A ;hides 'ROL A' | | A9 69 LDA #$69 ;hides 'ADC #$EA' |
| 90 FD BCC *-1</pre>||Clobbers A, Z&N, and C
| | EA NOP ;first loop only |
| | B0 FC BCS *-2</pre>||Clobbers A, Z&N, C, and V |
| |- | | |- |
| |<pre>EA NOP | | |<pre>EA NOP |
| A0 04 LDY #4
| | A2 07 LDX #7 |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A2 04 LDX #4 | |
| CA DEX | | CA DEX |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N | | D0 FD BNE *-1</pre>||Clobbers X, and Z&N |
| |- | | |- |
| |<pre>EA NOP | | |<pre>EA NOP |
| 08 PHP
| | A0 06 LDY #6 |
| 28 PLP
| | 88 DEY |
| 20 xx xx JSR @rts14</pre>||Requires @rts12, and @rts14; and writes in stack
| | 10 FD BPL *-1</pre>||Clobbers Y, and Z&N |
| |-
| |
| |<pre>08 PHP
| |
| 24 24 BIT $24
| |
| 28 PLP
| |
| 00 00 BRK 0</pre>||Requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>68 PLA
| |
| 48 PHA
| |
| 68 ... PLA × 4</pre>||Clobbers A, S, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 ... PHA × 2
| |
| 20 xx xx JSR @rts15</pre>||Clobbers S; requires @rts12, and @rts15; and writes in stack
| |
| |- | | |- |
| !colspan="2"|7 bytes | | !colspan="2"|7 bytes |
| |- | | |- |
| |<pre>EA NOP | | |<pre>48 PHA |
| 08 PHP \ × 3
| | 18 CLC |
| 28 PLP /</pre>||Writes in stack
| | A9 0A LDA #$0A ;hides 'ASL A' |
| | 90 FD BCC *-1 |
| | 68 PLA</pre>||Clobbers Z&N, and C |
| |- | | |- |
| |<pre>EA NOP | | |<pre>08 PHP |
| 68 PLA \ × 3
| | 18 CLC |
| 48 PHA /</pre>||Clobbers A, and Z&N
| | A9 0A LDA #$0A ;hides 'ASL A' |
| | 90 FD BCC *-1 |
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| !colspan="2"|9 bytes
| | |<pre>08 PHP |
| | A2 05 LDX #5 |
| | CA DEX |
| | 10 FD BPL *-1 |
| | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| |<pre>E6 xx INC @zptemp | | |<pre>08 PHP |
| EA ... NOP × 3
| | 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 |
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| !colspan="2"|10 bytes | | !colspan="2"|8 bytes |
| |- | | |- |
| |<pre>C5 C5 CMP $C5 | | |<pre>08 PHP |
| 26 26 ROL $26 \ × 2
| | 48 PHA |
| 66 26 ROR $26 /</pre>||Clobbers Z&N, and C
| | A9 0A LDA #$0A ;hides 'ASL A' |
| |-
| | 10 FD BPL *-1 |
| |<pre>24 24 BIT $24
| | 68 PLA |
| 26 26 ROL $26 \ × 2
| | 28 PLP</pre>||No requirements |
| 66 26 ROR $26 /</pre>||Clobbers Z&N, and V
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| 26 26 ROL $26 \ × 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 \ × 2
| |
| 66 26 ROR $26 /</pre>||Clobbers Z&N; and not relocatable code
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>18 ... CLC × 10
| |
| 90 00 BCC *+2</pre>||Clobbers C
| |
| |-
| |
| |<pre>B8 ... CLV × 10
| |
| 50 00 BVC *+2</pre>||Clobbers V
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| EA ... NOP × 10</pre>||Requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| EA ... NOP × 10</pre>||Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>4C xx xx JMP *+3
| |
| EA ... NOP × 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 | | !colspan="2"|7 bytes |
| |- | | |- |
| |<pre>48 PHA | | |<pre>A6 A6 LDX $A6 |
| 68 ... PLA × 2
| | A2 07 LDX #7 |
| 00 00 BRK 0</pre>||Clobbers A, S, and Z&N; requires dummy interrupt handler; and writes in stack
| | CA DEX |
| | D0 FD BNE *-1</pre>||Clobbers X, and Z&N |
| |- | | |- |
| !colspan="2"|6 bytes
| | |<pre>A4 A4 LDY $A4 |
| | A0 06 LDY #6 |
| | 88 DEY |
| | 10 FD BPL *-1</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| |<pre>20 xx xx JSR @rts12× 2</pre>||Requires @rts12; and writes in stack
| | !colspan="2"|8 bytes |
| |- | | |- |
| |<pre>EA ... NOP × 2 | | |<pre>98 TYA |
| 08 PHP
| | A0 88 LDY #136 ;hides 'DEY' |
| 28 PLP
| | 88 ... DEY × 2 |
| 00 00 BRK 0</pre>||Requires dummy interrupt handler; and writes in stack
| | 30 FB BMI *-3 |
| | A8 TAY</pre>||Clobbers A, and Z&N |
| |- | | |- |
| |<pre>68 ... PLA × 6</pre>||Clobbers A, S, and Z&N | | |<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 |
| |- | | |- |
| |<pre>48 PHA | | |<pre>08 PHP |
| A0 04 LDY #4 | | A0 05 LDY #5 ;hides 'ORA zp' |
| | 88 DEY ;first loop only |
| 88 DEY | | 88 DEY |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack | | D0 FB BNE *-3 |
| | 28 PLP</pre>||Clobbers A, and Y |
| | |- |
| | !colspan="2"|9 bytes |
| |- | | |- |
| |<pre>48 PHA | | |<pre>48 PHA |
| A2 04 LDX #4
| | A9 2A LDA #$2A ;hides 'ROL A' |
| CA DEX
| | EA ... NOP × 3 |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| | 10 FA BPL *-4 |
| | 68 PLA</pre>||Clobbers Z&N, and C |
| | |- |
| | |<pre>08 PHP |
| | A9 2A LDA #$2A ;hides 'ROL A' |
| | EA ... NOP × 3 |
| | 10 FA BPL *-4 |
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| !colspan="2"|7 bytes | | !colspan="2"|10 bytes |
| |- | | |- |
| |<pre>A4 A4 LDY $A4 | | |<pre>EA NOP |
| A0 04 LDY #4 | | 48 PHA |
| | 98 TYA |
| | A0 05 LDY #5 |
| 88 DEY | | 88 DEY |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N | | D0 FD BNE *-1 |
| | A8 TAY |
| | 68 PLA</pre>||Clobbers Z&N |
| |- | | |- |
| |<pre>A6 A6 LDX $A6 | | |<pre>08 PHP |
| | A6 A6 LDX $A6 |
| A2 04 LDX #4 | | A2 04 LDX #4 |
| | EA NOP |
| CA DEX | | CA DEX |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N | | D0 FC BNE *-2 |
| |-
| | 28 PLP</pre>||Clobbers X |
| |<pre>48 PHA
| |
| 08 PHP \ × 3
| |
| 28 PLP /</pre>||Clobbers S; and writes in stack | |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>36 36 ROL $36,X \ × 2
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N
| |
| |- | | |- |
| |<pre>08 PHP | | |<pre>08 PHP |
| 28 PLP
| | A4 A4 LDY $A4 |
| 08 PHP
| | A0 04 LDY #4 |
| 26 26 ROL $26
| | EA NOP |
| 66 26 ROR $26
| | 88 DEY |
| 28 PLP</pre>||Writes in stack | | D0 FC BNE *-2 |
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| !colspan="2"|12 bytes | | !colspan="2"|11 bytes |
| |- | | |- |
| |<pre>EA ... NOP × 12</pre>||No requirements | | |<pre>08 PHP |
| | 48 PHA |
| | 98 TYA |
| | A0 04 LDY #4 |
| | 88 DEY |
| | D0 FD BNE *-1 |
| | A8 TAY |
| | 68 PLA |
| | 28 PLP</pre>||No requirements |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 25 cycles === | | === 40 cycles === |
| {| class="wikitable testtable" | | {| class="wikitable testtable" |
| !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 × 3
| |
| 00 00 BRK 0</pre>||Clobbers A, S, and Z&N; requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| !colspan="2"|6 bytes | | !colspan="2"|6 bytes |
| |- | | |- |
| |<pre>36 36 ROL $36,X | | |<pre>A2 05 LDX #5 ;hides 'ORA zp' |
| 76 36 ROR $36,X
| | EA NOP |
| 00 00 BRK 0</pre>||Clobbers Z&N; requires dummy interrupt handler; and writes in stack
| | CA DEX |
| | D0 FB BNE *-3</pre>||Clobbers A, X, and Z&N |
| |- | | |- |
| |<pre>08 PHP | | |<pre>A0 05 LDY #5 ;hides 'ORA zp' |
| E6 xx INC @zptemp
| | EA NOP |
| 28 PLP
| | 88 DEY |
| 00 00 BRK 0</pre>||Requires @zptemp, and dummy interrupt handler; and writes in stack
| | D0 FB BNE *-3</pre>||Clobbers A, Y, and Z&N |
| |- | | |- |
| |<pre>68 PLA | | !colspan="2"|7 bytes |
| 18 CLC
| |
| A9 2A LDA #$2A ;hides 'ROL A'
| |
| 90 FD BCC *-1</pre>||Clobbers A, S, Z&N, and C
| |
| |- | | |- |
| |<pre>A0 03 LDY #3 | | |<pre>98 TYA |
| 48 PHA
| | A0 06 LDY #6 |
| 88 DEY | | 88 DEY |
| D0 FA BNE *-4</pre>||Clobbers Y, S, and Z&N; and writes in stack
| | 10 FD BPL *-1 |
| | A8 TAY</pre>||Clobbers A, and Z&N |
| |- | | |- |
| |<pre>A2 03 LDX #3 | | |<pre>EA ... NOP × 2 |
| 48 PHA
| | A2 07 LDX #7 |
| CA DEX | | CA DEX |
| D0 FA BNE *-4</pre>||Clobbers X, S, and Z&N; and writes in stack | | D0 FD BNE *-1</pre>||Clobbers X, and Z&N |
| |- | | |- |
| |<pre>68 PLA | | |<pre>EA ... NOP × 2 |
| A0 04 LDY #4 | | A0 06 LDY #6 |
| 88 DEY | | 88 DEY |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| | 10 FD BPL *-1</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| |<pre>68 PLA | | !colspan="2"|8 bytes |
| A2 04 LDX #4
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, S, and Z&N
| |
| |- | | |- |
| |<pre>48 PHA | | |<pre>48 PHA |
| 08 PHP
| | 18 ... CLC × 2 |
| 28 PLP
| | A9 0A LDA #$0A ;hides 'ASL A' |
| 20 xx xx JSR @rts15</pre>||Clobbers S; requires @rts12, and @rts15; and writes in stack
| | 90 FD BCC *-1 |
| | 68 PLA</pre>||Clobbers Z&N, and C |
| |- | | |- |
| |<pre>48 PHA | | |<pre>08 PHP |
| 68 ... PLA × 2
| | 18 ... CLC × 2 |
| 20 xx xx JSR @rts14</pre>||Clobbers A, S, and Z&N; requires @rts12, and @rts14; and writes in stack
| | A9 0A LDA #$0A ;hides 'ASL A' |
| | 90 FD BCC *-1 |
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| |<pre>48 ... PHA × 4 | | |<pre>EA NOP |
| 00 00 BRK 0</pre>||Clobbers S; requires dummy interrupt handler; and writes in stack
| | 08 PHP |
| | A2 05 LDX #5 |
| | CA DEX |
| | 10 FD BPL *-1 |
| | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| !colspan="2"|7 bytes
| | |<pre>EA NOP |
| | 08 PHP |
| | A0 06 LDY #6 |
| | 88 DEY |
| | D0 FD BNE *-1 |
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| |<pre>EA ... NOP × 2 | | !colspan="2"|9 bytes |
| | |- |
| | |<pre>08 PHP |
| | 48 PHA |
| 18 CLC | | 18 CLC |
| A9 2A LDA #$2A ;hides 'ROL A' | | A9 0A LDA #$0A ;hides 'ASL A' |
| 90 FD BCC *-1</pre>||Clobbers A, Z&N, and C
| | 10 FD BPL *-1 |
| | 68 PLA |
| | 28 PLP</pre>||No requirements |
| | |- |
| | |} |
| | |
| | |
| | === 41 cycles === |
| | {| class="wikitable testtable" |
| | !colspan="2"|5 bytes |
| |- | | |- |
| |<pre>A9 09 LDA #$09 ;hides 'ORA #$EA' | | |<pre>38 SEC |
| EA NOP ;first loop only
| | A9 4A LDA #$4A ;hides 'LSR A' |
| 08 PHP
| | D0 FD BNE *-1</pre>||Clobbers A, Z&N, and C |
| 28 PLP
| |
| 10 FA BPL *-4</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |- | | |- |
| |<pre>EA ... NOP × 2 | | |<pre>A2 08 LDX #8 |
| A2 04 LDX #4 | |
| CA DEX | | CA DEX |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N | | D0 FD BNE *-1</pre>||Clobbers X, and Z&N |
| |- | | |- |
| |<pre>EA ... NOP × 2 | | |<pre>A0 08 LDY #8 |
| A0 04 LDY #4 | |
| 88 DEY | | 88 DEY |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N | | D0 FD BNE *-1</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| |<pre>08 PHP
| | !colspan="2"|7 bytes |
| 24 24 BIT $24
| |
| 28 PLP
| |
| 20 xx xx JSR @rts15</pre>||Requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 28 PLP
| |
| 20 xx xx JSR @rts14</pre>||Requires @rts12, and @rts14; and writes in stack
| |
| |- | | |- |
| |<pre>48 PHA | | |<pre>48 PHA |
| A9 LDA #0 | | A9 0A LDA #$0A ;hides 'ASL A' |
| 20 xx xx JSR delay_256a_16_clocks
| | 18 CLC |
| 68 PLA</pre>||Clobbers Z&N, C, and V; requires delay_a_25_clocks, and delay_256a_16_clocks; and writes in stack | | 10 FC BPL *-2 |
| | 68 PLA</pre>||Clobbers Z&N, and C |
| |- | | |- |
| |<pre>08 PHP | | |<pre>08 PHP |
| A9 LDA #0 | | A9 0A LDA #$0A ;hides 'ASL A' |
| 20 xx xx JSR delay_256a_16_clocks
| | 18 CLC |
| 28 PLP</pre>||Clobbers A; requires delay_a_25_clocks, and delay_256a_16_clocks; and writes in stack | | 10 FC BPL *-2 |
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| |<pre>EA NOP | | |<pre>08 PHP |
| 08 PHP
| | A0 88 LDY #136 ;hides 'DEY' |
| 24 24 BIT $24
| | 88 DEY |
| 28 PLP | | 30 FC BMI *-2 |
| 00 00 BRK 0</pre>||Requires dummy interrupt handler; and writes in stack
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| |<pre>EA NOP | | !colspan="2"|9 bytes |
| 68 PLA
| |
| 48 PHA
| |
| 68 ... PLA × 4</pre>||Clobbers A, S, and Z&N
| |
| |- | | |- |
| |<pre>48 ... PHA × 2 | | |<pre>08 PHP |
| 08 PHP | | A6 A6 LDX $A6 |
| 28 PLP | | A2 05 LDX #5 |
| 20 xx xx JSR @rts12</pre>||Clobbers S; requires @rts12; and writes in stack
| | CA DEX |
| | 10 FD BPL *-1 |
| | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| !colspan="2"|8 bytes | | !colspan="2"|10 bytes |
| |- | | |- |
| |<pre>EA ... NOP × 2 | | |<pre>08 PHP |
| 08 PHP \ × 3 | | 48 PHA |
| 28 PLP /</pre>||Writes in stack
| | A5 A5 LDA $A5 |
| |-
| | A9 0A LDA #$0A ;hides 'ASL A' |
| |<pre>EA ... NOP × 2
| | 10 FD BPL *-1 |
| 68 PLA \ × 3
| | 68 PLA |
| 48 PHA /</pre>||Clobbers A, and Z&N | | 28 PLP</pre>||No requirements |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>C5 C5 CMP $C5
| |
| 26 26 ROL $26
| |
| 66 26 ROR $26
| |
| 36 36 ROL $36,X
| |
| 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
| |
| 76 36 ROR $36,X</pre>||Clobbers Z&N, and V
| |
| |-
| |
| |<pre>E6 xx INC @zptemp
| |
| 26 26 ROL $26 \ × 2
| |
| 66 26 ROR $26 /</pre>||Clobbers Z&N; and requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| 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>4C xx xx JMP *+3
| |
| 26 26 ROL $26
| |
| 66 26 ROR $26
| |
| 36 36 ROL $36,X
| |
| 76 36 ROR $36,X</pre>||Clobbers Z&N; and not relocatable code
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>18 ... CLC × 11
| |
| 90 00 BCC *+2</pre>||Clobbers C
| |
| |-
| |
| |<pre>B8 ... CLV × 11
| |
| 50 00 BVC *+2</pre>||Clobbers V
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| EA ... NOP × 11</pre>||Requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| EA ... NOP × 11</pre>||Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|14 bytes
| |
| |-
| |
| |<pre>4C xx xx JMP *+3
| |
| EA ... NOP × 11</pre>||Not relocatable code
| |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 26 cycles === | | === 42 cycles === |
| {| class="wikitable testtable" | | {| class="wikitable testtable" |
| !colspan="2"|4 bytes
| |
| |-
| |
| |<pre>00 00... BRK 0 × 2</pre>||Requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 10 FD BPL *-1</pre>||Clobbers A, Z&N, and C
| |
| |-
| |
| |<pre>A0 05 LDY #5
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 05 LDX #5
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|6 bytes | | !colspan="2"|6 bytes |
| |- | | |- |
| |<pre>20 xx xx JSR @rts12 | | |<pre>A5 A5 LDA $A5 |
| 20 xx xx JSR @rts14</pre>||Requires @rts12, and @rts14; and writes in stack
| | A9 4A LDA #$4A ;hides 'LSR A' |
| |-
| | D0 FD BNE *-1</pre>||Clobbers A, Z&N, and C |
| |<pre>48 PHA
| |
| 68 ... PLA × 2
| |
| 20 xx xx JSR @rts15</pre>||Clobbers A, S, and Z&N; requires @rts12, and @rts15; and writes in stack
| |
| |- | | |- |
| !colspan="2"|7 bytes | | !colspan="2"|7 bytes |
| |- | | |- |
| |<pre>EA NOP | | |<pre>EA NOP |
| 20 xx xx JSR @rts12× 2</pre>||Requires @rts12; and writes in stack
| | 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 | | |<pre>EA NOP |
| 68 ... PLA × 6</pre>||Clobbers A, S, and Z&N
| | A0 05 LDY #5 ;hides 'ORA zp' |
| | EA NOP |
| | 88 DEY |
| | D0 FB BNE *-3</pre>||Clobbers A, Y, and Z&N |
| |- | | |- |
| !colspan="2"|8 bytes | | !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 |
| |- | | |- |
| |<pre>08 PHP | | |<pre>08 PHP |
| | A9 2A LDA #$2A ;hides 'ROL A' |
| | 08 PHP |
| 28 PLP | | 28 PLP |
| 08 PHP | | 10 FB BPL *-3 |
| 36 36 ROL $36,X
| | 28 PLP</pre>||Clobbers A |
| 76 36 ROR $36,X
| | |- |
| 28 PLP</pre>||Writes in stack | | |<pre>08 PHP |
| | A2 F8 LDX #248 ;hides 'SED' |
| | E8 ... INX × 2 |
| | D0 FB BNE *-3 |
| | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| |<pre>36 36 ROL $36,X | | |<pre>08 PHP |
| 76 36 ROR $36,X
| | A0 88 LDY #136 ;hides 'DEY' |
| 68 PLA \ × 2
| | 88 ... DEY × 2 |
| 48 PHA /</pre>||Clobbers A, and Z&N
| | 30 FB BMI *-3 |
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| !colspan="2"|9 bytes | | !colspan="2"|9 bytes |
| |- | | |- |
| |<pre>EA NOP | | |<pre>48 PHA |
| 36 36 ROL $36,X \ × 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 × 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
| |
| |-
| |
| |<pre>A9 LDA #0
| |
| 20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
| |
| |-
| |
| |<pre>00 00 BRK 0
| |
| 20 xx xx JSR @rts14</pre>||Requires dummy interrupt handler, @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 10 FD BPL *-1</pre>||Clobbers A, S, Z&N, and C; and writes in stack
| |
| |-
| |
| !colspan="2"|6 bytes | | !colspan="2"|6 bytes |
| |- | | |- |
| |<pre>A5 A5 LDA $A5 | | |<pre>38 ... SEC × 2 |
| A9 0A LDA #$0A ;hides 'ASL A' | | 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 |
| |- | | |- |
| |<pre>20 xx xx JSR @rts12 | | |<pre>A2 05 LDX #5 |
| 20 xx xx JSR @rts15</pre>||Requires @rts12, and @rts15; and writes in stack
| | EA NOP |
| | CA DEX |
| | 10 FC BPL *-2</pre>||Clobbers X, and Z&N |
| |- | | |- |
| |<pre>00 00 BRK 0 | | |<pre>A0 06 LDY #6 |
| 08 PHP \ × 2
| | EA NOP |
| 28 PLP /</pre>||Requires dummy interrupt handler; and writes in stack
| | 88 DEY |
| | D0 FC BNE *-2</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| !colspan="2"|7 bytes | | !colspan="2"|7 bytes |
| |- | | |- |
| |<pre>48 PHA | | |<pre>48 PHA |
| A9 2A LDA #$2A ;hides 'ROL A' | | A9 E9 LDA #$E9 ;hides 'SBC #$2A' |
| 18 CLC
| | 2A ROL A ;first loop only |
| 10 FC BPL *-2
| | B0 FC BCS *-2 |
| 68 PLA</pre>||Clobbers Z&N, and C; and writes in stack | | 68 PLA</pre>||Clobbers Z&N, C, and V |
| |- | | |- |
| |<pre>08 PHP | | |<pre>08 PHP |
| A9 2A LDA #$2A ;hides 'ROL A' | | A9 E9 LDA #$E9 ;hides 'SBC #$2A' |
| 18 CLC
| | 2A ROL A ;first loop only |
| 10 FC BPL *-2
| | B0 FC BCS *-2 |
| 28 PLP</pre>||Clobbers A; and writes in stack | | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| |<pre>A2 04 LDX #4 | | |<pre>08 PHP |
| | A2 07 LDX #7 |
| CA DEX | | CA DEX |
| D0 FB BNE *-3 | | D0 FD BNE *-1 |
| F6 xx INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
| | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| |<pre>A0 82 LDY #130 ;hides 'NOP #imm' | | |<pre>08 PHP |
| 04 EA NOP $EA ;hides 'NOP'
| | A0 06 LDY #6 |
| 88 DEY | | 88 DEY |
| 30 FA BMI *-4</pre>||Clobbers Y, and Z&N; and requires support for unofficial opcodes
| | 10 FD BPL *-1 |
| | 28 PLP</pre>||Clobbers Y |
| | |- |
| | !colspan="2"|8 bytes |
| |- | | |- |
| |<pre>A2 82 LDX #130 ;hides 'NOP #imm' | | |<pre>48 PHA |
| 04 EA NOP $EA ;hides 'NOP'
| | 38 SEC |
| CA DEX
| | A9 0A LDA #$0A ;hides 'ASL A' |
| 30 FA BMI *-4</pre>||Clobbers X, and Z&N; and requires support for unofficial opcodes
| | 38 SEC |
| | 10 FC BPL *-2 |
| | 68 PLA</pre>||Clobbers Z&N, and C |
| | |- |
| | !colspan="2"|10 bytes |
| |- | | |- |
| |<pre>68 PLA | | |<pre>08 PHP |
| 48 PHA | | 48 PHA |
| 68 ... PLA × 5</pre>||Clobbers A, S, and Z&N | | 18 CLC |
| | A9 2A LDA #$2A ;hides 'ROL A' |
| | EA NOP |
| | 90 FC BCC *-2 |
| | 68 PLA |
| | 28 PLP</pre>||No requirements |
| | |- |
| | |} |
| | |
| | |
| | === 44 cycles === |
| | {| class="wikitable testtable" |
| | !colspan="2"|6 bytes |
| |- | | |- |
| |<pre>48 ... PHA × 2 | | |<pre>A9 0A LDA #$0A ;hides 'ASL A' |
| A2 04 LDX #4
| | EA ... NOP × 2 |
| CA DEX
| | 10 FB BPL *-3</pre>||Clobbers A, Z&N, and C |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |- | | |- |
| |<pre>48 ... PHA × 2 | | |<pre>A0 88 LDY #136 ;hides 'DEY' |
| A0 04 LDY #4 | | EA NOP |
| 88 DEY | | 88 DEY |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| | 30 FB BMI *-3</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| |<pre>48 PHA
| | !colspan="2"|7 bytes |
| 20 xx xx JSR @rts12× 2</pre>||Clobbers S; requires @rts12; and writes in stack
| |
| |- | | |- |
| !colspan="2"|8 bytes
| | |<pre>A6 A6 LDX $A6 |
| |-
| | A2 08 LDX #8 |
| |<pre>EA ... NOP × 3 | |
| A2 04 LDX #4 | |
| CA DEX | | CA DEX |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N | | D0 FD BNE *-1</pre>||Clobbers X, and Z&N |
| |- | | |- |
| |<pre>EA ... NOP × 3 | | !colspan="2"|9 bytes |
| A0 04 LDY #4
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |- | | |- |
| |<pre>24 24 BIT $24 | | |<pre>C5 C5 CMP $C5 |
| 20 xx xx JSR @rts12× 2</pre>||Clobbers Z&N, and V; requires @rts12; and writes in stack
| | 48 PHA |
| | A9 0A LDA #$0A ;hides 'ASL A' |
| | 18 CLC |
| | 10 FC BPL *-2 |
| | 68 PLA</pre>||Clobbers Z&N, and C |
| |- | | |- |
| |<pre>20 xx xx JSR @rts12 | | |<pre>08 PHP |
| 08 PHP | | A5 A5 LDA $A5 |
| BA TSX
| | A9 0A LDA #$0A ;hides 'ASL A' |
| 28 PLP
| | 18 CLC |
| 9A TXS
| | 10 FC BPL *-2 |
| 28 PLP</pre>||Clobbers X; requires @rts12; and writes in stack | | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| |<pre>85 xx STA @zptemp | | |<pre>08 PHP |
| 20 xx xx JSR @rts12× 2</pre>||Requires @zptemp, and @rts12; and writes in stack
| | A2 04 LDX #4 |
| | EA ... NOP × 2 |
| | CA DEX |
| | D0 FB BNE *-3 |
| | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| |<pre>EA ... NOP × 3 | | |<pre>08 PHP |
| 08 PHP
| | A0 04 LDY #4 |
| 28 PLP | | EA ... NOP × 2 |
| 20 xx xx JSR @rts14</pre>||Requires @rts12, and @rts14; and writes in stack
| | 88 DEY |
| | D0 FB BNE *-3 |
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| |<pre>04 04 NOP $04
| | !colspan="2"|10 bytes |
| 20 xx xx JSR @rts12× 2</pre>||Requires @rts12, and support for unofficial opcodes; and writes in stack
| |
| |- | | |- |
| |<pre>48 ... PHA × 2 | | |<pre>EA NOP |
| 08 PHP \ × 3
| | 48 PHA |
| 28 PLP /</pre>||Clobbers S; and writes in stack
| | 98 TYA |
| | A0 06 LDY #6 |
| | 88 DEY |
| | D0 FD BNE *-1 |
| | A8 TAY |
| | 68 PLA</pre>||Clobbers Z&N |
| |- | | |- |
| !colspan="2"|9 bytes | | !colspan="2"|11 bytes |
| |- | | |- |
| |<pre>08 PHP | | |<pre>08 PHP |
| 48 PHA | | 48 PHA |
| A9 6A LDA #$6A ;hides 'ROR A'
| | 98 TYA |
| 38 SEC
| | A0 05 LDY #5 |
| 10 FC BPL *-2
| | 88 DEY |
| | D0 FD BNE *-1 |
| | A8 TAY |
| 68 PLA | | 68 PLA |
| 28 PLP</pre>||Writes in stack | | 28 PLP</pre>||No requirements |
| |- | | |- |
| |<pre>EA ... NOP × 3 | | |} |
| 68 PLA \ × 3
| | |
| 48 PHA /</pre>||Clobbers A, and Z&N
| | |
| | === 45 cycles === |
| | {| class="wikitable testtable" |
| | !colspan="2"|7 bytes |
| |- | | |- |
| !colspan="2"|10 bytes
| | |<pre>98 TYA |
| | A0 08 LDY #8 |
| | 88 DEY |
| | D0 FD BNE *-1 |
| | A8 TAY</pre>||Clobbers A, and Z&N |
| |- | | |- |
| |<pre>C5 C5 CMP $C5 | | |<pre>EA ... NOP × 2 |
| 36 36 ROL $36,X \ × 2
| | A2 08 LDX #8 |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N, and C
| | CA DEX |
| | D0 FD BNE *-1</pre>||Clobbers X, and Z&N |
| |- | | |- |
| |<pre>24 24 BIT $24 | | |<pre>EA ... NOP × 2 |
| 36 36 ROL $36,X \ × 2
| | A0 08 LDY #8 |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N, and V
| | 88 DEY |
| | D0 FD BNE *-1</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| |<pre>E6 xx INC @zptemp | | !colspan="2"|8 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 @zptemp
| |
| |- | | |- |
| |<pre>04 04 NOP $04 | | |<pre>48 PHA |
| 36 36 ROL $36,X \ × 2
| | 38 SEC |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
| | 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 |
| |- | | |- |
| !colspan="2"|11 bytes
| | |<pre>08 PHP |
| | 38 SEC |
| | A9 69 LDA #$69 ;hides 'ADC #$EA' |
| | EA NOP ;first loop only |
| | B0 FC BCS *-2 |
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| |<pre>4C xx xx JMP *+3 | | |<pre>EA NOP |
| 36 36 ROL $36,X \ × 2
| | 08 PHP |
| 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 |
| |- | | |- |
| !colspan="2"|14 bytes
| | |<pre>EA NOP |
| | 08 PHP |
| | A0 06 LDY #6 |
| | 88 DEY |
| | 10 FD BPL *-1 |
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| |<pre>18 ... CLC × 12
| | !colspan="2"|9 bytes |
| 90 00 BCC *+2</pre>||Clobbers C
| |
| |- | | |- |
| |<pre>B8 ... CLV × 12 | | |<pre>08 PHP |
| 50 00 BVC *+2</pre>||Clobbers V
| | 48 PHA |
| |-
| | 18 CLC |
| |<pre>85 xx STA @zptemp
| | A9 0A LDA #$0A ;hides 'ASL A' |
| EA ... NOP × 12</pre>||Requires @zptemp
| | 90 FD BCC *-1 |
| |-
| | 68 PLA |
| |<pre>04 04 NOP $04
| | 28 PLP</pre>||No requirements |
| EA ... NOP × 12</pre>||Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|15 bytes
| |
| |-
| |
| |<pre>4C xx xx JMP *+3
| |
| EA ... NOP × 12</pre>||Not relocatable code
| |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 28 cycles === | | === 46 cycles === |
| {| class="wikitable testtable" | | {| class="wikitable testtable" |
| !colspan="2"|5 bytes | | !colspan="2"|5 bytes |
| |- | | |- |
| |<pre>A9 LDA #1 | | |<pre>A2 08 LDX #8 |
| 20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
| | CA DEX |
| | 10 FD BPL *-1</pre>||Clobbers X, and Z&N |
| |- | | |- |
| |<pre>EA NOP | | |<pre>A0 09 LDY #9 |
| 00 00... BRK 0 × 2</pre>||Requires dummy interrupt handler; and writes in stack
| | 88 DEY |
| | D0 FD BNE *-1</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| |<pre>68 PLA | | !colspan="2"|6 bytes |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 10 FD BPL *-1</pre>||Clobbers A, S, Z&N, and C
| |
| |- | | |- |
| !colspan="2"|6 bytes
| | |<pre>48 PHA |
| | A9 4A LDA #$4A ;hides 'LSR A' |
| | D0 FD BNE *-1 |
| | 68 PLA</pre>||Clobbers Z&N, and C |
| |- | | |- |
| |<pre>EA ... NOP × 2 | | |<pre>08 PHP |
| A9 0A LDA #$0A ;hides 'ASL A' | | A9 4A LDA #$4A ;hides 'LSR A' |
| 10 FD BPL *-1</pre>||Clobbers A, Z&N, and C
| | D0 FD BNE *-1 |
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| |<pre>EA NOP | | !colspan="2"|9 bytes |
| A0 05 LDY #5
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |- | | |- |
| |<pre>EA NOP | | |<pre>08 PHP |
| A2 05 LDX #5 | | A6 A6 LDX $A6 |
| | A2 07 LDX #7 |
| CA DEX | | CA DEX |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N | | D0 FD BNE *-1 |
| | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| |<pre>20 xx xx JSR @rts14× 2</pre>||Requires @rts12, and @rts14; and writes in stack | | |<pre>08 PHP |
| | A4 A4 LDY $A4 |
| | A0 06 LDY #6 |
| | 88 DEY |
| | 10 FD BPL *-1 |
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| !colspan="2"|7 bytes | | !colspan="2"|10 bytes |
| |- | | |- |
| |<pre>48 PHA | | |<pre>48 PHA |
| 18 CLC
| | 98 TYA |
| A9 2A LDA #$2A ;hides 'ROL A'
| | A0 88 LDY #136 ;hides 'DEY' |
| 90 FD BCC *-1
| | 88 ... DEY × 2 |
| 68 PLA</pre>||Clobbers Z&N, and C; and writes in stack | | 30 FB BMI *-3 |
| | A8 TAY |
| | 68 PLA</pre>||Clobbers Z&N |
| | |- |
| | !colspan="2"|11 bytes |
| |- | | |- |
| |<pre>08 PHP | | |<pre>08 PHP |
| 18 CLC
| | 48 PHA |
| A9 2A LDA #$2A ;hides 'ROL A' | | A9 2A LDA #$2A ;hides 'ROL A' |
| 90 FD BCC *-1
| | EA ... NOP × 3 |
| 28 PLP</pre>||Clobbers A; and writes in stack | | 10 FA BPL *-4 |
| | 68 PLA |
| | 28 PLP</pre>||No requirements |
| | |- |
| | |} |
| | |
| | |
| | === 47 cycles === |
| | {| class="wikitable testtable" |
| | !colspan="2"|8 bytes |
| | |- |
| | |<pre>98 TYA |
| | A0 06 LDY #6 |
| | EA NOP |
| | 88 DEY |
| | D0 FC BNE *-2 |
| | A8 TAY</pre>||Clobbers A, and Z&N |
| | |- |
| | |<pre>EA ... NOP × 3 |
| | A2 08 LDX #8 |
| | CA DEX |
| | D0 FD BNE *-1</pre>||Clobbers X, and Z&N |
| |- | | |- |
| |<pre>08 PHP | | |<pre>08 PHP |
| A2 04 LDX #4 | | A2 05 LDX #5 ;hides 'ORA zp' |
| | EA NOP |
| CA DEX | | CA DEX |
| D0 FB BNE *-3 | | D0 FB BNE *-3 |
| 28 PLP</pre>||Clobbers X; and writes in stack | | 28 PLP</pre>||Clobbers A, and X |
| | |- |
| | |<pre>EA ... NOP × 3 |
| | A0 08 LDY #8 |
| | 88 DEY |
| | D0 FD BNE *-1</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| |<pre>08 PHP | | |<pre>08 PHP |
| A0 04 LDY #4 | | A0 05 LDY #5 ;hides 'ORA zp' |
| | EA NOP |
| 88 DEY | | 88 DEY |
| D0 FB BNE *-3 | | D0 FB BNE *-3 |
| 28 PLP</pre>||Clobbers Y; and writes in stack | | 28 PLP</pre>||Clobbers A, and Y |
| |- | | |- |
| |<pre>68 ... PLA × 7</pre>||Clobbers A, S, and Z&N | | !colspan="2"|9 bytes |
| |- | | |- |
| |<pre>48 ... PHA × 2 | | |<pre>48 PHA |
| 08 PHP
| | 98 TYA |
| 28 PLP
| | A0 06 LDY #6 |
| 20 xx xx JSR @rts15</pre>||Clobbers S; requires @rts12, and @rts15; and writes in stack
| | 88 DEY |
| | 10 FD BPL *-1 |
| | A8 TAY |
| | 68 PLA</pre>||Clobbers Z&N |
| |- | | |- |
| !colspan="2"|8 bytes
| | |<pre>08 PHP |
| | 98 TYA |
| | A0 06 LDY #6 |
| | 88 DEY |
| | 10 FD BPL *-1 |
| | A8 TAY |
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| |<pre>08 PHP \ × 4 | | |<pre>EA ... NOP × 2 |
| 28 PLP /</pre>||Writes in stack | | 08 PHP |
| | A2 07 LDX #7 |
| | CA DEX |
| | D0 FD BNE *-1 |
| | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| |<pre>68 PLA \ × 4 | | |<pre>EA ... NOP × 2 |
| 48 PHA /</pre>||Clobbers A, and Z&N
| | 08 PHP |
| | A0 06 LDY #6 |
| | 88 DEY |
| | 10 FD BPL *-1 |
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| !colspan="2"|10 bytes | | !colspan="2"|10 bytes |
| |- | | |- |
| |<pre>EA ... NOP × 2 | | |<pre>08 PHP |
| 36 36 ROL $36,X \ × 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 × 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 × 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>A0 04 LDY #4
| |
| EA NOP | |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 04 LDX #4
| |
| EA NOP
| |
| CA DEX | | CA DEX |
| D0 FA BNE *-4</pre>||Clobbers X, and Z&N
| | 10 FD BPL *-1</pre>||Clobbers X, and Z&N |
| |-
| |
| |<pre>20 xx xx JSR @rts14
| |
| 20 xx xx JSR @rts15</pre>||Requires @rts12, @rts14, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>C5 C5 CMP $C5
| |
| 00 00... BRK 0 × 2</pre>||Clobbers Z&N, and C; requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>24 24 BIT $24
| |
| 00 00... BRK 0 × 2</pre>||Clobbers Z&N, and V; requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>A5 A5 LDA $A5
| |
| 00 00... BRK 0 × 2</pre>||Clobbers A, and Z&N; requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| 00 00... BRK 0 × 2</pre>||Requires @zptemp, and dummy interrupt handler; and writes in stack
| |
| |- | | |- |
| |<pre>EA NOP | | |<pre>EA NOP |
| 00 00 BRK 0
| | A0 09 LDY #9 |
| 20 xx xx JSR @rts14</pre>||Requires dummy interrupt handler, @rts12, and @rts14; and writes in stack
| | 88 DEY |
| |-
| | D0 FD BNE *-1</pre>||Clobbers Y, and Z&N |
| |<pre>04 04 NOP $04
| |
| 00 00... BRK 0 × 2</pre>||Requires dummy interrupt handler, and support for unofficial opcodes; and writes in stack
| |
| |- | | |- |
| !colspan="2"|7 bytes | | !colspan="2"|7 bytes |
| |-
| |
| |<pre>EA NOP
| |
| 20 xx xx JSR @rts12
| |
| 20 xx xx JSR @rts15</pre>||Requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 00 00 BRK 0
| |
| 08 PHP \ × 2
| |
| 28 PLP /</pre>||Requires dummy interrupt handler; and writes in stack
| |
| |- | | |- |
| |<pre>48 PHA | | |<pre>48 PHA |
| 20 xx xx JSR @rts12
| | 38 SEC |
| 20 xx xx JSR @rts14</pre>||Clobbers S; requires @rts12, and @rts14; and writes in stack
| | A9 4A LDA #$4A ;hides 'LSR A' |
| | D0 FD BNE *-1 |
| | 68 PLA</pre>||Clobbers Z&N, and C |
| |- | | |- |
| !colspan="2"|8 bytes
| | |<pre>08 PHP |
| |-
| | 38 SEC |
| |<pre>48 PHA | | A9 4A LDA #$4A ;hides 'LSR A' |
| 18 CLC
| | D0 FD BNE *-1 |
| A9 2A LDA #$2A ;hides 'ROL A' | | 28 PLP</pre>||Clobbers A |
| 18 CLC
| |
| 10 FC BPL *-2
| |
| 68 PLA</pre>||Clobbers Z&N, and C; and writes in stack
| |
| |- | | |- |
| |<pre>08 PHP | | |<pre>08 PHP |
| 18 CLC
| | A2 08 LDX #8 |
| A9 2A LDA #$2A ;hides 'ROL A'
| | CA DEX |
| 18 CLC
| | D0 FD BNE *-1 |
| 10 FC BPL *-2
| | 28 PLP</pre>||Clobbers X |
| 28 PLP</pre>||Clobbers A; and writes in stack | |
| |- | | |- |
| |<pre>08 PHP | | |<pre>08 PHP |
| A0 03 LDY #3 | | A0 08 LDY #8 |
| EA NOP
| |
| 88 DEY | | 88 DEY |
| D0 FA BNE *-4 | | D0 FD BNE *-1 |
| 28 PLP</pre>||Clobbers Y; and writes in stack | | 28 PLP</pre>||Clobbers Y |
| | |- |
| | !colspan="2"|9 bytes |
| |- | | |- |
| |<pre>08 PHP | | |<pre>08 PHP |
| A2 03 LDX #3
| | 48 PHA |
| EA NOP
| | A9 0A LDA #$0A ;hides 'ASL A' |
| CA DEX
| | 18 CLC |
| D0 FA BNE *-4
| | 10 FC BPL *-2 |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>E6 xx INC @zptemp
| |
| 20 xx xx JSR @rts12× 2</pre>||Clobbers Z&N; requires @zptemp, and @rts12; and writes in stack
| |
| |-
| |
| |<pre>24 24 BIT $24
| |
| 20 xx xx JSR @rts12
| |
| 20 xx xx JSR @rts14</pre>||Clobbers Z&N, and V; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| 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
| |
| 20 xx xx JSR @rts12
| |
| 20 xx xx JSR @rts14</pre>||Requires @rts12, @rts14, and support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 68 PLA | | 68 PLA |
| 48 PHA
| | 28 PLP</pre>||No requirements |
| 68 ... PLA × 5</pre>||Clobbers A, S, and Z&N
| |
| |- | | |- |
| |<pre>EA NOP | | |} |
| 48 PHA
| | |
| 20 xx xx JSR @rts12× 2</pre>||Clobbers S; requires @rts12; and writes in stack
| | |
| | === 49 cycles === |
| | {| class="wikitable testtable" |
| | !colspan="2"|4 bytes |
| |- | | |- |
| !colspan="2"|9 bytes
| | |<pre>A0 88 LDY #136 ;hides 'DEY' |
| | 30 FD BMI *-1</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| |<pre>20 xx xx JSR @rts12 | | !colspan="2"|7 bytes |
| 08 PHP
| |
| 26 26 ROL $26
| |
| 66 26 ROR $26
| |
| 28 PLP</pre>||Requires @rts12; and writes in stack
| |
| |- | | |- |
| |<pre>48 PHA | | |<pre>18 CLC |
| | A9 2A LDA #$2A ;hides 'ROL A' |
| 08 PHP | | 08 PHP |
| 28 PLP | | 28 PLP |
| 08 PHP
| | 90 FB BCC *-3</pre>||Clobbers A, Z&N, and C |
| 36 36 ROL $36,X
| |
| 76 36 ROR $36,X
| |
| 28 PLP</pre>||Clobbers S; and writes in stack
| |
| |- | | |- |
| !colspan="2"|10 bytes
| | |<pre>A6 A6 LDX $A6 |
| | A2 08 LDX #8 |
| | CA DEX |
| | 10 FD BPL *-1</pre>||Clobbers X, and Z&N |
| |- | | |- |
| |<pre>08 PHP | | !colspan="2"|8 bytes |
| 26 26 ROL $26
| |
| 66 26 ROR $26
| |
| 36 36 ROL $36,X
| |
| 76 36 ROR $36,X
| |
| 28 PLP</pre>||Writes in stack
| |
| |- | | |- |
| |<pre>68 PLA | | |<pre>C5 C5 CMP $C5 |
| 48 PHA | | 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 A, and Z&N
| |
| |- | | |- |
| |<pre>E6 xx INC @zptemp | | |<pre>08 PHP |
| 36 36 ROL $36,X \ × 2
| | A5 A5 LDA $A5 |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
| | A9 4A LDA #$4A ;hides 'LSR A' |
| | D0 FD BNE *-1 |
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| !colspan="2"|11 bytes | | !colspan="2"|10 bytes |
| |- | | |- |
| |<pre>EA NOP | | |<pre>08 PHP |
| C5 C5 CMP $C5
| | 48 PHA |
| 36 36 ROL $36,X \ × 2
| | A9 2A LDA #$2A ;hides 'ROL A' |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N, and C
| | 08 PHP |
| | 28 PLP |
| | 10 FB BPL *-3 |
| | 68 PLA |
| | 28 PLP</pre>||No requirements |
| |- | | |- |
| |<pre>EA NOP
| | |} |
| 24 24 BIT $24
| | |
| 36 36 ROL $36,X \ × 2
| | |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N, and V
| | === 50 cycles === |
| |-
| |
| |<pre>EA NOP
| |
| 04 04 NOP $04
| |
| 36 36 ROL $36,X \ × 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 \ × 2
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
| |
| |-
| |
| !colspan="2"|15 bytes
| |
| |-
| |
| |<pre>18 ... CLC × 13
| |
| 90 00 BCC *+2</pre>||Clobbers C
| |
| |-
| |
| |<pre>B8 ... CLV × 13
| |
| 50 00 BVC *+2</pre>||Clobbers V
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| EA ... NOP × 13</pre>||Requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| EA ... NOP × 13</pre>||Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|16 bytes
| |
| |-
| |
| |<pre>4C xx xx JMP *+3
| |
| EA ... NOP × 13</pre>||Not relocatable code
| |
| |-
| |
| |} | |
| | |
| | |
| === 30 cycles === | |
| {| class="wikitable testtable" | | {| class="wikitable testtable" |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #3
| |
| 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
| |
| 00 00... BRK 0 × 2</pre>||Clobbers A, S, and Z&N; requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| !colspan="2"|6 bytes | | !colspan="2"|6 bytes |
| |- | | |- |
| |<pre>20 xx xx JSR @rts15× 2</pre>||Requires @rts12, and @rts15; and writes in stack | | |<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>EA ... NOP × 2 | | |<pre>A2 07 LDX #7 |
| 00 00... BRK 0 × 2</pre>||Requires dummy interrupt handler; and writes in stack
| | EA NOP |
| |-
| |
| |<pre>EA NOP
| |
| 68 PLA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 10 FD BPL *-1</pre>||Clobbers A, S, Z&N, and C
| |
| |-
| |
| |<pre>68 PLA
| |
| A2 05 LDX #5
| |
| CA DEX | | CA DEX |
| D0 FB BNE *-3</pre>||Clobbers A, X, S, and Z&N | | D0 FC BNE *-2</pre>||Clobbers X, and Z&N |
| |- | | |- |
| |<pre>68 PLA | | |<pre>A0 06 LDY #6 |
| A0 05 LDY #5 | | EA NOP |
| 88 DEY | | 88 DEY |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| | 10 FC BPL *-2</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| !colspan="2"|7 bytes | | !colspan="2"|7 bytes |
| |- | | |- |
| |<pre>EA ... NOP × 3 | | |<pre>98 TYA |
| A9 0A LDA #$0A ;hides 'ASL A'
| | A0 09 LDY #9 |
| 10 FD BPL *-1</pre>||Clobbers A, Z&N, and C
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 05 LDX #5
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 05 LDY #5 | |
| 88 DEY | | 88 DEY |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N | | D0 FD BNE *-1 |
| |-
| | A8 TAY</pre>||Clobbers A, and Z&N |
| |<pre>EA NOP
| |
| 20 xx xx JSR @rts14× 2</pre>||Requires @rts12, and @rts14; and writes in stack
| |
| |- | | |- |
| !colspan="2"|8 bytes | | !colspan="2"|8 bytes |
| |- | | |- |
| |<pre>48 PHA | | |<pre>48 PHA |
| 18 ... CLC × 2
| | 38 ... SEC × 2 |
| A9 2A LDA #$2A ;hides 'ROL A' | | A9 4A LDA #$4A ;hides 'LSR A' |
| 90 FD BCC *-1
| | D0 FD BNE *-1 |
| 68 PLA</pre>||Clobbers Z&N, and C; and writes in stack | | 68 PLA</pre>||Clobbers Z&N, and C |
| |- | | |- |
| |<pre>08 PHP | | |<pre>08 PHP |
| 18 ... CLC × 2
| | 38 ... SEC × 2 |
| A9 2A LDA #$2A ;hides 'ROL A' | | A9 4A LDA #$4A ;hides 'LSR A' |
| 90 FD BCC *-1
| | D0 FD BNE *-1 |
| 28 PLP</pre>||Clobbers A; and writes in stack | | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| |<pre>EA NOP | | |<pre>08 PHP |
| 08 PHP | | A2 05 LDX #5 |
| A2 04 LDX #4 | | EA NOP |
| CA DEX | | CA DEX |
| D0 FB BNE *-3
| | 10 FC BPL *-2 |
| 28 PLP</pre>||Clobbers X; and writes in stack | | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| |<pre>EA NOP | | |<pre>08 PHP |
| 08 PHP | | A0 06 LDY #6 |
| A0 04 LDY #4 | | EA NOP |
| 88 DEY | | 88 DEY |
| D0 FB BNE *-3 | | D0 FC BNE *-2 |
| 28 PLP</pre>||Clobbers Y; and writes in stack | | 28 PLP</pre>||Clobbers Y |
| |-
| |
| |<pre>EA NOP
| |
| 68 ... PLA × 7</pre>||Clobbers A, S, and Z&N
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 20 xx xx JSR @rts12× 2</pre>||Clobbers S; requires @rts12; and writes in stack
| |
| |- | | |- |
| !colspan="2"|9 bytes | | !colspan="2"|9 bytes |
Line 2,269: |
Line 2,188: |
| |<pre>08 PHP | | |<pre>08 PHP |
| 48 PHA | | 48 PHA |
| 18 CLC
| | A9 E9 LDA #$E9 ;hides 'SBC #$2A' |
| A9 2A LDA #$2A ;hides 'ROL A' | | 2A ROL A ;first loop only |
| 10 FD BPL *-1
| | B0 FC BCS *-2 |
| 68 PLA | | 68 PLA |
| 28 PLP</pre>||Writes in stack | | 28 PLP</pre>||No requirements |
| |-
| |
| |<pre>EA NOP
| |
| 68 PLA \ × 4
| |
| 48 PHA /</pre>||Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 36 36 ROL $36,X \ × 2
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N
| |
| |-
| |
| !colspan="2"|15 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 15</pre>||No requirements
| |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 31 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>18 CLC
| | <pre>.macro branch_check opc, dest |
| A9 0A LDA #$0A ;hides 'ASL A'
| | opc dest |
| 90 FD BCC *-1</pre>||Clobbers A, Z&N, and C
| | .assert >* = >(dest), warning, "branch_check: failed, crosses page" |
| |-
| | .endmacro |
| |<pre>A2 06 LDX #6
| | .macro bccnw dest |
| CA DEX
| | branch_check bcc, dest |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| | .endmacro |
| |-
| | .macro bcsnw dest |
| |<pre>A0 06 LDY #6
| | branch_check bcs, dest |
| 88 DEY
| | .endmacro |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| | .macro beqnw dest |
| |-
| | branch_check beq, dest |
| !colspan="2"|6 bytes
| | .endmacro |
| |-
| | .macro bnenw dest |
| |<pre>48 PHA
| | branch_check bne, dest |
| A9 0A LDA #$0A ;hides 'ASL A'
| | .endmacro |
| 10 FD BPL *-1
| | .macro bminw dest |
| 68 PLA</pre>||Clobbers Z&N, and C; and writes in stack
| | branch_check bmi, dest |
| |-
| | .endmacro |
| |<pre>08 PHP
| | .macro bplnw dest |
| A9 0A LDA #$0A ;hides 'ASL A'
| | branch_check bpl, dest |
| 10 FD BPL *-1
| | .endmacro |
| 28 PLP</pre>||Clobbers A; and writes in stack
| | .macro bvcnw dest |
| |-
| | branch_check bvc, dest |
| |<pre>E6 xx INC @zptemp
| | .endmacro |
| 00 00... BRK 0 × 2</pre>||Clobbers Z&N; requires @zptemp, and dummy interrupt handler; and writes in stack
| | .macro bvsnw dest |
| |-
| | branch_check bvs, dest |
| |<pre>EA NOP
| | .endmacro</pre> |
| 48 PHA
| |
| 00 00... BRK 0 × 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 × 2</pre>||Clobbers C; requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>B8 CLV
| |
| 50 00 BVC *+2
| |
| 00 00... BRK 0 × 2</pre>||Clobbers V; requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 85 xx STA @zptemp
| |
| 00 00... BRK 0 × 2</pre>||Requires @zptemp, and dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 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 × 2</pre>||Requires dummy interrupt handler, and support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 20 xx xx JSR @rts14× 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× 2</pre>||Requires @rts12; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 00 00 BRK 0
| |
| 08 PHP \ × 2
| |
| 28 PLP /</pre>||Requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>68 PLA
| |
| 48 PHA
| |
| 68 ... PLA × 6</pre>||Clobbers A, S, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A2 04 LDX #4
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A0 04 LDY #4
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| A4 A4 LDY $A4
| |
| A0 04 LDY #4
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A6 A6 LDX $A6
| |
| A2 04 LDX #4
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP \ × 4
| |
| 28 PLP /</pre>||Clobbers S; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 36 36 ROL $36,X \ × 2
| |
| 76 36 ROR $36,X /
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |<pre>68 PLA
| |
| 48 PHA
| |
| 36 36 ROL $36,X \ × 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 \ × 2
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| C5 C5 CMP $C5
| |
| 36 36 ROL $36,X \ × 2
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N, and C
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 24 24 BIT $24
| |
| 36 36 ROL $36,X \ × 2
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N, and V
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 04 04 NOP $04
| |
| 36 36 ROL $36,X \ × 2
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 4C xx xx JMP *+3
| |
| 36 36 ROL $36,X \ × 2
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
| |
| |-
| |
| !colspan="2"|16 bytes
| |
| |-
| |
| |<pre>18 ... CLC × 14
| |
| 90 00 BCC *+2</pre>||Clobbers C
| |
| |-
| |
| |<pre>B8 ... CLV × 14
| |
| 50 00 BVC *+2</pre>||Clobbers V
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| EA ... NOP × 14</pre>||Requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| EA ... NOP × 14</pre>||Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|17 bytes
| |
| |-
| |
| |<pre>4C xx xx JMP *+3
| |
| EA ... NOP × 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>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>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>68 ... PLA × 2
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 10 FD BPL *-1</pre>||Clobbers A, S, Z&N, and C
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 00 00... BRK 0 × 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 × 2
| |
| 18 CLC
| |
| 10 FA BPL *-4</pre>||Clobbers A, Z&N, and C
| |
| |-
| |
| |<pre>A2 05 LDX #5
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| F6 xx INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| |<pre>EA NOP
| |
| 20 xx xx JSR @rts15× 2</pre>||Requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>A2 FA LDX #250 ;hides 'NOP'
| |
| EA NOP
| |
| E8 ... INX × 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 × 2
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 00 00... BRK 0 × 2</pre>||Requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A0 05 LDY #5
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A2 05 LDX #5
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>68 PLA
| |
| 20 xx xx JSR @rts14× 2</pre>||Clobbers A, S, and Z&N; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 04 LDY #4
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| A2 04 LDX #4
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 20 xx xx JSR @rts14× 2</pre>||Requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>68 ... PLA × 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 × 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
| |
| A0 03 LDY #3
| |
| C5 C5 CMP $C5
| |
| 88 DEY
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 03 LDX #3
| |
| 24 24 BIT $24
| |
| CA DEX
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers X; 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 × 2
| |
| 20 xx xx JSR @rts12× 2</pre>||Clobbers S; requires @rts12; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 18 ... CLC × 2
| |
| A9 2A LDA #$2A ;hides 'ROL A'
| |
| 10 FD BPL *-1
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 68 PLA \ × 4
| |
| 48 PHA /</pre>||Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>36 36 ROL $36,X
| |
| 76 36 ROR $36,X
| |
| 26 26 ROL $26 \ × 2
| |
| 66 26 ROR $26 /</pre>||Clobbers Z&N
| |
| |-
| |
| !colspan="2"|16 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 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 × 2
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 90 FD BCC *-1</pre>||Clobbers A, Z&N, and C
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 06 LDY #6
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A2 06 LDX #6
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>08 PHP
| |
| 28 PLP
| |
| 00 00... BRK 0 × 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
| |
| A0 05 LDY #5
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 05 LDX #5
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 20 xx xx JSR @rts15× 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× 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× 2</pre>||Requires @zptemp, @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| 20 xx xx JSR @rts15× 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× 2</pre>||Requires @rts12; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 68 PLA
| |
| 48 PHA
| |
| 68 ... PLA × 6</pre>||Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>08 PHP \ × 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 \ × 3
| |
| 48 PHA /</pre>||Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| E6 xx INC @zptemp
| |
| 36 36 ROL $36,X \ × 2
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>C5 C5 CMP $C5
| |
| EA ... NOP × 3
| |
| 36 36 ROL $36,X \ × 2
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N, and C
| |
| |-
| |
| |<pre>24 24 BIT $24
| |
| EA ... NOP × 3
| |
| 36 36 ROL $36,X \ × 2
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N, and V
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| EA ... NOP × 3
| |
| 36 36 ROL $36,X \ × 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 × 3
| |
| 36 36 ROL $36,X \ × 2
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
| |
| |-
| |
| !colspan="2"|17 bytes
| |
| |-
| |
| |<pre>18 ... CLC × 15
| |
| 90 00 BCC *+2</pre>||Clobbers C
| |
| |-
| |
| |<pre>B8 ... CLV × 15
| |
| 50 00 BVC *+2</pre>||Clobbers V
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| EA ... NOP × 15</pre>||Requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| EA ... NOP × 15</pre>||Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|18 bytes
| |
| |-
| |
| |<pre>4C xx xx JMP *+3
| |
| EA ... NOP × 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 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>68 ... PLA × 2
| |
| 00 00... BRK 0 × 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 FB BNE *-3</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>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 × 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 × 2
| |
| 00 00... BRK 0 × 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 × 2
| |
| 20 xx xx JSR @rts15× 2</pre>||Requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 4
| |
| 00 00... BRK 0 × 2</pre>||Requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 20 xx xx JSR @rts14× 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 × 8</pre>||Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 68 PLA \ × 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 \ × 2
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N
| |
| |-
| |
| !colspan="2"|17 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 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 × 2
| |
| 30 FB BMI *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 F8 LDX #248 ;hides 'SED'
| |
| E8 ... INX × 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 FB BNE *-3</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 90 FD BCC *-1</pre>||Clobbers A, Z&N, and C
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 06 LDX #6
| |
| CA DEX
| |
| D0 FB BNE *-3</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 × 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 × 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 × 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
| |
| A0 05 LDY #5
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 05 LDX #5
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 28 PLP
| |
| 20 xx xx JSR @rts14× 2</pre>||Requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>E6 xx INC @zptemp
| |
| 20 xx xx JSR @rts15× 2</pre>||Clobbers Z&N; requires @zptemp, @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 PHA
| |
| 20 xx xx JSR @rts15× 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 × 7</pre>||Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>68 PLA \ × 5
| |
| 48 PHA /</pre>||Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>E6 xx INC @zptemp
| |
| EA ... NOP × 3
| |
| 36 36 ROL $36,X \ × 2
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
| |
| |-
| |
| !colspan="2"|14 bytes
| |
| |-
| |
| |<pre>C5 C5 CMP $C5
| |
| 36 36 ROL $36,X
| |
| 76 36 ROR $36,X
| |
| 26 26 ROL $26 \ × 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 \ × 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 \ × 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 \ × 2
| |
| 66 26 ROR $26 /</pre>||Clobbers Z&N; and not relocatable code
| |
| |-
| |
| !colspan="2"|18 bytes
| |
| |-
| |
| |<pre>18 ... CLC × 16
| |
| 90 00 BCC *+2</pre>||Clobbers C
| |
| |-
| |
| |<pre>B8 ... CLV × 16
| |
| 50 00 BVC *+2</pre>||Clobbers V
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| EA ... NOP × 16</pre>||Requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| EA ... NOP × 16</pre>||Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|19 bytes
| |
| |-
| |
| |<pre>4C xx xx JMP *+3
| |
| EA ... NOP × 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 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 07 LDY #7
| |
| 88 DEY
| |
| D0 FB BNE *-3</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 × 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 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 04 LDY #4
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; 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 × 2</pre>||Requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 20 xx xx JSR @rts15× 2</pre>||Clobbers S; requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>20 xx xx JSR @rts12× 3</pre>||Requires @rts12; and writes in stack
| |
| |-
| |
| |<pre>68 ... PLA × 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"|12 bytes
| |
| |-
| |
| |<pre>36 36 ROL $36,X \ × 3
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N
| |
| |-
| |
| !colspan="2"|18 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 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>A0 04 LDY #4
| |
| 68 PLA
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| |<pre>A2 04 LDX #4
| |
| 68 PLA
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers A, X, 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>A0 04 LDY #4
| |
| EA ... NOP × 2
| |
| 88 DEY
| |
| D0 F9 BNE *-5</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 04 LDX #4
| |
| EA ... NOP × 2
| |
| CA DEX
| |
| D0 F9 BNE *-5</pre>||Clobbers X, 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>08 PHP
| |
| 28 PLP
| |
| 20 xx xx JSR @rts15× 2</pre>||Requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 28 PLP
| |
| 00 00... BRK 0 × 2</pre>||Requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 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 × 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 × 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 × 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 × 2
| |
| 08 PHP
| |
| A0 05 LDY #5
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 05 LDX #5
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 28 PLP
| |
| 20 xx xx JSR @rts14× 2</pre>||Requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 18 ... CLC × 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 × 7</pre>||Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 68 PLA \ × 5
| |
| 48 PHA /</pre>||Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|14 bytes
| |
| |-
| |
| |<pre>C5 C5 CMP $C5
| |
| 26 26 ROL $26
| |
| 66 26 ROR $26
| |
| 36 36 ROL $36,X \ × 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 \ × 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 \ × 2
| |
| 66 26 ROR $26 /</pre>||Clobbers Z&N; and requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| 26 26 ROL $26
| |
| 66 26 ROR $26
| |
| 36 36 ROL $36,X \ × 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 \ × 2
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
| |
| |-
| |
| !colspan="2"|19 bytes
| |
| |-
| |
| |<pre>18 ... CLC × 17
| |
| 90 00 BCC *+2</pre>||Clobbers C
| |
| |-
| |
| |<pre>B8 ... CLV × 17
| |
| 50 00 BVC *+2</pre>||Clobbers V
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| EA ... NOP × 17</pre>||Requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| EA ... NOP × 17</pre>||Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|20 bytes
| |
| |-
| |
| |<pre>4C xx xx JMP *+3
| |
| EA ... NOP × 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 FA BPL *-4</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 07 LDY #7
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A2 07 LDX #7
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, 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 × 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
| |
| A0 06 LDY #6
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 06 LDX #6
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>20 xx xx JSR @rts12
| |
| 00 00... BRK 0 × 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 × 9</pre>||Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>68 PLA \ × 2
| |
| 48 PHA /
| |
| 36 36 ROL $36,X \ × 2
| |
| 76 36 ROR $36,X /</pre>||Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 36 36 ROL $36,X \ × 3
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N
| |
| |-
| |
| !colspan="2"|19 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 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 × 3</pre>||Requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A0 07 LDY #7
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A2 07 LDX #7
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| A2 07 LDX #7
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 07 LDY #7
| |
| 88 DEY
| |
| D0 FB BNE *-3</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
| |
| 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>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>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 × 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 × 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 × 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 FB BNE *-3
| |
| F6 xx INC @zptemp,X
| |
| 28 PLP</pre>||Clobbers X; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>20 xx xx JSR @rts15
| |
| 20 xx xx JSR @rts12× 2</pre>||Requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 FA LDX #250 ;hides 'NOP'
| |
| EA NOP
| |
| E8 ... INX × 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 × 2
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A2 05 LDX #5
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A0 05 LDY #5
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 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 FA BNE *-4
| |
| 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 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 28 PLP
| |
| 20 xx xx JSR @rts14× 2</pre>||Requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>68 PLA
| |
| 48 PHA
| |
| 68 ... PLA × 8</pre>||Clobbers A, S, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| 20 xx xx JSR @rts12× 3</pre>||Clobbers S; requires @rts12; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 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 × 2
| |
| 68 PLA \ × 5
| |
| 48 PHA /</pre>||Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|14 bytes
| |
| |-
| |
| |<pre>C5 C5 CMP $C5
| |
| 36 36 ROL $36,X \ × 3
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N, and C
| |
| |-
| |
| |<pre>24 24 BIT $24
| |
| 36 36 ROL $36,X \ × 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 \ × 2
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| 36 36 ROL $36,X \ × 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 \ × 3
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
| |
| |-
| |
| !colspan="2"|20 bytes
| |
| |-
| |
| |<pre>18 ... CLC × 18
| |
| 90 00 BCC *+2</pre>||Clobbers C
| |
| |-
| |
| |<pre>B8 ... CLV × 18
| |
| 50 00 BVC *+2</pre>||Clobbers V
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| EA ... NOP × 18</pre>||Requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| EA ... NOP × 18</pre>||Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|21 bytes
| |
| |-
| |
| |<pre>4C xx xx JMP *+3
| |
| EA ... NOP × 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>A0 05 LDY #5 ;hides 'ORA zp'
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, and Z&N
| |
| |-
| |
| |<pre>A2 05 LDX #5 ;hides 'ORA zp'
| |
| EA NOP
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, 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 FA BPL *-4</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 07 LDX #7
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 07 LDY #7
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<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 × 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 × 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 × 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 × 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 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 06 LDY #6
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>00 00... BRK 0 × 2
| |
| 08 PHP \ × 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 × 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 \ × 4
| |
| 48 PHA /</pre>||Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|14 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 36 36 ROL $36,X \ × 3
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N
| |
| |-
| |
| !colspan="2"|20 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 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>A0 08 LDY #8
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 08 LDX #8
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, 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 × 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 FB BNE *-3
| |
| 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 FB BNE *-3
| |
| 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 × 8</pre>||Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 68 PLA \ × 5
| |
| 48 PHA /</pre>||Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|14 bytes
| |
| |-
| |
| |<pre>E6 xx INC @zptemp
| |
| 36 36 ROL $36,X \ × 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 \ × 3
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N, and C
| |
| |-
| |
| |<pre>EA NOP
| |
| 24 24 BIT $24
| |
| 36 36 ROL $36,X \ × 3
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| 04 04 NOP $04
| |
| 36 36 ROL $36,X \ × 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 \ × 3
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
| |
| |-
| |
| !colspan="2"|21 bytes
| |
| |-
| |
| |<pre>18 ... CLC × 19
| |
| 90 00 BCC *+2</pre>||Clobbers C
| |
| |-
| |
| |<pre>B8 ... CLV × 19
| |
| 50 00 BVC *+2</pre>||Clobbers V
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| EA ... NOP × 19</pre>||Requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| EA ... NOP × 19</pre>||Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|22 bytes
| |
| |-
| |
| |<pre>4C xx xx JMP *+3
| |
| EA ... NOP × 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 FB BNE *-3
| |
| F6 xx INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| |<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 × 2
| |
| A0 07 LDY #7
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A2 07 LDX #7
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 00 00... BRK 0 × 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 × 3
| |
| A0 07 LDY #7
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A2 07 LDX #7
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 88 LDY #136 ;hides 'DEY'
| |
| 88 ... DEY × 2
| |
| 30 FB BMI *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 F8 LDX #248 ;hides 'SED'
| |
| E8 ... INX × 2
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>24 24 BIT $24
| |
| 00 00... BRK 0 × 3</pre>||Clobbers Z&N, and V; requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| 00 00... BRK 0 × 3</pre>||Requires @zptemp, and dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 00 00... BRK 0 × 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 × 3</pre>||Requires dummy interrupt handler, and support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>20 xx xx JSR @rts12
| |
| 20 xx xx JSR @rts15× 2</pre>||Requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>20 xx xx JSR @rts14× 3</pre>||Requires @rts12, and @rts14; 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 × 2
| |
| 08 PHP \ × 2
| |
| 28 PLP /</pre>||Requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 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 × 10</pre>||Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>68 PLA \ × 6
| |
| 48 PHA /</pre>||Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|15 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 36 36 ROL $36,X \ × 3
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N
| |
| |-
| |
| !colspan="2"|21 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 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 × 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 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 06 LDY #6
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</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 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 07 LDY #7
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 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 × 2
| |
| 00 00... BRK 0 × 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× 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 × 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 × 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 \ × 3
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
| |
| |-
| |
| !colspan="2"|16 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| C5 C5 CMP $C5
| |
| 36 36 ROL $36,X \ × 3
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N, and C
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 24 24 BIT $24
| |
| 36 36 ROL $36,X \ × 3
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N, and V
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 04 04 NOP $04
| |
| 36 36 ROL $36,X \ × 3
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|17 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 4C xx xx JMP *+3
| |
| 36 36 ROL $36,X \ × 3
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
| |
| |-
| |
| !colspan="2"|22 bytes
| |
| |-
| |
| |<pre>18 ... CLC × 20
| |
| 90 00 BCC *+2</pre>||Clobbers C
| |
| |-
| |
| |<pre>B8 ... CLV × 20
| |
| 50 00 BVC *+2</pre>||Clobbers V
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| EA ... NOP × 20</pre>||Requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| EA ... NOP × 20</pre>||Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|23 bytes
| |
| |-
| |
| |<pre>4C xx xx JMP *+3
| |
| EA ... NOP × 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 FB BNE *-3</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 FB BNE *-3</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 × 3</pre>||Clobbers Z&N; requires @zptemp, and dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 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 × 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 × 2
| |
| CA DEX
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 04 LDY #4
| |
| EA ... NOP × 2
| |
| 88 DEY
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>20 xx xx JSR @rts14
| |
| 20 xx xx JSR @rts15× 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 × 3</pre>||Clobbers C; requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>B8 CLV
| |
| 50 00 BVC *+2
| |
| 00 00... BRK 0 × 3</pre>||Clobbers V; requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 85 xx STA @zptemp
| |
| 00 00... BRK 0 × 3</pre>||Requires @zptemp, and dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 00 00... BRK 0 × 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 × 3</pre>||Requires dummy interrupt handler, and support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 20 xx xx JSR @rts14× 3</pre>||Requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 20 xx xx JSR @rts12
| |
| 20 xx xx JSR @rts15× 2</pre>||Requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 00 00... BRK 0 × 2
| |
| 08 PHP \ × 2
| |
| 28 PLP /</pre>||Requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 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 × 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 × 11</pre>||Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 68 PLA \ × 6
| |
| 48 PHA /</pre>||Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|16 bytes
| |
| |-
| |
| |<pre>26 26 ROL $26 \ × 2
| |
| 66 26 ROR $26 /
| |
| 36 36 ROL $36,X \ × 2
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N
| |
| |-
| |
| !colspan="2"|22 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 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>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
| |
| A0 08 LDY #8
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| A2 08 LDX #8
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| D0 FD BNE *-1</pre>||Clobbers A, Z&N, and C
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 08 LDX #8
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 08 LDY #8
| |
| 88 DEY
| |
| D0 FB BNE *-3</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 FA BPL *-4
| |
| 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 FA BPL *-4
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 07 LDY #7
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 07 LDX #7
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 00 00... BRK 0 × 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 × 9</pre>||Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|14 bytes
| |
| |-
| |
| |<pre>36 36 ROL $36,X \ × 2
| |
| 76 36 ROR $36,X /
| |
| 68 PLA \ × 3
| |
| 48 PHA /</pre>||Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|16 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| E6 xx INC @zptemp
| |
| 36 36 ROL $36,X \ × 3
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
| |
| |-
| |
| !colspan="2"|17 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| C5 C5 CMP $C5
| |
| 36 36 ROL $36,X \ × 3
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N, and C
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 24 24 BIT $24
| |
| 36 36 ROL $36,X \ × 3
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N, and V
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 04 04 NOP $04
| |
| 36 36 ROL $36,X \ × 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 × 9</pre>||Clobbers Z&N
| |
| |-
| |
| !colspan="2"|23 bytes
| |
| |-
| |
| |<pre>18 ... CLC × 21
| |
| 90 00 BCC *+2</pre>||Clobbers C
| |
| |-
| |
| |<pre>B8 ... CLV × 21
| |
| 50 00 BVC *+2</pre>||Clobbers V
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| EA ... NOP × 21</pre>||Requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| EA ... NOP × 21</pre>||Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|24 bytes
| |
| |-
| |
| |<pre>4C xx xx JMP *+3
| |
| EA ... NOP × 21</pre>||Not relocatable code
| |
| |-
| |
| |}
| |
| | |
| | |
| === 46 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A0 09 LDY #9
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 09 LDX #9
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, 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 × 3</pre>||Requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A0 07 LDY #7
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A2 07 LDX #7
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| A4 A4 LDY $A4
| |
| A0 07 LDY #7
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A6 A6 LDX $A6
| |
| A2 07 LDX #7
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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× 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 × 2
| |
| 18 CLC
| |
| 10 FA BPL *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 68 ... PLA × 11</pre>||Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|14 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 68 PLA \ × 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 \ × 3
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N
| |
| |-
| |
| !colspan="2"|23 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 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 × 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 FB BNE *-3
| |
| F6 xx INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| |<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 × 2
| |
| A2 08 LDX #8
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A0 08 LDY #8
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 68 PLA
| |
| A0 08 LDY #8
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| 68 PLA
| |
| A2 08 LDX #8
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, 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 × 3
| |
| A0 08 LDY #8
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A2 08 LDX #8
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<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>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>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 FA BPL *-4
| |
| 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 FA BPL *-4
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 07 LDX #7
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A0 07 LDY #7
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; 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>08 PHP
| |
| 28 PLP
| |
| 00 00... BRK 0 × 2
| |
| 20 xx xx JSR @rts14</pre>||Requires dummy interrupt handler, @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 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 × 2
| |
| 00 00... BRK 0 × 3</pre>||Clobbers S; requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 18 ... CLC × 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 × 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 \ × 5
| |
| 48 PHA /</pre>||Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|17 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| E6 xx INC @zptemp
| |
| 36 36 ROL $36,X \ × 3
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
| |
| |-
| |
| !colspan="2"|18 bytes
| |
| |-
| |
| |<pre>C5 C5 CMP $C5
| |
| 26 26 ROL $26 \ × 2
| |
| 66 26 ROR $26 /
| |
| 36 36 ROL $36,X \ × 2
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N, and C
| |
| |-
| |
| |<pre>24 24 BIT $24
| |
| 26 26 ROL $26 \ × 2
| |
| 66 26 ROR $26 /
| |
| 36 36 ROL $36,X \ × 2
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N, and V
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| 26 26 ROL $26 \ × 2
| |
| 66 26 ROR $26 /
| |
| 36 36 ROL $36,X \ × 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 × 9</pre>||Clobbers Z&N
| |
| |-
| |
| !colspan="2"|24 bytes
| |
| |-
| |
| |<pre>18 ... CLC × 22
| |
| 90 00 BCC *+2</pre>||Clobbers C
| |
| |-
| |
| |<pre>B8 ... CLV × 22
| |
| 50 00 BVC *+2</pre>||Clobbers V
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| EA ... NOP × 22</pre>||Requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| EA ... NOP × 22</pre>||Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|25 bytes
| |
| |-
| |
| |<pre>4C xx xx JMP *+3
| |
| EA ... NOP × 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
| |
| A0 09 LDY #9
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A2 09 LDX #9
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, 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
| |
| A0 08 LDY #8
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 08 LDX #8
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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 × 12</pre>||Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|15 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 68 PLA \ × 6
| |
| 48 PHA /</pre>||Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|16 bytes
| |
| |-
| |
| |<pre>36 36 ROL $36,X \ × 4
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N
| |
| |-
| |
| !colspan="2"|24 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 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 FA BNE *-4</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 FB BNE *-3</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 × 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 × 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 FB BNE *-3
| |
| F6 xx INC @zptemp,X
| |
| 28 PLP</pre>||Clobbers X; requires @zptemp; 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 × 2
| |
| 08 PHP
| |
| A0 07 LDY #7
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A2 07 LDX #7
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 28 PLP
| |
| 00 00... BRK 0 × 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 × 10</pre>||Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|14 bytes
| |
| |-
| |
| |<pre>68 PLA \ × 7
| |
| 48 PHA /</pre>||Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|18 bytes
| |
| |-
| |
| |<pre>C5 C5 CMP $C5
| |
| 26 26 ROL $26
| |
| 66 26 ROR $26
| |
| 36 36 ROL $36,X \ × 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 \ × 3
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N, and V
| |
| |-
| |
| |<pre>E6 xx INC @zptemp
| |
| 26 26 ROL $26 \ × 2
| |
| 66 26 ROR $26 /
| |
| 36 36 ROL $36,X \ × 2
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| 26 26 ROL $26
| |
| 66 26 ROR $26
| |
| 36 36 ROL $36,X \ × 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 \ × 3
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
| |
| |-
| |
| !colspan="2"|20 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 26 26... ROL $26 × 9</pre>||Clobbers Z&N
| |
| |-
| |
| !colspan="2"|25 bytes
| |
| |-
| |
| |<pre>18 ... CLC × 23
| |
| 90 00 BCC *+2</pre>||Clobbers C
| |
| |-
| |
| |<pre>B8 ... CLV × 23
| |
| 50 00 BVC *+2</pre>||Clobbers V
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| EA ... NOP × 23</pre>||Requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| EA ... NOP × 23</pre>||Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|26 bytes
| |
| |-
| |
| |<pre>4C xx xx JMP *+3
| |
| EA ... NOP × 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>A0 07 LDY #7
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 07 LDX #7
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, 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 × 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 × 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 × 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 × 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 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 06 LDY #6
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 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 × 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 × 8
| |
| 10 F4 BPL *-10</pre>||Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|17 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 36 36 ROL $36,X \ × 4
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N
| |
| |-
| |
| !colspan="2"|25 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 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 0A LDX #10
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 0A LDY #10
| |
| 88 DEY
| |
| D0 FB BNE *-3</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 × 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 FB BNE *-3
| |
| 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 FB BNE *-3
| |
| 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 × 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 × 11</pre>||Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|15 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 68 PLA \ × 7
| |
| 48 PHA /</pre>||Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|18 bytes
| |
| |-
| |
| |<pre>C5 C5 CMP $C5
| |
| 36 36 ROL $36,X \ × 4
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N, and C
| |
| |-
| |
| |<pre>24 24 BIT $24
| |
| 36 36 ROL $36,X \ × 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 \ × 3
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| 36 36 ROL $36,X \ × 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 \ × 4
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
| |
| |-
| |
| !colspan="2"|21 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 26 26... ROL $26 × 9</pre>||Clobbers Z&N
| |
| |-
| |
| !colspan="2"|26 bytes
| |
| |-
| |
| |<pre>18 ... CLC × 24
| |
| 90 00 BCC *+2</pre>||Clobbers C
| |
| |-
| |
| |<pre>B8 ... CLV × 24
| |
| 50 00 BVC *+2</pre>||Clobbers V
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| EA ... NOP × 24</pre>||Requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| EA ... NOP × 24</pre>||Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|27 bytes
| |
| |-
| |
| |<pre>4C xx xx JMP *+3
| |
| EA ... NOP × 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 F9 BPL *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| A2 07 LDX #7
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4</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>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 × 4</pre>||Requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 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 × 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 × 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 × 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 × 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 × 2
| |
| 08 PHP
| |
| A0 08 LDY #8
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 08 LDX #8
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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 FA BPL *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>68 ... PLA × 13</pre>||Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|16 bytes
| |
| |-
| |
| |<pre>36 36 ROL $36,X \ × 2
| |
| 76 36 ROR $36,X /
| |
| 68 PLA \ × 4
| |
| 48 PHA /</pre>||Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|18 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 36 36 ROL $36,X \ × 4
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N
| |
| |-
| |
| !colspan="2"|26 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 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 FA BMI *-4</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| A2 0A LDX #10
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 0A LDY #10
| |
| 88 DEY
| |
| D0 FB BNE *-3</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 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 09 LDY #9
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 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 \ × 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 × 11</pre>||Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|16 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 68 PLA \ × 7
| |
| 48 PHA /</pre>||Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|18 bytes
| |
| |-
| |
| |<pre>E6 xx INC @zptemp
| |
| 36 36 ROL $36,X \ × 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 \ × 4
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N, and C
| |
| |-
| |
| |<pre>EA NOP
| |
| 24 24 BIT $24
| |
| 36 36 ROL $36,X \ × 4
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| 04 04 NOP $04
| |
| 36 36 ROL $36,X \ × 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 \ × 4
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
| |
| |-
| |
| !colspan="2"|22 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 4
| |
| 26 26... ROL $26 × 9</pre>||Clobbers Z&N
| |
| |-
| |
| !colspan="2"|27 bytes
| |
| |-
| |
| |<pre>18 ... CLC × 25
| |
| 90 00 BCC *+2</pre>||Clobbers C
| |
| |-
| |
| |<pre>B8 ... CLV × 25
| |
| 50 00 BVC *+2</pre>||Clobbers V
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| EA ... NOP × 25</pre>||Requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| EA ... NOP × 25</pre>||Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|28 bytes
| |
| |-
| |
| |<pre>4C xx xx JMP *+3
| |
| EA ... NOP × 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 × 2
| |
| 10 FB BPL *-3</pre>||Clobbers A, S, Z&N, and C; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A2 0A LDX #10
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A0 0A LDY #10
| |
| 88 DEY
| |
| D0 FB BNE *-3</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 × 2
| |
| 18 CLC
| |
| 10 FA BPL *-4</pre>||Clobbers A, Z&N, and C
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| A2 0A LDX #10
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 0A LDY #10
| |
| 88 DEY
| |
| D0 FB BNE *-3</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 × 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 FB BNE *-3
| |
| F6 xx INC @zptemp,X
| |
| 28 PLP</pre>||Clobbers X; requires @zptemp; 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 × 4</pre>||Requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 ... PHA × 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 × 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 × 2
| |
| 08 PHP
| |
| A2 08 LDX #8
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A0 08 LDY #8
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 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 × 3
| |
| 08 PHP
| |
| A0 08 LDY #8
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| A2 08 LDX #8
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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 FA BPL *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| !colspan="2"|14 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 68 ... PLA × 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 \ × 6
| |
| 48 PHA /</pre>||Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|18 bytes
| |
| |-
| |
| |<pre>36 36... ROL $36,X× 9</pre>||Clobbers Z&N
| |
| |-
| |
| !colspan="2"|27 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 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>A0 F8 LDY #248 ;hides 'SED'
| |
| C8 INY
| |
| D0 FC BNE *-2</pre>||Clobbers Y, Z&N, and D
| |
| |-
| |
| |<pre>A2 F8 LDX #248 ;hides 'SED'
| |
| E8 INX
| |
| D0 FC BNE *-2</pre>||Clobbers X, Z&N, and D
| |
| |-
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A0 88 LDY #136 ;hides 'DEY'
| |
| 30 FD BMI *-1</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>A0 06 LDY #6
| |
| 68 PLA
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| |<pre>A2 06 LDX #6
| |
| 68 PLA
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A0 06 LDY #6
| |
| EA ... NOP × 2
| |
| 88 DEY
| |
| D0 F9 BNE *-5</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 06 LDX #6
| |
| EA ... NOP × 2
| |
| CA DEX
| |
| D0 F9 BNE *-5</pre>||Clobbers X, 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
| |
| A0 09 LDY #9
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 09 LDX #9
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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 × 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 × 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 \ × 4
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
| |
| |-
| |
| !colspan="2"|20 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| C5 C5 CMP $C5
| |
| 36 36 ROL $36,X \ × 4
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N, and C
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 24 24 BIT $24
| |
| 36 36 ROL $36,X \ × 4
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N, and V
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 04 04 NOP $04
| |
| 36 36 ROL $36,X \ × 4
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|21 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 4C xx xx JMP *+3
| |
| 36 36 ROL $36,X \ × 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 × 9</pre>||Clobbers Z&N
| |
| |-
| |
| !colspan="2"|28 bytes
| |
| |-
| |
| |<pre>18 ... CLC × 26
| |
| 90 00 BCC *+2</pre>||Clobbers C
| |
| |-
| |
| |<pre>B8 ... CLV × 26
| |
| 50 00 BVC *+2</pre>||Clobbers V
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| EA ... NOP × 26</pre>||Requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| EA ... NOP × 26</pre>||Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|29 bytes
| |
| |-
| |
| |<pre>4C xx xx JMP *+3
| |
| EA ... NOP × 26</pre>||Not relocatable code
| |
| |-
| |
| |}
| |
| | |
| | |
| === 56 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A0 0B LDY #11
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 0B LDX #11
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, 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 × 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 × 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 FB BNE *-3
| |
| 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 F9 BNE *-5
| |
| 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 × 14</pre>||Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|16 bytes
| |
| |-
| |
| |<pre>68 PLA \ × 8
| |
| 48 PHA /</pre>||Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|19 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 36 36... ROL $36,X× 9</pre>||Clobbers Z&N
| |
| |-
| |
| !colspan="2"|28 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 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>A0 08 LDY #8
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 08 LDX #8
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, 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 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 07 LDY #7
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 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 × 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 × 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 × 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× 9</pre>||Clobbers Z&N, and C
| |
| |-
| |
| |<pre>24 24 BIT $24
| |
| 36 36... ROL $36,X× 9</pre>||Clobbers Z&N, and V
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| 36 36... ROL $36,X× 9</pre>||Clobbers Z&N; and requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| 36 36... ROL $36,X× 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× 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 × 9</pre>||Clobbers Z&N
| |
| |-
| |
| !colspan="2"|29 bytes
| |
| |-
| |
| |<pre>18 ... CLC × 27
| |
| 90 00 BCC *+2</pre>||Clobbers C
| |
| |-
| |
| |<pre>B8 ... CLV × 27
| |
| 50 00 BVC *+2</pre>||Clobbers V
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| EA ... NOP × 27</pre>||Requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| EA ... NOP × 27</pre>||Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|30 bytes
| |
| |-
| |
| |<pre>4C xx xx JMP *+3
| |
| EA ... NOP × 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
| |
| A0 0B LDY #11
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A2 0B LDX #11
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 EB LDA #$EB ;hides 'SBC #$1A'
| |
| 1A NOP ;first loop only
| |
| B0 FA BCS *-4</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 0A LDX #10
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 0A LDY #10
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 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 × 14</pre>||Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|17 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 68 PLA \ × 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 \ × 4
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N
| |
| |-
| |
| !colspan="2"|29 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 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 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A0 0B LDY #11
| |
| 88 DEY
| |
| D0 FB BNE *-3</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 × 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 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 0B LDY #11
| |
| 88 DEY
| |
| D0 FB BNE *-3</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 F9 BPL *-5
| |
| 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 F9 BPL *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 07 LDX #7
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 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>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 × 4</pre>||Requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 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 × 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 × 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 × 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× 9</pre>||Clobbers Z&N; and requires @zptemp
| |
| |-
| |
| !colspan="2"|21 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| C5 C5 CMP $C5
| |
| 36 36... ROL $36,X× 9</pre>||Clobbers Z&N, and C
| |
| |-
| |
| |<pre>EA NOP
| |
| 24 24 BIT $24
| |
| 36 36... ROL $36,X× 9</pre>||Clobbers Z&N, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| 04 04 NOP $04
| |
| 36 36... ROL $36,X× 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× 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 × 9</pre>||Clobbers Z&N
| |
| |-
| |
| !colspan="2"|30 bytes
| |
| |-
| |
| |<pre>18 ... CLC × 28
| |
| 90 00 BCC *+2</pre>||Clobbers C
| |
| |-
| |
| |<pre>B8 ... CLV × 28
| |
| 50 00 BVC *+2</pre>||Clobbers V
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| EA ... NOP × 28</pre>||Requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| EA ... NOP × 28</pre>||Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|31 bytes
| |
| |-
| |
| |<pre>4C xx xx JMP *+3
| |
| EA ... NOP × 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 FB BNE *-3</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| A0 0B LDY #11
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 0B LDY #11
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 0B LDX #11
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, 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 FA BCS *-4</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 FA BMI *-4
| |
| 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 FA BMI *-4
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 0A LDX #10
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 0A LDY #10
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 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 × 15</pre>||Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|18 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 68 PLA \ × 8
| |
| 48 PHA /</pre>||Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|20 bytes
| |
| |-
| |
| |<pre>36 36 ROL $36,X \ × 5
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N
| |
| |-
| |
| !colspan="2"|30 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 30</pre>||No requirements
| |
| |-
| |
| |}
| |
| | |
| | |
| === 61 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A0 0C LDY #12
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 0C LDX #12
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, 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 × 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 × 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
| |
| A0 0A LDY #10
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A2 0A LDX #10
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 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'
| |
| EA ... NOP × 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 × 2
| |
| 18 CLC
| |
| 10 FA BPL *-4
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A4 A4 LDY $A4
| |
| A0 0A LDY #10
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A6 A6 LDX $A6
| |
| A2 0A LDX #10
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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>EA NOP
| |
| 08 PHP
| |
| 28 PLP
| |
| 00 00... BRK 0 × 4</pre>||Requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 ... PHA × 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 × 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 \ × 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× 9</pre>||Clobbers Z&N; and requires @zptemp
| |
| |-
| |
| !colspan="2"|22 bytes
| |
| |-
| |
| |<pre>C5 C5 CMP $C5
| |
| 26 26 ROL $26
| |
| 66 26 ROR $26
| |
| 36 36 ROL $36,X \ × 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 \ × 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 \ × 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 \ × 4
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
| |
| |-
| |
| !colspan="2"|24 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 36 36 ROL $36,X
| |
| 76 36 ROR $36,X
| |
| 26 26... ROL $26 × 9</pre>||Clobbers Z&N
| |
| |-
| |
| !colspan="2"|31 bytes
| |
| |-
| |
| |<pre>18 ... CLC × 29
| |
| 90 00 BCC *+2</pre>||Clobbers C
| |
| |-
| |
| |<pre>B8 ... CLV × 29
| |
| 50 00 BVC *+2</pre>||Clobbers V
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| EA ... NOP × 29</pre>||Requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| EA ... NOP × 29</pre>||Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|32 bytes
| |
| |-
| |
| |<pre>4C xx xx JMP *+3
| |
| EA ... NOP × 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 FB BNE *-3
| |
| F6 xx INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| |<pre>EA NOP
| |
| 68 PLA
| |
| A0 0B LDY #11
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| 68 PLA
| |
| A2 0B LDX #11
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A2 0B LDX #11
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A0 0B LDY #11
| |
| 88 DEY
| |
| D0 FB BNE *-3</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 × 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 × 11
| |
| 10 F1 BPL *-13</pre>||Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|21 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 36 36 ROL $36,X \ × 5
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N
| |
| |-
| |
| !colspan="2"|31 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 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
| |
| A0 0C LDY #12
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A2 0C LDX #12
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, 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 F9 BNE *-5</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
| |
| A0 0B LDY #11
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 0B LDX #11
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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 × 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 × 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 × 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 × 2
| |
| 10 F8 BPL *-6</pre>||Clobbers A, and Z&N; requires dummy interrupt handler; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 ... PHA × 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 × 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 × 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 × 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 × 14</pre>||Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|18 bytes
| |
| |-
| |
| |<pre>68 PLA \ × 9
| |
| 48 PHA /</pre>||Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|22 bytes
| |
| |-
| |
| |<pre>C5 C5 CMP $C5
| |
| 36 36 ROL $36,X \ × 5
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N, and C
| |
| |-
| |
| |<pre>24 24 BIT $24
| |
| 36 36 ROL $36,X \ × 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 \ × 4
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| 36 36 ROL $36,X \ × 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 \ × 5
| |
| 76 36 ROR $36,X /</pre>||Clobbers Z&N; and not relocatable code
| |
| |-
| |
| !colspan="2"|25 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 36 36 ROL $36,X
| |
| 76 36 ROR $36,X
| |
| 26 26... ROL $26 × 9</pre>||Clobbers Z&N
| |
| |-
| |
| !colspan="2"|32 bytes
| |
| |-
| |
| |<pre>18 ... CLC × 30
| |
| 90 00 BCC *+2</pre>||Clobbers C
| |
| |-
| |
| |<pre>B8 ... CLV × 30
| |
| 50 00 BVC *+2</pre>||Clobbers V
| |
| |-
| |
| |<pre>85 xx STA @zptemp
| |
| EA ... NOP × 30</pre>||Requires @zptemp
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| EA ... NOP × 30</pre>||Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|33 bytes
| |
| |-
| |
| |<pre>4C xx xx JMP *+3
| |
| EA ... NOP × 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 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 09 LDY #9
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</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 × 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 × 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>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
| |
| A0 08 LDY #8
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 08 LDX #8
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; 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
| |
| |-
| |
| |}
| |
| * From 64 cycles onwards, these tables quit considering writing into stack as a drawback.
| |
| | |
| | |
| === 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>A0 08 LDY #8
| |
| 48 PHA
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>A2 08 LDX #8
| |
| 48 PHA
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 0C LDX #12
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 0C LDY #12
| |
| 88 DEY
| |
| D0 FB BNE *-3</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 F9 BNE *-5</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 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 0B LDY #11
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 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 FA BCS *-4
| |
| 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 FA BCS *-4
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>00 00... BRK 0 × 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 × 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>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
| |
| |-
| |
| |}
| |
| | |
| | |
| === 66 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A2 0D LDX #13
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 0D LDY #13
| |
| 88 DEY
| |
| D0 FB BNE *-3</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>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>48 PHA
| |
| 08 PHP
| |
| A0 0B LDY #11
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A2 0B LDX #11
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| A4 A4 LDY $A4
| |
| A0 0B LDY #11
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A6 A6 LDX $A6
| |
| A2 0B LDX #11
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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 F9 BPL *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FB BNE *-3
| |
| F6 xx INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| |<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>A0 06 LDY #6
| |
| 48 ... PHA × 2
| |
| 88 DEY
| |
| D0 F9 BNE *-5</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>A2 06 LDX #6
| |
| 48 ... PHA × 2
| |
| CA DEX
| |
| D0 F9 BNE *-5</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| EA ... NOP × 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 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 09 LDY #9
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>98 TYA
| |
| 48 PHA
| |
| A0 0B LDY #11
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A0 0B LDY #11
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 0B LDX #11
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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 FA BCS *-4
| |
| 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 FA BCS *-4
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 ... PHA × 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 FA BMI *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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
| |
| A0 0D LDY #13
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A2 0D LDX #13
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 0D LDA #13
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 0C LDX #12
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 0C LDY #12
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 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
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<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 × 2
| |
| 18 CLC
| |
| 10 FA BPL *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FB BNE *-3</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 FB BNE *-3</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>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
| |
| |-
| |
| !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
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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
| |
| A0 0D LDY #13
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| A2 0D LDX #13
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 0D LDY #13
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 0D LDX #13
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, 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 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 0C LDY #12
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 0C LDX #12
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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>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>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 F9 BNE *-5
| |
| 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 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<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
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 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
| |
| |-
| |
| !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 × 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 × 2
| |
| 18 CLC
| |
| 10 FA BPL *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 71 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A2 0E LDX #14
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 0E LDY #14
| |
| 88 DEY
| |
| D0 FB BNE *-3</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
| |
| A0 09 LDY #9
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 09 LDX #9
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; 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 × 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 × 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
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FB BNE *-3
| |
| 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 × 2
| |
| A2 0D LDX #13
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A2 0D LDX #13
| |
| CA DEX
| |
| D0 FB BNE *-3</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>48 ... PHA × 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>98 TYA
| |
| 48 PHA
| |
| A0 0C LDY #12
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 08 LDY #8
| |
| C5 C5 CMP $C5
| |
| 88 DEY
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 08 LDX #8
| |
| C5 C5 CMP $C5
| |
| CA DEX
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers X; 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>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>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 F9 BNE *-5
| |
| 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 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<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 FA BCS *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>00 00... BRK 0 × 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
| |
| |-
| |
| !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
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 0E LDY #14
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$5A'
| |
| 5A NOP ;first loop only
| |
| D0 FA BNE *-4</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>18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 08 PHP
| |
| 28 PLP
| |
| 90 FB BCC *-3</pre>||Clobbers A, Z&N, and C; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 0D LDY #13
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 0D LDX #13
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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 × 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 × 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
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A0 0E LDY #14
| |
| 88 DEY
| |
| D0 FB BNE *-3</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 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 0E LDY #14
| |
| 88 DEY
| |
| D0 FB BNE *-3</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
| |
| |-
| |
| |<pre>A9 0A LDA #$0A ;hides 'ASL A'
| |
| 08 PHP
| |
| 24 24 BIT $24
| |
| 28 PLP
| |
| 10 F9 BPL *-5</pre>||Clobbers A, Z&N, and C; and writes in stack
| |
| |-
| |
| !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 FB BNE *-3
| |
| F6 xx INC @zptemp,X
| |
| 28 PLP</pre>||Clobbers X; requires @zptemp; 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 FA BNE *-4
| |
| 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 FA BNE *-4
| |
| 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 × 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 × 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 F9 BNE *-5
| |
| 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 F9 BNE *-5
| |
| 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 FB BNE *-3
| |
| 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 FA BCS *-4
| |
| 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
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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
| |
| A0 0E LDY #14
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| A2 0E LDX #14
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 0E LDY #14
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 0E LDX #14
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, 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 FA BNE *-4</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 × 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
| |
| A0 0D LDY #13
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 0D LDX #13
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 0D LDA #13
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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 F9 BNE *-5
| |
| 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 × 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
| |
| |-
| |
| |}
| |
| | |
| | |
| === 76 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A2 0F LDX #15
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 0F LDY #15
| |
| 88 DEY
| |
| D0 FB BNE *-3</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 FA BNE *-4</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 FB BNE *-3
| |
| 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>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 FB BNE *-3
| |
| 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
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FB BNE *-3
| |
| F6 xx INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| |<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>48 ... PHA × 2
| |
| A0 0E LDY #14
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A2 0E LDX #14
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>68 PLA
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$5A'
| |
| 5A NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, S, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A2 0E LDX #14
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A0 0E LDY #14
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<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 × 2
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$5A'
| |
| 5A NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 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"|9 bytes
| |
| |-
| |
| |<pre>8C TXA
| |
| 48 PHA
| |
| A2 0D LDX #13
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 0D LDX #13
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A0 0D LDY #13
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 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 F9 BNE *-5
| |
| 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 F9 BNE *-5
| |
| 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 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 0B LDY #11
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$08'
| |
| 08 PHP ;first loop only
| |
| 30 FA BMI *-4</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 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 0E LDY #14
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 0E LDX #14
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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>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 × 2
| |
| B0 FA BCS *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FB BNE *-3</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 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 0F LDY #15
| |
| 88 DEY
| |
| D0 FB BNE *-3</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>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>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 FB BNE *-3
| |
| 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 × 2
| |
| 08 PHP
| |
| A2 0D LDX #13
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 0D LDX #13
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| A2 0D LDX #13
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 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 × 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 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 0D LDA #13
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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
| |
| A0 0F LDY #15
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| A2 0F LDX #15
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 0F LDY #15
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 0F LDX #15
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, 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 F9 BCS *-5</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 F8 BNE *-6</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 0E LDY #14
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 0E LDX #14
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$5A'
| |
| 5A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 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 FA BNE *-4
| |
| 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>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
| |
| |-
| |
| |}
| |
| | |
| | |
| === 81 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A2 10 LDX #16
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 10 LDY #16
| |
| 88 DEY
| |
| D0 FB BNE *-3</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 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A0 0E LDY #14
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 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>08 PHP
| |
| A4 A4 LDY $A4
| |
| A0 0E LDY #14
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A6 A6 LDX $A6
| |
| A2 0E LDX #14
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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 × 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>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>08 PHP
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 08 PHP
| |
| 24 24 BIT $24
| |
| 28 PLP
| |
| 10 F9 BPL *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| EA ... NOP × 3
| |
| 90 FA BCC *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FA BNE *-4</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A2 09 LDX #9
| |
| EA ... NOP × 2
| |
| CA DEX
| |
| D0 F9 BNE *-5</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 09 LDY #9
| |
| EA ... NOP × 2
| |
| 88 DEY
| |
| D0 F9 BNE *-5</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 F9 BCS *-5</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>8C TXA
| |
| 48 PHA
| |
| A2 0E LDX #14
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A0 0E LDY #14
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 0E LDX #14
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<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 FA BNE *-4
| |
| 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 69 LDA #$69 ;hides 'ADC #$5A'
| |
| 5A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 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 × 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 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FA BPL *-4</pre>||Clobbers A, Z&N, C, V, and D
| |
| |-
| |
| |<pre>EA NOP
| |
| A2 10 LDX #16
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 10 LDY #16
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 10 LDA #16
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 0F LDY #15
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 0F LDX #15
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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"|9 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 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 × 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 × 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>48 ... PHA × 2
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$5A'
| |
| 5A NOP ;first loop only
| |
| D0 FA BNE *-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
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$5A'
| |
| 5A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 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 FA BNE *-4
| |
| 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 FA BNE *-4
| |
| 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 × 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
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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
| |
| A0 10 LDY #16
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A2 10 LDX #16
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| A2 10 LDX #16
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 10 LDY #16
| |
| 88 DEY
| |
| D0 FB BNE *-3</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 × 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 × 4
| |
| 10 F9 BPL *-5</pre>||Clobbers A, S, Z&N, and C; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<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>08 PHP
| |
| A2 0E LDX #14
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| F6 xx INC @zptemp,X
| |
| 28 PLP</pre>||Clobbers X; requires @zptemp; 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>48 ... PHA × 2
| |
| 08 PHP
| |
| A0 0E LDY #14
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A2 0E LDX #14
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, 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 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A, S, and Z&N; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 0E LDX #14
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| A0 0E LDY #14
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| A2 0E LDX #14
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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 × 2
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$5A'
| |
| 5A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$5A'
| |
| 5A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 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 × 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
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 0D LDX #13
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 0D LDX #13
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 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 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 0C LDY #12
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<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>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
| |
| A0 0B LDY #11
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 0B LDX #11
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 0F LDA #15
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<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
| |
| |-
| |
| !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
| |
| |-
| |
| |}
| |
| | |
| | |
| === 86 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A0 11 LDY #17
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 11 LDX #17
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, 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 FA BPL *-4</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 FA BPL *-4</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 FA BNE *-4</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 FB BNE *-3
| |
| 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>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 FB BNE *-3
| |
| 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>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
| |
| |-
| |
| !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
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 0D LDX #13
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 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 × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 0D LDA #13
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 × 2
| |
| D0 FB BNE *-3</pre>||Clobbers A, S, Z&N, and C; and writes in stack
| |
| |-
| |
| |<pre>A0 F8 LDY #248 ;hides 'SED'
| |
| 68 PLA
| |
| C8 INY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, Z&N, and D
| |
| |-
| |
| |<pre>A2 F8 LDX #248 ;hides 'SED'
| |
| 68 PLA
| |
| E8 INX
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, S, Z&N, and D
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A9 0A LDA #$0A ;hides 'ASL A'
| |
| EA ... NOP × 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 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 0C LDY #12
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</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>8C TXA
| |
| 48 PHA
| |
| A2 0F LDX #15
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A0 0F LDY #15
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 0F LDX #15
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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 F9 BCS *-5
| |
| 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 F9 BCS *-5
| |
| 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 F8 BNE *-6
| |
| 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 F8 BNE *-6
| |
| 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 FA BNE *-4
| |
| 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
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FA BPL *-4</pre>||Clobbers A, Z&N, C, V, and D
| |
| |-
| |
| |<pre>EA NOP
| |
| A2 11 LDX #17
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 11 LDY #17
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 11 LDA #17
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 10 LDY #16
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 10 LDX #16
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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 × 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 × 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>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>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>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"|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
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 × 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 FA BNE *-4</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 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<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 × 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 × 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 × 2
| |
| CA DEX
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 09 LDY #9
| |
| EA ... NOP × 2
| |
| 88 DEY
| |
| D0 F9 BNE *-5
| |
| 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>8C TXA
| |
| 48 PHA
| |
| A2 0B LDX #11
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| AA TAX</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 F9 BCS *-5
| |
| 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 F9 BCS *-5
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 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 × 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 × 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
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 0E LDX #14
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 0F LDA #15
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 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
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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
| |
| A0 11 LDY #17
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| A2 11 LDX #17
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, 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 FA BPL *-4</pre>||Clobbers A, Z&N, C, V, and D
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 11 LDX #17
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 11 LDY #17
| |
| 88 DEY
| |
| D0 FB BNE *-3</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 × 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 FA BPL *-4
| |
| 68 PLA</pre>||Clobbers Z&N, C, V, and D; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 10 FA BPL *-4
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 10 LDY #16
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 10 LDX #16
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 10 LDA #16
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<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 × 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 × 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 × 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 FA BNE *-4
| |
| 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 FA BNE *-4
| |
| 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
| |
| |-
| |
| |}
| |
| | |
| | |
| === 91 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A2 12 LDX #18
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 12 LDY #18
| |
| 88 DEY
| |
| D0 FB BNE *-3</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 × 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 × 2
| |
| D0 FB BNE *-3</pre>||Clobbers A, S, Z&N, and C; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A2 10 LDX #16
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A0 10 LDY #16
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 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 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A4 A4 LDY $A4
| |
| A0 10 LDY #16
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 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
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 0F LDX #15
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 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
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 08 PHP
| |
| 24 24 BIT $24
| |
| 28 PLP
| |
| 18 CLC
| |
| 10 F8 BPL *-6
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 0E LDX #14
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; 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 × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$5A'
| |
| 5A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 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
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 0D LDX #13
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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>A0 0D LDY #13
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 0D LDX #13
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, 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 FA BPL *-4</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 × 2
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 10 FA BPL *-4</pre>||Clobbers A, Z&N, C, V, and D
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 0C LDX #12
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 0C LDY #12
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>A9 2A LDA #$2A ;hides 'ROL A'
| |
| 00 00... BRK 0 × 2
| |
| 10 F9 BPL *-5</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 × 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
| |
| 08 PHP
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 10 FA BPL *-4
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<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
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 0F LDA #15
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 12 LDY #18
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 12 LDA #18
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 11 LDY #17
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 11 LDX #17
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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 × 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 × 2
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 48 ... PHA × 2
| |
| D0 FB BNE *-3</pre>||Clobbers A, S, Z&N, and C; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<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 × 2
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 10 FA BPL *-4
| |
| 68 PLA</pre>||Clobbers S, Z&N, C, V, and D; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 10 FA BPL *-4
| |
| 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 FA BPL *-4
| |
| 68 PLA</pre>||Clobbers Z&N, C, V, and D; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A5 A5 LDA $A5
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 10 FA BPL *-4
| |
| 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 FA BNE *-4
| |
| 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 × 2
| |
| 38 SEC
| |
| A9 10 LDA #16
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A0 12 LDY #18
| |
| 88 DEY
| |
| D0 FB BNE *-3</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 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 12 LDY #18
| |
| 88 DEY
| |
| D0 FB BNE *-3</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>A9 0A LDA #$0A ;hides 'ASL A'
| |
| 08 PHP \ × 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 × 2
| |
| 18 CLC
| |
| D0 FA BNE *-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 × 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 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 0C LDY #12
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 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
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 0F LDX #15
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 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 F9 BCS *-5
| |
| 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 F8 BNE *-6
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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
| |
| A0 12 LDY #18
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| A2 12 LDX #18
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 12 LDX #18
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 12 LDY #18
| |
| 88 DEY
| |
| D0 FB BNE *-3</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 FA BPL *-4
| |
| 68 PLA</pre>||Clobbers Z&N, C, V, and D; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 10 FA BPL *-4
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 11 LDX #17
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 11 LDY #17
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 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 F9 BNE *-5
| |
| 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 × 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 × 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
| |
| |-
| |
| |}
| |
| | |
| | |
| === 96 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A2 13 LDX #19
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 13 LDY #19
| |
| 88 DEY
| |
| D0 FB BNE *-3</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 × 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>48 PHA
| |
| 38 SEC
| |
| A9 12 LDA #18
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</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 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 08 PHP \ × 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
| |
| 24 24 BIT $24
| |
| CA DEX
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers X; 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 × 2
| |
| 18 CLC
| |
| D0 FA BNE *-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 × 2
| |
| 18 CLC
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 0B LDX #11
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| AA TAX
| |
| 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 F9 BCS *-5
| |
| 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 × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 0F LDA #15
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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>A0 0C LDY #12
| |
| 48 PHA
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>A2 0C LDX #12
| |
| 48 PHA
| |
| CA DEX
| |
| D0 FA BNE *-4</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'
| |
| 08 PHP
| |
| 28 PLP
| |
| D0 FB BNE *-3</pre>||Clobbers A, Z&N, and C; and writes in stack
| |
| |-
| |
| |<pre>A0 08 LDY #8
| |
| 08 PHP
| |
| 28 PLP
| |
| 88 DEY
| |
| D0 F9 BNE *-5</pre>||Clobbers Y, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>A2 08 LDX #8
| |
| 08 PHP
| |
| 28 PLP
| |
| CA DEX
| |
| D0 F9 BNE *-5</pre>||Clobbers X, and Z&N; and writes in stack
| |
| |-
| |
| |<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
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 10 FA BPL *-4
| |
| 68 PLA</pre>||Clobbers Z&N, C, V, and D; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 10 FA BPL *-4
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 11 LDX #17
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A0 11 LDY #17
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 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 FA BPL *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 13 LDY #19
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 13 LDA #19
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 12 LDY #18
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 12 LDX #18
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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 × 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 × 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"|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
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 0E LDY #14
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</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 × 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
| |
| A0 0D LDY #13
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 0D LDX #13
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<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
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 10 FA BPL *-4
| |
| 28 PLP</pre>||Clobbers A, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 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 × 2
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 10 FA BPL *-4
| |
| 68 PLA</pre>||Clobbers Z&N, C, V, and D; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 10 FA BPL *-4
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 2A LDA #$2A ;hides 'ROL A'
| |
| 00 00... BRK 0 × 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 FA BPL *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FA BNE *-4</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| |<pre>A0 0B LDY #11
| |
| 68 PLA
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 13 LDX #19
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 13 LDY #19
| |
| 88 DEY
| |
| D0 FB BNE *-3</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 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 12 LDX #18
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 12 LDY #18
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 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 F9 BNE *-5
| |
| 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 F9 BNE *-5
| |
| 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>EA ... NOP × 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>48 PHA
| |
| 08 PHP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 10 FA BPL *-4
| |
| 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 FA BPL *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 101 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A0 14 LDY #20
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 14 LDX #20
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, 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 F9 BNE *-5</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 F8 BNE *-6</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<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 × 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
| |
| A0 12 LDY #18
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A2 12 LDX #18
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 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 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A4 A4 LDY $A4
| |
| A0 12 LDY #18
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 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 \ × 2
| |
| 28 PLP /
| |
| 10 F9 BPL *-5
| |
| 68 PLA</pre>||Clobbers Z&N, and C; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 08 PHP \ × 2
| |
| 28 PLP /
| |
| 10 F9 BPL *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| EA ... NOP × 2
| |
| 18 CLC
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FB BNE *-3
| |
| F6 xx INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| |<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 × 2
| |
| A0 13 LDY #19
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A2 13 LDX #19
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| !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 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 0E LDY #14
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A0 12 LDY #18
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 12 LDX #18
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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 FA BPL *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 14 LDY #20
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$08'
| |
| 08 PHP ;first loop only
| |
| 90 FA BCC *-4</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 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 13 LDX #19
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 13 LDY #19
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 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 × 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 × 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>98 TYA
| |
| 48 PHA
| |
| A0 0D LDY #13
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| A8 TAY</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 × 2
| |
| 38 SEC
| |
| A9 12 LDA #18
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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 F9 BNE *-5
| |
| 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 \ × 2
| |
| 28 PLP /
| |
| 10 F9 BPL *-5
| |
| 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 \ × 2
| |
| 28 PLP /
| |
| 10 F9 BPL *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| EA ... NOP × 2
| |
| 18 CLC
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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
| |
| A0 14 LDY #20
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A2 14 LDX #20
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| A2 14 LDX #20
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 14 LDY #20
| |
| 88 DEY
| |
| D0 FB BNE *-3</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 08 LDX #8
| |
| 08 PHP
| |
| 28 PLP
| |
| CA DEX
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 08 LDY #8
| |
| 08 PHP
| |
| 28 PLP
| |
| 88 DEY
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<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
| |
| |-
| |
| !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 FA BPL *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FA BNE *-4</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>A0 0D LDY #13
| |
| 48 PHA
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 14 LDY #20
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 14 LDX #20
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, 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 FA BCC *-4</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 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 13 LDX #19
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 13 LDY #19
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 48 ... PHA × 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 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 13 LDA #19
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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 × 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 × 2
| |
| 30 FA BMI *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 106 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A2 15 LDX #21
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 15 LDY #21
| |
| 88 DEY
| |
| D0 FB BNE *-3</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 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 0E LDY #14
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 48 ... PHA × 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 F9 BNE *-5</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 × 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>EA ... NOP × 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 × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 10 FA BPL *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 × 2
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 18 LDY #24 ;hides 'CLC'
| |
| 88 ... DEY × 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 FA BCC *-4</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>68 PLA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 48 ... PHA × 2
| |
| 18 CLC
| |
| D0 FA BNE *-4</pre>||Clobbers A, S, Z&N, and C; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>8C TXA
| |
| 48 PHA
| |
| A2 13 LDX #19
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 13 LDX #19
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A0 13 LDY #19
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 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
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 13 LDA #19
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 13 LDA #19
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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 × 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 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 15 LDY #21
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 15 LDA #21
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 14 LDX #20
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 14 LDY #20
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 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 F9 BNE *-5
| |
| 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 F9 BNE *-5
| |
| 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 × 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 F8 BNE *-6
| |
| 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 F8 BNE *-6
| |
| 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 @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 × 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 × 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>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 \ × 2
| |
| 28 PLP /
| |
| 10 F9 BPL *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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>48 PHA
| |
| A2 15 LDX #21
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A0 15 LDY #21
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| A2 15 LDX #21
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 15 LDY #21
| |
| 88 DEY
| |
| D0 FB BNE *-3</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 FB BNE *-3
| |
| F6 xx INC @zptemp,X
| |
| 28 PLP</pre>||Clobbers X; requires @zptemp; 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>48 ... PHA × 2
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 48 ... PHA × 2
| |
| 18 CLC
| |
| D0 FA BNE *-4</pre>||Clobbers A, S, Z&N, and C; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A2 13 LDX #19
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A0 13 LDY #19
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 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
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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
| |
| A0 15 LDY #21
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| A2 15 LDX #21
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 15 LDX #21
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 15 LDY #21
| |
| 88 DEY
| |
| D0 FB BNE *-3</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 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 14 LDY #20
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 14 LDX #20
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 14 LDA #20
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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 F9 BNE *-5
| |
| 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 × 3
| |
| 18 CLC
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, and C; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 0D LDY #13
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 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'
| |
| 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 F9 BNE *-5
| |
| 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 \ × 2
| |
| 28 PLP /
| |
| 10 F9 BPL *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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>A0 16 LDY #22
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 16 LDX #22
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, 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
| |
| A0 14 LDY #20
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A2 14 LDX #20
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| A4 A4 LDY $A4
| |
| A0 14 LDY #20
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A6 A6 LDX $A6
| |
| A2 14 LDX #20
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 13 LDX #19
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$5A'
| |
| 5A NOP ;first loop only
| |
| EA NOP
| |
| D0 F9 BNE *-5
| |
| 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 F9 BNE *-5
| |
| 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
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FB BNE *-3
| |
| F6 xx INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| |<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 × 2
| |
| A0 15 LDY #21
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A2 15 LDX #21
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A2 15 LDX #21
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A0 15 LDY #21
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| 38 SEC
| |
| A9 15 LDA #21
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</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>98 TYA
| |
| 48 PHA
| |
| A0 14 LDY #20
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 0D LDY #13
| |
| C5 C5 CMP $C5
| |
| 88 DEY
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 0D LDX #13
| |
| C5 C5 CMP $C5
| |
| CA DEX
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers X; 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 F9 BNE *-5
| |
| 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 F9 BNE *-5
| |
| 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 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>A2 10 LDX #16
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 10 LDY #16
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 15 LDY #21
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 15 LDX #21
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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>48 ... PHA × 2
| |
| 38 SEC
| |
| A9 14 LDA #20
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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 F9 BNE *-5
| |
| 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 F9 BNE *-5
| |
| 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 F9 BNE *-5
| |
| 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 × 2
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| EA ... NOP × 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 × 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
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A0 16 LDY #22
| |
| 88 DEY
| |
| D0 FB BNE *-3</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>A4 A4 LDY $A4
| |
| A0 16 LDY #22
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| A2 16 LDX #22
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, 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
| |
| A0 18 LDY #24 ;hides 'CLC'
| |
| 88 ... DEY × 2
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 18 LDX #24 ;hides 'CLC'
| |
| CA ... DEX × 2
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 14 LDY #20
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 13 LDX #19
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 14 LDA #20
| |
| 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 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FB BNE *-3</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| A0 16 LDY #22
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 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 × 2
| |
| A0 16 LDY #22
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 16 LDX #22
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, 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 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 15 LDY #21
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 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 F9 BNE *-5
| |
| 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 F9 BNE *-5
| |
| 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>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 F9 BNE *-5
| |
| 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 F8 BNE *-6
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 17 LDY #23
| |
| 88 DEY
| |
| D0 FB BNE *-3</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>48 PHA
| |
| 08 PHP
| |
| A2 15 LDX #21
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A0 15 LDY #21
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| A4 A4 LDY $A4
| |
| A0 15 LDY #21
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A6 A6 LDX $A6
| |
| A2 15 LDX #21
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 14 LDY #20
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY</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 F9 BNE *-5
| |
| 68 PLA
| |
| A8 TAY</pre>||Clobbers A, and Z&N; 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 × 3
| |
| 38 SEC
| |
| A9 14 LDA #20
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 14 LDA #20
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 00 LDA $0
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers A, X, and Z&N
| |
| |-
| |
| |<pre>A0 0D LDY #13 ;hides 'ORA abs'
| |
| A5 00 LDA $0
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers A, Y, and Z&N
| |
| |-
| |
| |<pre>A2 16 LDX #22
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| F6 xx INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| |<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>48 ... PHA × 2
| |
| 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 × 2
| |
| A0 16 LDY #22
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A2 16 LDX #22
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 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 × 3
| |
| A2 16 LDX #22
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A0 16 LDY #22
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>8C TXA
| |
| 48 PHA
| |
| A2 15 LDX #21
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A0 15 LDY #21
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 15 LDX #21
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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 F9 BNE *-5
| |
| 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 F9 BNE *-5
| |
| 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 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FA BCS *-4</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| A2 17 LDX #23
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 17 LDY #23
| |
| 88 DEY
| |
| D0 FB BNE *-3</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
| |
| A0 16 LDY #22
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 16 LDX #22
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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"|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 F9 BNE *-5
| |
| 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
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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>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 FB BNE *-3</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 FB BNE *-3</pre>||Clobbers X, 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>08 PHP
| |
| A2 15 LDX #21
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| F6 xx INC @zptemp,X
| |
| 28 PLP</pre>||Clobbers X; requires @zptemp; 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 × 2
| |
| 08 PHP
| |
| A0 15 LDY #21
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A2 15 LDX #21
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 15 LDX #21
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| A2 15 LDX #21
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| A0 15 LDY #21
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 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
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 14 LDY #20
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 15 LDA #21
| |
| 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 14 LDA #20
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 11 LDY #17
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</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 × 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 FA BNE *-4
| |
| 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 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 10 LDY #16
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 10 LDX #16
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; 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>48 PHA
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 14 LDA #20
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 121 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A0 18 LDY #24
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 18 LDX #24
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, 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>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>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 × 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
| |
| A0 16 LDY #22
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A2 16 LDX #22
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 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
| |
| 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 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A4 A4 LDY $A4
| |
| A0 16 LDY #22
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 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>48 ... PHA × 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
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 14 LDY #20
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 14 LDA #20
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 122 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #95
| |
| 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 F9 BPL *-5</pre>||Clobbers A, Z&N, C, V, and D
| |
| |-
| |
| |<pre>EA NOP
| |
| A2 11 LDX #17
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 11 LDY #17
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<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>48 ... PHA × 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; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 11 LDA #17
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6</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 × 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 F9 BPL *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 16 LDX #22
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A0 16 LDY #22
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 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 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 123 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #96
| |
| 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 18 LDX #24
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 18 LDY #24
| |
| 88 DEY
| |
| D0 FB BNE *-3</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
| |
| 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 #$0A'
| |
| 0A ASL A ;first loop only
| |
| B0 FC BCS *-2
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 17 LDY #23
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 17 LDX #23
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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"|11 bytes
| |
| |-
| |
| |<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 × 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 F9 BNE *-5
| |
| 68 PLA
| |
| A8 TAY
| |
| 68 PLA</pre>||Clobbers Z&N; 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 × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 14 LDA #20
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Clobbers S; and writes in stack
| |
| |-
| |
| !colspan="2"|14 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 14 LDA #20
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 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"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #97
| |
| 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 18 LDY #24
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 18 LDY #24
| |
| 88 DEY
| |
| D0 FB BNE *-3</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>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 × 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 F9 BPL *-5</pre>||Clobbers A, Z&N, C, V, and D
| |
| |-
| |
| |<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 F8 BNE *-6</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 0D LDX #13 ;hides 'ORA abs'
| |
| A5 00 LDA $0
| |
| 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 00 LDA $0
| |
| 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 FB BNE *-3
| |
| F6 xx INC @zptemp,X
| |
| 28 PLP</pre>||Clobbers X; requires @zptemp; 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>48 ... PHA × 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 × 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 × 2
| |
| 08 PHP
| |
| A0 16 LDY #22
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A2 16 LDX #22
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 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 F9 BPL *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| A2 16 LDX #22
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| A0 16 LDY #22
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 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 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 15 LDA #21
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 125 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #98
| |
| 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
| |
| A0 18 LDY #24
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| A2 18 LDX #24
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 18 LDX #24
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 18 LDY #24
| |
| 88 DEY
| |
| D0 FB BNE *-3</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>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 FA BCS *-4
| |
| 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
| |
| B0 FA BCS *-4
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 17 LDY #23
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 17 LDX #23
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; 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
| |
| |-
| |
| |}
| |
| | |
| | |
| === 126 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A2 19 LDX #25
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 19 LDY #25
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A9 LDA #99
| |
| 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 #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>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 × 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>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 FB BNE *-3
| |
| 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>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 FB BNE *-3
| |
| 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"|12 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 15 LDX #21
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 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 × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 15 LDA #21
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 127 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #100
| |
| 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
| |
| 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 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 12 LDY #18
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</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>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
| |
| A0 11 LDY #17
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 11 LDX #17
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<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 × 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 × 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 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 128 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #101
| |
| 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
| |
| A2 E8 LDX #232 ;hides 'INX'
| |
| D0 FD BNE *-1</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| A2 19 LDX #25
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 19 LDY #25
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 19 LDA #25
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 18 LDY #24
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 18 LDX #24
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<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"|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>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>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
| |
| |-
| |
| |<pre>48 PHA
| |
| 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>||Clobbers S; 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
| |
| |-
| |
| |}
| |
| * From 128 cycles onwards, these tables quit considering RTI options.
| |
| | |
| | |
| === 129 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #102
| |
| 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
| |
| A2 E8 LDX #232 ;hides 'INX'
| |
| D0 FD BNE *-1</pre>||Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| |<pre>A2 10 LDX #16
| |
| 48 PHA
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>A0 10 LDY #16
| |
| 48 PHA
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| A2 19 LDX #25
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 19 LDY #25
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #95
| |
| 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 #95
| |
| 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 12 LDA #18
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| EA NOP
| |
| 10 F9 BPL *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, V, and D; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| EA NOP
| |
| 10 F9 BPL *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 11 LDX #17
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 11 LDY #17
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #88
| |
| 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 × 3
| |
| 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
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 11 LDA #17
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| EA NOP
| |
| 10 F9 BPL *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 130 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #103
| |
| 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 E8 LDX #232 ;hides 'INX'
| |
| D0 FD BNE *-1
| |
| F6 xx INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A2 E8 LDX #232 ;hides 'INX'
| |
| D0 FD BNE *-1</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>68 PLA
| |
| A0 19 LDY #25
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 19 LDX #25
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 19 LDY #25
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #96
| |
| 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 #96
| |
| 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 19 LDA #25
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 18 LDX #24
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 18 LDY #24
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 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
| |
| B0 FC BCS *-2
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 131 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A2 1A LDX #26
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 1A LDY #26
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A9 LDA #104
| |
| 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
| |
| A2 E8 LDX #232 ;hides 'INX'
| |
| D0 FD BNE *-1
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #97
| |
| 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 #97
| |
| 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 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 48 PHA
| |
| 10 F9 BPL *-5</pre>||Clobbers A, S, Z&N, C, V, and D; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 85 xx STA @zptemp
| |
| 10 F8 BPL *-6</pre>||Clobbers A, Z&N, C, V, and D; and requires @zptemp
| |
| |-
| |
| |<pre>20 xx xx JSR @rts15
| |
| 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; requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 04 04 NOP $04
| |
| 10 F8 BPL *-6</pre>||Clobbers A, Z&N, C, V, and D; and requires support for unofficial opcodes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 10 LDA #16
| |
| 48 PHA
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A0 18 LDY #24
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 10 LDA #16
| |
| 24 24 BIT $24
| |
| E9 01 SBC #1
| |
| D0 F7 BNE *-7</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A4 A4 LDY $A4
| |
| A0 18 LDY #24
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #90
| |
| 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 × 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, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| EA NOP
| |
| 10 F9 BPL *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, V, and D; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| EA NOP
| |
| 10 F9 BPL *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 ... PHA × 3
| |
| 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
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 11 LDA #17
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 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>||Clobbers S; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| EA NOP
| |
| 10 F9 BPL *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 132 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #105
| |
| 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 × 2
| |
| A2 E8 LDX #232 ;hides 'INX'
| |
| D0 FD BNE *-1</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>BA TSX
| |
| 68 PLA
| |
| 9A TXS
| |
| A2 E8 LDX #232 ;hides 'INX'
| |
| D0 FD BNE *-1</pre>||Clobbers A, X, and Z&N; and unsafe for interrupts
| |
| |-
| |
| |<pre>A2 19 LDX #25
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| F6 xx INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #98
| |
| 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 #98
| |
| 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 × 2
| |
| A2 19 LDX #25
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A0 19 LDY #25
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A2 19 LDX #25
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A0 19 LDY #25
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| 38 SEC
| |
| A9 19 LDA #25
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>8C TXA
| |
| 48 PHA
| |
| A2 18 LDX #24
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 18 LDX #24
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A0 18 LDY #24
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #91
| |
| 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
| |
| B0 FA BCS *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 133 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #106
| |
| 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 1A LDX #26
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 1A LDY #26
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 1A LDA #26
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 19 LDY #25
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 19 LDX #25
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #99
| |
| 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 #99
| |
| 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>18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| EA NOP
| |
| 20 xx xx JSR @rts15
| |
| 90 F9 BCC *-5</pre>||Clobbers A, Z&N, and C; requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #92
| |
| 20 xx xx JSR delay_a_25_clocks
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires delay_a_25_clocks; and writes in stack
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 48 PHA
| |
| 20 xx xx JSR @rts14
| |
| 90 F9 BCC *-5</pre>||Clobbers A, S, Z&N, and C; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| E6 xx INC @zptemp
| |
| 20 xx xx JSR @rts12
| |
| 90 F8 BCC *-6</pre>||Clobbers A, Z&N, and C; requires @zptemp, and @rts12; and writes in stack
| |
| |-
| |
| |<pre>20 xx xx JSR @rts15
| |
| 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 @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>20 xx xx JSR @rts15
| |
| 08 PHP
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| D0 FC BNE *-2
| |
| 28 PLP</pre>||Clobbers A; requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 04 04 NOP $04
| |
| 20 xx xx JSR @rts14
| |
| 90 F8 BCC *-6</pre>||Clobbers A, Z&N, and C; requires @rts12, @rts14, and support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| B0 FC BCS *-2
| |
| 68 PLA
| |
| 28 PLP</pre>||Clobbers S; 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
| |
| B0 FC BCS *-2
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 134 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #107
| |
| 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 13 LDX #19
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 13 LDY #19
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #100
| |
| 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 #100
| |
| 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
| |
| A2 E8 LDX #232 ;hides 'INX'
| |
| D0 FD BNE *-1
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 12 LDY #18
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 12 LDX #18
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>A9 E9 LDA #$E9 ;hides 'SBC #$2A'
| |
| 2A ROL A ;first loop only
| |
| 20 xx xx JSR @rts14
| |
| B0 F9 BCS *-5</pre>||Clobbers A, Z&N, C, and V; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 48 PHA
| |
| 10 F9 BPL *-5</pre>||Clobbers A, S, Z&N, C, V, and D; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>A9 E9 LDA #$E9 ;hides 'SBC #$2A'
| |
| 2A ROL A ;first loop only
| |
| 08 PHP \ × 2
| |
| 28 PLP /
| |
| B0 F8 BCS *-6</pre>||Clobbers A, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>A9 0A LDA #$0A ;hides 'ASL A'
| |
| 08 PHP
| |
| 28 PLP
| |
| 20 xx xx JSR @rts15
| |
| 10 F8 BPL *-6</pre>||Clobbers A, Z&N, and C; requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #93
| |
| 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
| |
| 08 PHP
| |
| 28 PLP
| |
| 18 CLC
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, and C; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| EA NOP
| |
| 08 PHP
| |
| 28 PLP
| |
| 18 CLC
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| B0 FC BCS *-2
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 135 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #108
| |
| 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 1A LDX #26
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| A0 1A LDY #26
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 1A LDX #26
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 1A LDY #26
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts12
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, and C; requires @rts12; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #101
| |
| 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 #101
| |
| 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>8C TXA
| |
| 48 PHA
| |
| A2 E8 LDX #232 ;hides 'INX'
| |
| D0 FD BNE *-1
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 19 LDX #25
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 19 LDY #25
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 19 LDA #25
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 19 LDA #25
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #94
| |
| 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 #$0A'
| |
| 0A ASL A ;first loop only
| |
| 08 PHP
| |
| 28 PLP
| |
| 30 FA BMI *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 136 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A2 1B LDX #27
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 1B LDY #27
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A9 LDA #109
| |
| 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 #102
| |
| 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 #102
| |
| 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 #$08'
| |
| 08 PHP ;first loop only
| |
| EA ... NOP × 2
| |
| 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 13 LDA #19
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| E6 xx INC @zptemp
| |
| A2 E8 LDX #232 ;hides 'INX'
| |
| D0 FD BNE *-1
| |
| 28 PLP</pre>||Clobbers X; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A0 19 LDY #25
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A2 19 LDX #25
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 10 LDX #16
| |
| C5 C5 CMP $C5
| |
| CA DEX
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 10 LDY #16
| |
| C5 C5 CMP $C5
| |
| 88 DEY
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #95
| |
| 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
| |
| 38 SEC
| |
| A9 12 LDA #18
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 12 LDA #18
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| EA NOP
| |
| 10 F9 BPL *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 137 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #110
| |
| 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
| |
| 48 PHA
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>A0 11 LDY #17
| |
| 48 PHA
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A2 11 LDX #17
| |
| C5 C5 CMP $C5
| |
| CA DEX
| |
| D0 F9 BNE *-5</pre>||Clobbers X, Z&N, and C
| |
| |-
| |
| |<pre>A0 11 LDY #17
| |
| C5 C5 CMP $C5
| |
| 88 DEY
| |
| D0 F9 BNE *-5</pre>||Clobbers Y, Z&N, and C
| |
| |-
| |
| |<pre>A2 11 LDX #17
| |
| 24 24 BIT $24
| |
| CA DEX
| |
| D0 F9 BNE *-5</pre>||Clobbers X, Z&N, and V
| |
| |-
| |
| |<pre>A0 11 LDY #17
| |
| 24 24 BIT $24
| |
| 88 DEY
| |
| D0 F9 BNE *-5</pre>||Clobbers Y, Z&N, and V
| |
| |-
| |
| |<pre>A0 11 LDY #17
| |
| A5 A5 LDA $A5
| |
| 88 DEY
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Y, and Z&N
| |
| |-
| |
| |<pre>A2 11 LDX #17
| |
| A5 A5 LDA $A5
| |
| CA DEX
| |
| D0 F9 BNE *-5</pre>||Clobbers A, X, and Z&N
| |
| |-
| |
| |<pre>A2 11 LDX #17
| |
| A4 A4 LDY $A4
| |
| CA DEX
| |
| D0 F9 BNE *-5</pre>||Clobbers X, Y, and Z&N
| |
| |-
| |
| |<pre>A2 11 LDX #17
| |
| 85 xx STA @zptemp
| |
| CA DEX
| |
| D0 F9 BNE *-5</pre>||Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| |<pre>A0 11 LDY #17
| |
| 85 xx STA @zptemp
| |
| 88 DEY
| |
| D0 F9 BNE *-5</pre>||Clobbers Y, and Z&N; and requires @zptemp
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #103
| |
| 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 #103
| |
| 20 xx xx JSR delay_a_25_clocks
| |
| 28 PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
| |
| |-
| |
| |<pre>A0 11 LDY #17
| |
| 04 04 NOP $04
| |
| 88 DEY
| |
| D0 F9 BNE *-5</pre>||Clobbers Y, and Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| |<pre>A2 11 LDX #17
| |
| 04 04 NOP $04
| |
| CA DEX
| |
| D0 F9 BNE *-5</pre>||Clobbers X, and Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 13 LDY #19
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| A2 13 LDX #19
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 E8 LDX #232 ;hides 'INX'
| |
| D0 FD BNE *-1
| |
| F6 xx INC @zptemp,X
| |
| 28 PLP</pre>||Clobbers X; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts12
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, and C; requires @rts12; and writes in stack
| |
| |-
| |
| |<pre>68 PLA
| |
| 38 SEC
| |
| A9 1A LDA #26
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A2 E8 LDX #232 ;hides 'INX'
| |
| D0 FD BNE *-1
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>8C TXA
| |
| 48 PHA
| |
| A2 19 LDX #25
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A0 19 LDY #25
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 19 LDX #25
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #96
| |
| 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 19 LDA #25
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 19 LDA #25
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !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
| |
| B0 FC BCS *-2
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 138 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #111
| |
| 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
| |
| A0 1B LDY #27
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A2 1B LDX #27
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 1B LDA #27
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 1A LDY #26
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 1A LDX #26
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #104
| |
| 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 #104
| |
| 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'
| |
| 20 xx xx JSR @rts12
| |
| D0 FA BNE *-4</pre>||Clobbers A, S, Z&N, and C; requires @rts12; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>A5 A5 LDA $A5
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts12
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, and C; requires @rts12; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #97
| |
| 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
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 E8 LDX #232 ;hides 'INX'
| |
| D0 FD BNE *-1
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>8C TXA
| |
| 48 PHA
| |
| A2 12 LDX #18
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 85 xx STA @zptemp
| |
| 10 F8 BPL *-6
| |
| 68 PLA</pre>||Clobbers Z&N, C, V, and D; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 85 xx STA @zptemp
| |
| 10 F8 BPL *-6
| |
| 28 PLP</pre>||Clobbers A; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>20 xx xx JSR @rts15
| |
| 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; requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>20 xx xx JSR @rts15
| |
| 08 PHP
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| B0 FC BCS *-2
| |
| 28 PLP</pre>||Clobbers A; requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 04 04 NOP $04
| |
| 10 F8 BPL *-6
| |
| 68 PLA</pre>||Clobbers Z&N, C, V, and D; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 04 04 NOP $04
| |
| 10 F8 BPL *-6
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 38 SEC
| |
| A9 19 LDA #25
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 19 LDA #25
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 10 LDA #16
| |
| 24 24 BIT $24
| |
| E9 01 SBC #1
| |
| D0 F7 BNE *-7
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 10 LDA #16
| |
| 24 24 BIT $24
| |
| E9 01 SBC #1
| |
| D0 F7 BNE *-7
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| EA NOP
| |
| 10 F9 BPL *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 139 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #112
| |
| 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 1B LDY #27
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A2 1B LDX #27
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| A2 1B LDX #27
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 1B LDY #27
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #105
| |
| 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 #105
| |
| 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 #$F8'
| |
| F8 SED ;first loop only
| |
| 48 PHA
| |
| 10 F9 BPL *-5</pre>||Clobbers A, S, Z&N, C, V, and D; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 85 xx STA @zptemp
| |
| 10 F8 BPL *-6</pre>||Clobbers A, Z&N, C, V, and D; and requires @zptemp
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 04 04 NOP $04
| |
| 10 F8 BPL *-6</pre>||Clobbers A, Z&N, C, V, and D; and requires support for unofficial opcodes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 11 LDA #17
| |
| 48 PHA
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>68 PLA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts12
| |
| D0 FA BNE *-4</pre>||Clobbers A, S, Z&N, and C; requires @rts12; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 11 LDA #17
| |
| 24 24 BIT $24
| |
| E9 01 SBC #1
| |
| D0 F7 BNE *-7</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| BA TSX
| |
| 68 PLA
| |
| 9A TXS
| |
| A2 E8 LDX #232 ;hides 'INX'
| |
| D0 FD BNE *-1
| |
| 28 PLP</pre>||Clobbers A, and X; writes in stack; and unsafe for interrupts
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 19 LDX #25
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| F6 xx INC @zptemp,X
| |
| 28 PLP</pre>||Clobbers X; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts12
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, and C; requires @rts12; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #98
| |
| 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
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 E8 LDX #232 ;hides 'INX'
| |
| D0 FD BNE *-1
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A0 19 LDY #25
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A2 19 LDX #25
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 19 LDX #25
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| A0 19 LDY #25
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| A2 19 LDX #25
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 18 LDX #24
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 19 LDA #25
| |
| 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
| |
| 28 PLP
| |
| 08 PHP
| |
| 48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| B0 FC BCS *-2
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 140 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #113
| |
| 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
| |
| A0 1B LDY #27
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| A2 1B LDX #27
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 1B LDY #27
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 1B LDX #27
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #106
| |
| 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 #106
| |
| 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 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 38 SEC
| |
| A9 1B LDA #27
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 1A LDX #26
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 1A LDY #26
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 1A LDA #26
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 1A LDA #26
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #99
| |
| 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
| |
| 18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| EA NOP
| |
| 20 xx xx JSR @rts15
| |
| 90 F9 BCC *-5
| |
| 68 PLA</pre>||Clobbers Z&N, and C; requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| E6 xx INC @zptemp
| |
| 20 xx xx JSR @rts12
| |
| 90 F8 BCC *-6
| |
| 68 PLA</pre>||Clobbers Z&N, and C; requires @zptemp, and @rts12; and writes in stack
| |
| |-
| |
| |<pre>20 xx xx JSR @rts15
| |
| 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>||Requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 04 04 NOP $04
| |
| 20 xx xx JSR @rts14
| |
| 90 F8 BCC *-6
| |
| 68 PLA</pre>||Clobbers Z&N, and C; requires @rts12, @rts14, and support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 28 PLP
| |
| 08 PHP
| |
| 48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| B0 FC BCS *-2
| |
| 68 PLA
| |
| 28 PLP</pre>||Clobbers S; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 24 24 BIT $24
| |
| 28 PLP
| |
| 08 PHP
| |
| 48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| B0 FC BCS *-2
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 141 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A0 1C LDY #28
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 1C LDX #28
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A9 LDA #114
| |
| 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 #107
| |
| 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 #107
| |
| 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
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, S, Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| 08 PHP
| |
| 28 PLP
| |
| 30 F9 BMI *-5</pre>||Clobbers A, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 13 LDY #19
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 13 LDX #19
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #100
| |
| 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 × 2
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts12
| |
| D0 FA BNE *-4</pre>||Clobbers A, S, Z&N, and C; requires @rts12; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>8C TXA
| |
| 48 PHA
| |
| A2 E8 LDX #232 ;hides 'INX'
| |
| D0 FD BNE *-1
| |
| F6 xx INC @zptemp,X
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts12
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, and C; requires @rts12; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$2A'
| |
| 2A ROL A ;first loop only
| |
| 20 xx xx JSR @rts14
| |
| B0 F9 BCS *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$2A'
| |
| 2A ROL A ;first loop only
| |
| 20 xx xx JSR @rts14
| |
| B0 F9 BCS *-5
| |
| 28 PLP</pre>||Clobbers A; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>68 PLA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 19 LDX #25
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$2A'
| |
| 2A ROL A ;first loop only
| |
| 08 PHP \ × 2
| |
| 28 PLP /
| |
| B0 F8 BCS *-6
| |
| 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
| |
| 08 PHP \ × 2
| |
| 28 PLP /
| |
| B0 F8 BCS *-6
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 08 PHP
| |
| 28 PLP
| |
| 20 xx xx JSR @rts15
| |
| 10 F8 BPL *-6
| |
| 68 PLA</pre>||Clobbers Z&N, and C; requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| EA NOP
| |
| 08 PHP
| |
| 28 PLP
| |
| 18 CLC
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 142 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #115
| |
| 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>A0 98 LDY #152 ;hides 'TYA'
| |
| EA NOP
| |
| 88 ... DEY × 2
| |
| 30 FA BMI *-4</pre>||Clobbers A, Y, and Z&N
| |
| |-
| |
| |<pre>A2 98 LDX #152 ;hides 'TYA'
| |
| EA NOP
| |
| CA ... DEX × 2
| |
| 30 FA BMI *-4</pre>||Clobbers A, X, and Z&N
| |
| |-
| |
| |<pre>A2 1B LDX #27
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| F6 xx INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #108
| |
| 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 #108
| |
| 20 xx xx JSR delay_a_25_clocks
| |
| 28 PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
| |
| |-
| |
| |<pre>A0 1A LDY #26 ;hides 'NOP'
| |
| EA NOP
| |
| 88 ... DEY × 2
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| |<pre>A2 1A LDX #26 ;hides 'NOP'
| |
| EA NOP
| |
| CA ... DEX × 2
| |
| D0 FA BNE *-4</pre>||Clobbers X, and Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A0 1B LDY #27
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A2 1B LDX #27
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>68 PLA
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, S, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A2 1B LDX #27
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A0 1B LDY #27
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| |<pre>68 PLA
| |
| 38 SEC
| |
| A9 1B LDA #27
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>98 TYA
| |
| 48 PHA
| |
| A0 1A LDY #26
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A0 1A LDY #26
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 1A LDX #26
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts12
| |
| D0 FA BNE *-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
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A; requires @rts12; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #101
| |
| 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
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 E8 LDX #232 ;hides 'INX'
| |
| D0 FD BNE *-1
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 1A LDA #26
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 19 LDA #25
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 143 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #116
| |
| 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 1C LDX #28
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 1C LDY #28
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$7A'
| |
| 7A NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 1C LDA #28
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 1B LDY #27
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 1B LDX #27
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #109
| |
| 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 #109
| |
| 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>A9 0A LDA #$0A ;hides 'ASL A'
| |
| 48 ... PHA × 2
| |
| 08 PHP
| |
| 28 PLP
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, and C; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>A9 0A LDA #$0A ;hides 'ASL A'
| |
| EA ... NOP × 2
| |
| 08 PHP
| |
| 28 PLP
| |
| 18 CLC
| |
| D0 F8 BNE *-6</pre>||Clobbers A, Z&N, and C; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #102
| |
| 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
| |
| 38 SEC
| |
| A9 13 LDA #19
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 13 LDA #19
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 12 LDA #18
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 144 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #117
| |
| 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 1C LDY #28
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A2 1C LDX #28
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 1C LDY #28
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| A2 1C LDX #28
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #110
| |
| 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 #110
| |
| 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 × 2
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, S, Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 11 LDX #17
| |
| C5 C5 CMP $C5
| |
| CA DEX
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 11 LDY #17
| |
| 24 24 BIT $24
| |
| 88 DEY
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #103
| |
| 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 × 3
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 38 SEC
| |
| A9 1B LDA #27
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 1A LDY #26
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY</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 @rts12
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers Z&N, and C; requires @rts12; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts12
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A; requires @rts12; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 19 LDX #25
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 1A LDA #26
| |
| 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 19 LDA #25
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 145 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #118
| |
| 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 12 LDY #18
| |
| 48 PHA
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>A2 12 LDX #18
| |
| 48 PHA
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 1C LDX #28
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 1C LDY #28
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #111
| |
| 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 #111
| |
| 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 EB LDA #$EB ;hides 'SBC #$7A'
| |
| 7A NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 38 SEC
| |
| A9 1C LDA #28
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 1B LDY #27
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 1B LDX #27
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 1B LDA #27
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 1B LDA #27
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #104
| |
| 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 × 2
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts12
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers S, Z&N, and C; requires @rts12; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>C5 C5 CMP $C5
| |
| 48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts12
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers Z&N, and C; requires @rts12; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 E8 LDX #232 ;hides 'INX'
| |
| D0 FD BNE *-1
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 12 LDX #18
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 85 xx STA @zptemp
| |
| 10 F8 BPL *-6
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>20 xx xx JSR @rts15
| |
| 08 PHP
| |
| 48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| B0 FC BCS *-2
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 04 04 NOP $04
| |
| 10 F8 BPL *-6
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 19 LDA #25
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Clobbers S; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 10 LDA #16
| |
| 24 24 BIT $24
| |
| E9 01 SBC #1
| |
| D0 F7 BNE *-7
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 146 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A0 1D LDY #29
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 1D LDX #29
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A9 LDA #119
| |
| 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 #112
| |
| 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 #112
| |
| 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 EB LDA #$EB ;hides 'SBC #$7A'
| |
| 7A NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, S, Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| 18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$7A'
| |
| 7A NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 1C LDA #28
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A2 1B LDX #27
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A0 1B LDY #27
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>A5 A5 LDA $A5
| |
| 38 SEC
| |
| A9 1C LDA #28
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A4 A4 LDY $A4
| |
| A0 1B LDY #27
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A6 A6 LDX $A6
| |
| A2 1B LDX #27
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #105
| |
| 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'
| |
| 48 ... PHA × 2
| |
| 08 PHP
| |
| 28 PLP
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, and C; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 85 xx STA @zptemp
| |
| 10 F8 BPL *-6
| |
| 68 PLA</pre>||Clobbers Z&N, C, V, and D; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 85 xx STA @zptemp
| |
| 10 F8 BPL *-6
| |
| 28 PLP</pre>||Clobbers A; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 04 04 NOP $04
| |
| 10 F8 BPL *-6
| |
| 68 PLA</pre>||Clobbers Z&N, C, V, and D; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 04 04 NOP $04
| |
| 10 F8 BPL *-6
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>68 PLA
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 1A LDY #26
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY</pre>||Clobbers A, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 11 LDA #17
| |
| 24 24 BIT $24
| |
| E9 01 SBC #1
| |
| D0 F7 BNE *-7
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 11 LDA #17
| |
| 24 24 BIT $24
| |
| E9 01 SBC #1
| |
| D0 F7 BNE *-7
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts12
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers Z&N, and C; requires @rts12; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 19 LDX #25
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 19 LDA #25
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 147 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #120
| |
| 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 1C LDX #28
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| F6 xx INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #113
| |
| 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 #113
| |
| 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 × 2
| |
| A2 1C LDX #28
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A0 1C LDY #28
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>68 PLA
| |
| 18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$7A'
| |
| 7A NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, S, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| EA ... NOP × 2
| |
| 10 F8 BPL *-6</pre>||Clobbers A, Z&N, C, V, and D
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A0 1C LDY #28
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A2 1C LDX #28
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$7A'
| |
| 7A NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| |<pre>68 PLA
| |
| 38 SEC
| |
| A9 1C LDA #28
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 12 LDA #18
| |
| 48 PHA
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>8C TXA
| |
| 48 PHA
| |
| A2 1B LDX #27
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A0 1B LDY #27
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 1B LDX #27
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #106
| |
| 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 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 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 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 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 1B LDA #27
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 1B LDA #27
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 1A LDA #26
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 148 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #121
| |
| 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 15 LDY #21
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 15 LDX #21
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$9A'
| |
| 9A TXS ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, S, Z&N, C, and V
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 1D LDA #29
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 1C LDY #28
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 1C LDX #28
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #114
| |
| 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 #114
| |
| 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 #107
| |
| 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 × 2
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| D0 FA BNE *-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
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A, and S; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| 08 PHP
| |
| 28 PLP
| |
| 30 F9 BMI *-5
| |
| 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
| |
| 08 PHP
| |
| 28 PLP
| |
| 30 F9 BMI *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>48 ... PHA × 3
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts12
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers S, Z&N, and C; requires @rts12; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 E8 LDX #232 ;hides 'INX'
| |
| D0 FD BNE *-1
| |
| F6 xx INC @zptemp,X
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts12
| |
| D0 FA BNE *-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 #$2A'
| |
| 2A ROL A ;first loop only
| |
| 20 xx xx JSR @rts14
| |
| B0 F9 BCS *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 3
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 E8 LDX #232 ;hides 'INX'
| |
| D0 FD BNE *-1
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$2A'
| |
| 2A ROL A ;first loop only
| |
| 08 PHP \ × 2
| |
| 28 PLP /
| |
| B0 F8 BCS *-6
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 149 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #122
| |
| 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 1D LDY #29
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A2 1D LDX #29
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| A2 1D LDX #29
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 1D LDY #29
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #115
| |
| 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 #115
| |
| 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 × 2
| |
| 18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$7A'
| |
| 7A NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, S, Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| EA ... NOP × 2
| |
| 10 F8 BPL *-6</pre>||Clobbers A, Z&N, C, V, and D
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 98 LDY #152 ;hides 'TYA'
| |
| EA NOP
| |
| 88 ... DEY × 2
| |
| 30 FA BMI *-4
| |
| 28 PLP</pre>||Clobbers A, and Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 98 LDX #152 ;hides 'TYA'
| |
| EA NOP
| |
| CA ... DEX × 2
| |
| 30 FA BMI *-4
| |
| 28 PLP</pre>||Clobbers A, and X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 1B LDX #27
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| F6 xx INC @zptemp,X
| |
| 28 PLP</pre>||Clobbers X; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #108
| |
| 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 × 3
| |
| 18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$7A'
| |
| 7A NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 1A LDX #26 ;hides 'NOP'
| |
| EA NOP
| |
| CA ... DEX × 2
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 1A LDY #26 ;hides 'NOP'
| |
| EA NOP
| |
| 88 ... DEY × 2
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 38 SEC
| |
| A9 1C LDA #28
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A0 1B LDY #27
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A2 1B LDX #27
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| |<pre>68 PLA
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A, S, and Z&N; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 1B LDX #27
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| A2 1B LDX #27
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| A0 1B LDY #27
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 1A LDY #26
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 1B LDA #27
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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 @rts12
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires @rts12; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 1A LDA #26
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 150 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #123
| |
| 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
| |
| A0 1D LDY #29
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| A2 1D LDX #29
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 1D LDY #29
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 1D LDX #29
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #116
| |
| 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 #116
| |
| 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 E9 LDA #$E9 ;hides 'SBC #$9A'
| |
| 9A TXS ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, S, Z&N, C, and V
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 15 LDA #21
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 1C LDY #28
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 1C LDX #28
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$7A'
| |
| 7A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$7A'
| |
| 7A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 1C LDA #28
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 1C LDA #28
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #109
| |
| 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
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| EA ... NOP × 2
| |
| 08 PHP
| |
| 28 PLP
| |
| 18 CLC
| |
| D0 F8 BNE *-6
| |
| 68 PLA</pre>||Clobbers Z&N, and C; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 13 LDA #19
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 151 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A2 1E LDX #30
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 1E LDY #30
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A9 LDA #124
| |
| 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 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts14
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, and C; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #117
| |
| 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 #117
| |
| 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 E9 LDA #$E9 ;hides 'SBC #$9A'
| |
| 9A TXS ;first loop only
| |
| D0 FA BNE *-4</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 \ × 2
| |
| 28 PLP /
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, and C; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A0 1C LDY #28
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A2 1C LDX #28
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| A4 A4 LDY $A4
| |
| A0 1C LDY #28
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A6 A6 LDX $A6
| |
| A2 1C LDX #28
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #110
| |
| 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
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 1B LDX #27
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 3
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers S, Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A, and S; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 1B LDX #27
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 3
| |
| 38 SEC
| |
| A9 1B LDA #27
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 1B LDA #27
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 PHA
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 1A LDY #26
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 1B LDA #27
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts12
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires @rts12; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 1A LDA #26
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 152 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #125
| |
| 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 1D LDX #29
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| F6 xx INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #118
| |
| 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 #118
| |
| 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 E9 LDA #$E9 ;hides 'SBC #$9A'
| |
| 9A TXS ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, S, Z&N, C, and V
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A2 1D LDX #29
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A0 1D LDY #29
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A2 1D LDX #29
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A0 1D LDY #29
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>98 TYA
| |
| 48 PHA
| |
| A0 1C LDY #28
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 1C LDX #28
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A0 1C LDY #28
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #111
| |
| 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
| |
| 18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$7A'
| |
| 7A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$7A'
| |
| 7A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 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 1C LDA #28
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 1C LDA #28
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 1B LDA #27
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 153 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A0 EA LDY #234 ;hides 'NOP'
| |
| C8 INY
| |
| D0 FC BNE *-2</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 EA LDX #234 ;hides 'NOP'
| |
| E8 INX
| |
| D0 FC BNE *-2</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A9 LDA #126
| |
| 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 #$08'
| |
| 08 PHP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 1E LDA #30
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 1D LDX #29
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 1D LDY #29
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #119
| |
| 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 #119
| |
| 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'
| |
| 20 xx xx JSR @rts14
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, and C; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 08 PHP \ × 2
| |
| 28 PLP /
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, and C; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #112
| |
| 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 × 2
| |
| 18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$7A'
| |
| 7A NOP ;first loop only
| |
| D0 FA BNE *-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
| |
| 18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$7A'
| |
| 7A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A, and S; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$7A'
| |
| 7A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 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
| |
| 18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$7A'
| |
| 7A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 38 SEC
| |
| A9 1C LDA #28
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 1C LDA #28
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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 1C LDA #28
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A5 A5 LDA $A5
| |
| 38 SEC
| |
| A9 1C LDA #28
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 85 xx STA @zptemp
| |
| 10 F8 BPL *-6
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 04 04 NOP $04
| |
| 10 F8 BPL *-6
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| EA ... NOP × 2
| |
| 08 PHP
| |
| 28 PLP
| |
| 18 CLC
| |
| D0 F8 BNE *-6
| |
| 68 PLA</pre>||Clobbers S, Z&N, and C; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 11 LDA #17
| |
| 24 24 BIT $24
| |
| E9 01 SBC #1
| |
| D0 F7 BNE *-7
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 154 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #127
| |
| 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 1E LDY #30
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A2 1E LDX #30
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| A2 1E LDX #30
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 1E LDY #30
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #120
| |
| 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 #120
| |
| 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 × 2
| |
| 18 CLC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$9A'
| |
| 9A TXS ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts14
| |
| D0 FA BNE *-4</pre>||Clobbers A, S, Z&N, and C; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 1C LDX #28
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| F6 xx INC @zptemp,X
| |
| 28 PLP</pre>||Clobbers X; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>A5 A5 LDA $A5
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts14
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, and C; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #113
| |
| 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'
| |
| 08 PHP \ × 2
| |
| 28 PLP /
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, and C; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A0 1C LDY #28
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A2 1C LDX #28
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| |<pre>68 PLA
| |
| 08 PHP
| |
| 18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$7A'
| |
| 7A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 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 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| EA ... NOP × 2
| |
| 10 F8 BPL *-6
| |
| 68 PLA</pre>||Clobbers Z&N, C, V, and D; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| EA ... NOP × 2
| |
| 10 F8 BPL *-6
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| A2 1C LDX #28
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| A0 1C LDY #28
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$7A'
| |
| 7A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 1B LDX #27
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 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 1B LDA #27
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 155 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #128
| |
| 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
| |
| EA NOP
| |
| D0 FB BNE *-3</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>A2 16 LDX #22
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 16 LDY #22
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #121
| |
| 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 #121
| |
| 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 15 LDY #21
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 15 LDX #21
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>68 PLA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts14
| |
| D0 FA BNE *-4</pre>||Clobbers A, S, Z&N, and C; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 1D LDA #29
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 1D LDA #29
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #114
| |
| 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
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Clobbers S; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| 08 PHP
| |
| 28 PLP
| |
| 30 F9 BMI *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 156 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>A0 1F LDY #31
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 1F LDX #31
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #122
| |
| 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 #122
| |
| 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
| |
| A0 1D LDY #29
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A2 1D LDX #29
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| A6 A6 LDX $A6
| |
| A2 1D LDX #29
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A4 A4 LDY $A4
| |
| A0 1D LDY #29
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>E6 xx INC @zptemp
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts14
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, and C; requires @zptemp, @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #115
| |
| 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
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts14
| |
| D0 FA BNE *-4</pre>||Clobbers A, S, Z&N, and C; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>E6 xx INC @zptemp
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 08 PHP \ × 2
| |
| 28 PLP /
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, and C; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| A5 A5 LDA $A5
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts14
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, and C; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>68 PLA
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 1C LDY #28
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY</pre>||Clobbers A, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 3
| |
| 18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$7A'
| |
| 7A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers S, Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| 18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$7A'
| |
| 7A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A, and S; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| EA ... NOP × 2
| |
| 10 F8 BPL *-6
| |
| 68 PLA</pre>||Clobbers Z&N, C, V, and D; 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 × 2
| |
| 10 F8 BPL *-6
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$7A'
| |
| 7A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 3
| |
| 38 SEC
| |
| A9 1C LDA #28
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 1B LDX #27
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 1B LDA #27
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 157 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #130
| |
| 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 EA LDX #234 ;hides 'NOP'
| |
| E8 INX
| |
| D0 FC BNE *-2</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| A0 EA LDY #234 ;hides 'NOP'
| |
| C8 INY
| |
| D0 FC BNE *-2</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| A2 16 LDX #22
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 16 LDY #22
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A0 0D LDY #13
| |
| 08 PHP
| |
| 28 PLP
| |
| 88 DEY
| |
| D0 F9 BNE *-5</pre>||Clobbers Y, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>A2 0D LDX #13
| |
| 08 PHP
| |
| 28 PLP
| |
| CA DEX
| |
| D0 F9 BNE *-5</pre>||Clobbers X, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #123
| |
| 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 #123
| |
| 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>8C TXA
| |
| 48 PHA
| |
| A2 1D LDX #29
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A0 1D LDY #29
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 1D LDX #29
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #116
| |
| 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
| |
| 38 SEC
| |
| A9 15 LDA #21
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 15 LDA #21
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$7A'
| |
| 7A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 1C LDA #28
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 158 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #131
| |
| 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 #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| A2 1F LDX #31
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 1F LDY #31
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 1E LDX #30
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 1E LDY #30
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #124
| |
| 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 #124
| |
| 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>48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts14
| |
| D0 FA BNE *-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
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #117
| |
| 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 \ × 2
| |
| 28 PLP /
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, and C; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 08 PHP \ × 2
| |
| 28 PLP /
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Clobbers S; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 1B LDX #27
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 1B LDA #27
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Clobbers S; and writes in stack
| |
| |-
| |
| !colspan="2"|14 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 1B LDA #27
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 159 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #132
| |
| 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 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A2 1F LDX #31
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A0 1F LDY #31
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A5 A5 LDA $A5
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| A2 1F LDX #31
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 1F LDY #31
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts15
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, and C; requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #125
| |
| 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 #125
| |
| 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>A9 0A LDA #$0A ;hides 'ASL A'
| |
| 48 PHA
| |
| 20 xx xx JSR @rts12
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, and C; requires @rts12; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 1D LDX #29
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| F6 xx INC @zptemp,X
| |
| 28 PLP</pre>||Clobbers X; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>A9 0A LDA #$0A ;hides 'ASL A'
| |
| 85 xx STA @zptemp
| |
| 20 xx xx JSR @rts12
| |
| D0 F8 BNE *-6</pre>||Clobbers A, Z&N, and C; requires @zptemp, and @rts12; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #118
| |
| 20 xx xx JSR delay_a_25_clocks
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires delay_a_25_clocks; and writes in stack
| |
| |-
| |
| |<pre>A9 0A LDA #$0A ;hides 'ASL A'
| |
| 04 04 NOP $04
| |
| 20 xx xx JSR @rts12
| |
| D0 F8 BNE *-6</pre>||Clobbers A, Z&N, and C; requires @rts12, and support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>A9 0A LDA #$0A ;hides 'ASL A'
| |
| 48 ... PHA × 5
| |
| D0 F8 BNE *-6</pre>||Clobbers A, S, Z&N, and C; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A0 1D LDY #29
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A2 1D LDX #29
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>8C TXA
| |
| 48 PHA
| |
| A2 15 LDX #21
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| A0 1D LDY #29
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| A2 1D LDX #29
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 1C LDY #28
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 1D LDA #29
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$7A'
| |
| 7A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 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 1C LDA #28
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 160 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #133
| |
| 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 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2</pre>||Clobbers A, S, Z&N, C, and V
| |
| |-
| |
| |<pre>68 PLA
| |
| A0 1F LDY #31
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| A2 1F LDX #31
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 EA LDX #234 ;hides 'NOP'
| |
| E8 INX
| |
| D0 FC BNE *-2
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 EA LDY #234 ;hides 'NOP'
| |
| C8 INY
| |
| D0 FC BNE *-2
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #126
| |
| 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 #126
| |
| 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>48 PHA
| |
| 38 SEC
| |
| A9 1E LDA #30
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 1E LDA #30
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #119
| |
| 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
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers Z&N, and C; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 08 PHP \ × 2
| |
| 28 PLP /
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, and C; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$7A'
| |
| 7A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Clobbers S; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| 08 PHP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$7A'
| |
| 7A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 1C LDA #28
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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 1C LDA #28
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 161 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A0 20 LDY #32
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 20 LDX #32
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A9 LDA #134
| |
| 20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
| |
| |-
| |
| |<pre>A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;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>E6 xx INC @zptemp
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2</pre>||Clobbers A, Z&N, C, and V; and requires @zptemp
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #127
| |
| 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 #127
| |
| 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
| |
| 48 PHA
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| A5 A5 LDA $A5
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts15
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, and C; requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A2 1E LDX #30
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A0 1E LDY #30
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| A4 A4 LDY $A4
| |
| A0 1E LDY #30
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A6 A6 LDX $A6
| |
| A2 1E LDX #30
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #120
| |
| 20 xx xx JSR delay_a_25_clocks
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires delay_a_25_clocks; and writes in stack
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 48 PHA
| |
| 20 xx xx JSR @rts12
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, and C; requires @rts12; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 85 xx STA @zptemp
| |
| 20 xx xx JSR @rts12
| |
| D0 F8 BNE *-6</pre>||Clobbers A, Z&N, and C; requires @zptemp, and @rts12; and writes in stack
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 04 04 NOP $04
| |
| 20 xx xx JSR @rts12
| |
| D0 F8 BNE *-6</pre>||Clobbers A, Z&N, and C; requires @rts12, and support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>68 PLA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 1D LDX #29
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts14
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers S, Z&N, and C; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts14
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A, and S; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 1D LDX #29
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>C5 C5 CMP $C5
| |
| 48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts14
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers Z&N, and C; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A5 A5 LDA $A5
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts14
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 08 PHP \ × 2
| |
| 28 PLP /
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers S, Z&N, and C; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 1D LDA #29
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| EA ... NOP × 2
| |
| 10 F8 BPL *-6
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 162 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #135
| |
| 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
| |
| EA NOP
| |
| B0 FB BCS *-3</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>A2 17 LDX #23
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 17 LDY #23
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #128
| |
| 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 #128
| |
| 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 #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3
| |
| 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
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 16 LDY #22
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 16 LDX #22
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #121
| |
| 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
| |
| 38 SEC
| |
| A9 1D LDA #29
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 163 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #136
| |
| 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 20 LDX #32
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 20 LDY #32
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 1F LDY #31
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 1F LDX #31
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #122
| |
| 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>E6 xx INC @zptemp
| |
| 48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts14
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers Z&N, and C; requires @zptemp, @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 ... PHA × 2
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts14
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers S, Z&N, and C; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>E6 xx INC @zptemp
| |
| 48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 08 PHP \ × 2
| |
| 28 PLP /
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, and C; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| C5 C5 CMP $C5
| |
| 48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts14
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers Z&N, and C; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 ... PHA × 2
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 08 PHP \ × 2
| |
| 28 PLP /
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers S, Z&N, and C; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$7A'
| |
| 7A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 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
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| EA ... NOP × 2
| |
| 10 F8 BPL *-6
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 164 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #137
| |
| 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 20 LDY #32
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A2 20 LDX #32
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| D0 FC BNE *-2</pre>||Clobbers A, S, Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| B0 F9 BCS *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| A2 20 LDX #32
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 20 LDY #32
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #130
| |
| 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 #130
| |
| 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>48 PHA
| |
| 18 CLC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| D0 F9 BNE *-5
| |
| 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
| |
| EA NOP
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 0D LDX #13
| |
| 08 PHP
| |
| 28 PLP
| |
| CA DEX
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 0D LDY #13
| |
| 08 PHP
| |
| 28 PLP
| |
| 88 DEY
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #123
| |
| 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
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 1D LDX #29
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 15 LDA #21
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 165 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #138
| |
| 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
| |
| A0 20 LDY #32
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| A2 20 LDX #32
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| D0 FC BNE *-2</pre>||Clobbers A, S, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 20 LDX #32
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 20 LDY #32
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #131
| |
| 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 #131
| |
| 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 × 2
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| D0 FC BNE *-2</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| B0 FB BCS *-3</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 1F LDY #31
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 1F LDX #31
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #124
| |
| 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 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts14
| |
| D0 FA BNE *-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 \ × 2
| |
| 28 PLP /
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 166 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A0 21 LDY #33
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 21 LDX #33
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A9 LDA #139
| |
| 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 #132
| |
| 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 #132
| |
| 20 xx xx JSR delay_a_25_clocks
| |
| 28 PLP</pre>||Clobbers A; requires delay_a_25_clocks; and writes in stack
| |
| |-
| |
| |<pre>E6 xx INC @zptemp
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| D0 FC BNE *-2</pre>||Clobbers A, Z&N, C, and V; and requires @zptemp, and support for unofficial opcodes
| |
| |-
| |
| |<pre>68 PLA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| B0 FB BCS *-3</pre>||Clobbers A, S, Z&N, C, and V
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| B0 FB BCS *-3</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;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 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2
| |
| 28 PLP</pre>||Clobbers A, and S; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A0 1F LDY #31
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A2 1F LDX #31
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>24 24 BIT $24
| |
| 48 PHA
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;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 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A4 A4 LDY $A4
| |
| A0 1F LDY #31
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A6 A6 LDX $A6
| |
| A2 1F LDX #31
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts15
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers Z&N, and C; requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #125
| |
| 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
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 85 xx STA @zptemp
| |
| 20 xx xx JSR @rts12
| |
| D0 F8 BNE *-6
| |
| 68 PLA</pre>||Clobbers Z&N, and C; requires @zptemp, and @rts12; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 04 04 NOP $04
| |
| 20 xx xx JSR @rts12
| |
| D0 F8 BNE *-6
| |
| 68 PLA</pre>||Clobbers Z&N, and C; requires @rts12, and support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 15 LDX #21
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 1D LDA #29
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 167 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A2 18 LDX #24 ;hides 'CLC'
| |
| CA DEX
| |
| D0 FC BNE *-2</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 18 LDY #24 ;hides 'CLC'
| |
| 88 DEY
| |
| D0 FC BNE *-2</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A9 LDA #140
| |
| 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 #133
| |
| 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 #133
| |
| 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 × 2
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| D0 FC BNE *-2</pre>||Clobbers A, S, Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>E6 xx INC @zptemp
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| B0 FB BCS *-3</pre>||Clobbers A, Z&N, C, and V; and requires @zptemp
| |
| |-
| |
| |<pre>A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts14
| |
| 18 CLC
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, and C; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| D0 FC BNE *-2</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| |<pre>68 PLA
| |
| 08 PHP
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;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 × 2
| |
| 48 PHA
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 1F LDX #31
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A0 1F LDY #31
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #126
| |
| 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
| |
| 38 SEC
| |
| A9 1E LDA #30
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 168 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #141
| |
| 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 21 LDX #33
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 21 LDY #33
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 21 LDA #33
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 20 LDY #32
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 20 LDX #32
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #134
| |
| 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 #134
| |
| 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 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;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
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| D0 FC BNE *-2
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>E6 xx INC @zptemp
| |
| 48 PHA
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| E6 xx INC @zptemp
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2
| |
| 28 PLP</pre>||Clobbers A; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #127
| |
| 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 × 2
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2
| |
| 68 PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 PHA
| |
| 08 PHP
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2
| |
| 28 PLP</pre>||Clobbers A, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 24 24 BIT $24
| |
| 48 PHA
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| EA NOP
| |
| A5 A5 LDA $A5
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-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 @rts15
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers Z&N, and C; requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 85 xx STA @zptemp
| |
| 20 xx xx JSR @rts12
| |
| D0 F8 BNE *-6
| |
| 68 PLA</pre>||Clobbers Z&N, and C; requires @zptemp, and @rts12; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 04 04 NOP $04
| |
| 20 xx xx JSR @rts12
| |
| D0 F8 BNE *-6
| |
| 68 PLA</pre>||Clobbers Z&N, and C; requires @rts12, and support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts14
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Clobbers S; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 1D LDX #29
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| C5 C5 CMP $C5
| |
| 48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts14
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 1D LDA #29
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Clobbers S; and writes in stack
| |
| |-
| |
| !colspan="2"|14 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 1D LDA #29
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 169 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #142
| |
| 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
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 18 LDY #24
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #135
| |
| 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 #135
| |
| 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 × 2
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;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>48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL 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 #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| B0 FB BCS *-3
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 17 LDY #23
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 17 LDX #23
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #128
| |
| 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 #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 170 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #143
| |
| 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 C8 LDY #200 ;hides 'INY'
| |
| C8 ... INY × 2
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 5A LDX #90 ;hides 'NOP'
| |
| E8 ... INX × 2
| |
| 10 FB BPL *-3</pre>||Clobbers X, and Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| |<pre>48 PHA
| |
| A2 18 LDX #24 ;hides 'CLC'
| |
| CA DEX
| |
| D0 FC BNE *-2</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 21 LDX #33
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #136
| |
| 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 #136
| |
| 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 21 LDA #33
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 20 LDX #32
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 20 LDY #32
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 171 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A2 22 LDX #34
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 22 LDY #34
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A9 LDA #144
| |
| 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 #137
| |
| 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 #137
| |
| 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 18 LDA #24
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A0 20 LDY #32
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A2 20 LDX #32
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;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
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;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"|9 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 18 CLC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| B0 F9 BCS *-5
| |
| 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
| |
| EA NOP
| |
| B0 F9 BCS *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A4 A4 LDY $A4
| |
| A0 20 LDY #32
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A6 A6 LDX $A6
| |
| A2 20 LDX #32
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #130
| |
| 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
| |
| 18 CLC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 172 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #145
| |
| 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 13 LDY #19
| |
| 68 PLA
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| |<pre>A2 13 LDX #19
| |
| 68 PLA
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A2 13 LDX #19
| |
| EA ... NOP × 2
| |
| CA DEX
| |
| D0 F9 BNE *-5</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 13 LDY #19
| |
| EA ... NOP × 2
| |
| 88 DEY
| |
| D0 F9 BNE *-5</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #138
| |
| 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 #138
| |
| 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
| |
| 38 SEC
| |
| A9 21 LDA #33
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V
| |
| |-
| |
| |<pre>68 PLA
| |
| 08 PHP
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;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"|9 bytes
| |
| |-
| |
| |<pre>8C TXA
| |
| 48 PHA
| |
| A2 20 LDX #32
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A0 20 LDY #32
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 20 LDX #32
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #131
| |
| 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 × 2
| |
| 48 PHA
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;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 × 2
| |
| 08 PHP
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| D0 FC BNE *-2
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| B0 FB BCS *-3
| |
| 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
| |
| EA NOP
| |
| B0 FB BCS *-3
| |
| 28 PLP</pre>||Clobbers A, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 173 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #146
| |
| 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 22 LDX #34
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 22 LDY #34
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 22 LDA #34
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 21 LDY #33
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 21 LDX #33
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #139
| |
| 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 #139
| |
| 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 #132
| |
| 20 xx xx JSR delay_a_25_clocks
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires delay_a_25_clocks; and writes in stack
| |
| |-
| |
| |<pre>E6 xx INC @zptemp
| |
| 48 PHA
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| D0 FC BNE *-2
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; requires @zptemp, and support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| E6 xx INC @zptemp
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| D0 FC BNE *-2
| |
| 28 PLP</pre>||Clobbers A; requires @zptemp, and support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>68 PLA
| |
| 08 PHP
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| B0 FB BCS *-3
| |
| 28 PLP</pre>||Clobbers A, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 ... PHA × 2
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;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>EA NOP
| |
| 48 PHA
| |
| 08 PHP
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;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>EA ... NOP × 2
| |
| 48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| B0 FB BCS *-3
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| B0 FB BCS *-3
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 48 PHA
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2
| |
| 68 PLA
| |
| 28 PLP</pre>||Clobbers S; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 24 24 BIT $24
| |
| 48 PHA
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 174 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A2 E8 LDX #232 ;hides 'INX'
| |
| EA NOP
| |
| D0 FC BNE *-2</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 98 LDY #152 ;hides 'TYA'
| |
| 88 DEY
| |
| 30 FC BMI *-2</pre>||Clobbers A, Y, and Z&N
| |
| |-
| |
| |<pre>A9 LDA #147
| |
| 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 22 LDY #34
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 18 LDY #24 ;hides 'CLC'
| |
| 88 DEY
| |
| D0 FC BNE *-2
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 18 LDX #24 ;hides 'CLC'
| |
| CA DEX
| |
| D0 FC BNE *-2
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #140
| |
| 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 #140
| |
| 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>38 SEC
| |
| A9 13 LDA #19
| |
| EA ... NOP × 2
| |
| E9 01 SBC #1
| |
| D0 F7 BNE *-7</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #133
| |
| 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 × 3
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;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 × 2
| |
| 08 PHP
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;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>EA NOP
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 20 LDX #32
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>E6 xx INC @zptemp
| |
| 48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| B0 FB BCS *-3
| |
| 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
| |
| EA NOP
| |
| B0 FB BCS *-3
| |
| 28 PLP</pre>||Clobbers A; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts14
| |
| 18 CLC
| |
| D0 F9 BNE *-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
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 48 PHA
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;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 × 3
| |
| 08 PHP
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| D0 FC BNE *-2
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 ... PHA × 2
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| B0 FB BCS *-3
| |
| 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
| |
| EA NOP
| |
| B0 FB BCS *-3
| |
| 28 PLP</pre>||Clobbers A, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 175 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #148
| |
| 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 22 LDX #34
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| A0 22 LDY #34
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 22 LDY #34
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 22 LDX #34
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #141
| |
| 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 #141
| |
| 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 22 LDA #34
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 21 LDY #33
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 21 LDX #33
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts15
| |
| 18 CLC
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, and C; requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>A9 0A LDA #$0A ;hides 'ASL A'
| |
| 48 PHA
| |
| 20 xx xx JSR @rts14
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, and C; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 21 LDA #33
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 21 LDA #33
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #134
| |
| 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
| |
| 48 PHA
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;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
| |
| E6 xx INC @zptemp
| |
| 48 PHA
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 PHA
| |
| 08 PHP
| |
| 48 PHA
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2
| |
| 68 PLA
| |
| 28 PLP</pre>||Clobbers S; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| EA NOP
| |
| 24 24 BIT $24
| |
| 48 PHA
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 176 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A0 23 LDY #35
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 23 LDX #35
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A9 LDA #149
| |
| 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 #142
| |
| 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 #142
| |
| 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 18 LDY #24
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 18 LDX #24
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>20 xx xx JSR @rts15
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| D0 FC BNE *-2</pre>||Clobbers A, Z&N, C, and V; requires @rts12, @rts15, and support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 22 LDA #34
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>A5 A5 LDA $A5
| |
| 38 SEC
| |
| A9 22 LDA #34
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #135
| |
| 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 × 2
| |
| 08 PHP
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;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>08 PHP
| |
| 48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| B0 FB BCS *-3
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 177 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #150
| |
| 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
| |
| D0 FB BNE *-3</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>A0 16 LDY #22
| |
| 48 PHA
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>A2 16 LDX #22
| |
| 48 PHA
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| A2 E8 LDX #232 ;hides 'INX'
| |
| EA NOP
| |
| D0 FC BNE *-2</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 16 LDY #22
| |
| C5 C5 CMP $C5
| |
| 88 DEY
| |
| D0 F9 BNE *-5</pre>||Clobbers Y, Z&N, and C
| |
| |-
| |
| |<pre>A0 16 LDY #22
| |
| 24 24 BIT $24
| |
| 88 DEY
| |
| D0 F9 BNE *-5</pre>||Clobbers Y, Z&N, and V
| |
| |-
| |
| |<pre>A0 16 LDY #22
| |
| A5 A5 LDA $A5
| |
| 88 DEY
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Y, and Z&N
| |
| |-
| |
| |<pre>A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 85 xx STA @zptemp
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V; and requires @zptemp
| |
| |-
| |
| |<pre>A0 16 LDY #22
| |
| 85 xx STA @zptemp
| |
| 88 DEY
| |
| D0 F9 BNE *-5</pre>||Clobbers Y, and Z&N; and requires @zptemp
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #143
| |
| 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 #143
| |
| 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
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| |<pre>A0 16 LDY #22
| |
| 04 04 NOP $04
| |
| 88 DEY
| |
| D0 F9 BNE *-5</pre>||Clobbers Y, and Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 4C xx xx JMP *+3
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V; and not relocatable code
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 C8 LDY #200 ;hides 'INY'
| |
| C8 ... INY × 2
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 5A LDX #90 ;hides 'NOP'
| |
| E8 ... INX × 2
| |
| 10 FB BPL *-3
| |
| 28 PLP</pre>||Clobbers X; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A2 18 LDX #24 ;hides 'CLC'
| |
| CA DEX
| |
| D0 FC BNE *-2
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>8C TXA
| |
| 48 PHA
| |
| A2 21 LDX #33
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 21 LDX #33
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #136
| |
| 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 21 LDA #33
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 21 LDA #33
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 28 PLP
| |
| 08 PHP
| |
| 48 PHA
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 178 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #151
| |
| 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 23 LDX #35
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 23 LDY #35
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 23 LDA #35
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 22 LDY #34
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 22 LDX #34
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #144
| |
| 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 #144
| |
| 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>8C TXA
| |
| 48 PHA
| |
| A2 18 LDX #24 ;hides 'CLC'
| |
| CA DEX
| |
| D0 FC BNE *-2
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #137
| |
| 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
| |
| 38 SEC
| |
| A9 18 LDA #24
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 18 LDA #24
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 48 PHA
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;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"|11 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| B0 F9 BCS *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 179 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #152
| |
| 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 D8 LDY #216 ;hides 'CLD'
| |
| C8 ... INY × 2
| |
| D0 FB BNE *-3</pre>||Clobbers Y, Z&N, and D
| |
| |-
| |
| |<pre>A2 D8 LDX #216 ;hides 'CLD'
| |
| E8 ... INX × 2
| |
| D0 FB BNE *-3</pre>||Clobbers X, Z&N, and D
| |
| |-
| |
| |<pre>A0 15 LDY #21 ;hides 'ORA zp,X'
| |
| 88 DEY ;first loop only
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, and Z&N
| |
| |-
| |
| |<pre>A2 15 LDX #21 ;hides 'ORA zp,X'
| |
| CA DEX ;first loop only
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, and Z&N
| |
| |-
| |
| |<pre>A0 14 LDY #20 ;hides 'NOP zp,X'
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| |<pre>A2 14 LDX #20 ;hides 'NOP zp,X'
| |
| EA NOP
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| |<pre>48 PHA
| |
| A2 23 LDX #35
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A0 23 LDY #35
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| A2 23 LDX #35
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 23 LDY #35
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #145
| |
| 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 #145
| |
| 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 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 48 PHA
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 85 xx STA @zptemp
| |
| D0 F8 BNE *-6</pre>||Clobbers A, Z&N, C, and V; and requires @zptemp
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 04 04 NOP $04
| |
| D0 F8 BNE *-6</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 16 LDA #22
| |
| 24 24 BIT $24
| |
| E9 01 SBC #1
| |
| D0 F7 BNE *-7</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 13 LDX #19
| |
| EA ... NOP × 2
| |
| CA DEX
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 13 LDY #19
| |
| EA ... NOP × 2
| |
| 88 DEY
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #138
| |
| 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'
| |
| 20 xx xx JSR @rts15
| |
| 18 CLC
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, and C; requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>68 PLA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 48 PHA
| |
| 20 xx xx JSR @rts14
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, and C; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 21 LDX #33
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 20 LDX #32
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 21 LDA #33
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| D0 FC BNE *-2
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| B0 FB BCS *-3
| |
| 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 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| D0 FC BNE *-2
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 180 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #153
| |
| 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 23 LDX #35
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| A0 23 LDY #35
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 23 LDY #35
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 23 LDX #35
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #146
| |
| 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 #146
| |
| 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 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 48 PHA
| |
| D0 FB BNE *-3</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 38 SEC
| |
| A9 23 LDA #35
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 22 LDX #34
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 22 LDY #34
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 22 LDA #34
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 22 LDA #34
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #139
| |
| 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
| |
| E6 xx INC @zptemp
| |
| 48 PHA
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| D0 FC BNE *-2
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires @zptemp, and support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 PHA
| |
| 08 PHP
| |
| 48 PHA
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;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>EA ... NOP × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| B0 FB BCS *-3
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 181 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A2 24 LDX #36
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 24 LDY #36
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A9 LDA #154
| |
| 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>08 PHP
| |
| A2 E8 LDX #232 ;hides 'INX'
| |
| EA NOP
| |
| D0 FC BNE *-2
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 98 LDY #152 ;hides 'TYA'
| |
| 88 DEY
| |
| 30 FC BMI *-2
| |
| 28 PLP</pre>||Clobbers A, and Y; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #147
| |
| 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 #147
| |
| 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 #$0A'
| |
| 0A ASL A ;first loop only
| |
| 48 PHA
| |
| D0 FB BNE *-3</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 14 LDA #20 ;hides 'NOP zp,X'
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A0 22 LDY #34
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>A5 A5 LDA $A5
| |
| 38 SEC
| |
| A9 23 LDA #35
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| 28 PLP
| |
| 08 PHP
| |
| A0 18 LDY #24 ;hides 'CLC'
| |
| 88 DEY
| |
| D0 FC BNE *-2
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #140
| |
| 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 C8 LDY #200 ;hides 'INY'
| |
| C8 ... INY × 2
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 13 LDA #19
| |
| EA ... NOP × 2
| |
| E9 01 SBC #1
| |
| D0 F7 BNE *-7
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 13 LDA #19
| |
| EA ... NOP × 2
| |
| E9 01 SBC #1
| |
| D0 F7 BNE *-7
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;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>EA NOP
| |
| 48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 20 LDX #32
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| E6 xx INC @zptemp
| |
| 48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| B0 FB BCS *-3
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts14
| |
| 18 CLC
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| 48 PHA
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;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 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| B0 FB BCS *-3
| |
| 68 PLA
| |
| 28 PLP</pre>||Clobbers S; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 08 PHP \ × 2
| |
| 28 PLP /
| |
| 18 CLC
| |
| D0 F8 BNE *-6
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 182 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #155
| |
| 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 23 LDX #35
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| F6 xx INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| |<pre>A0 EC LDY #236 ;hides 'CPX abs'
| |
| E6 xx INC @zptemp
| |
| C8 INY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, Z&N, and C; and requires @zptemp
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #148
| |
| 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 #148
| |
| 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 × 2
| |
| A2 23 LDX #35
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A0 23 LDY #35
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A0 23 LDY #35
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A2 23 LDX #35
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| 38 SEC
| |
| A9 23 LDA #35
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>8C TXA
| |
| 48 PHA
| |
| A2 22 LDX #34
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A0 22 LDY #34
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 22 LDX #34
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #141
| |
| 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 22 LDA #34
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 22 LDA #34
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts15
| |
| 18 CLC
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, and C; requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 21 LDA #33
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 183 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #156
| |
| 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 1A LDY #26
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 1A LDX #26
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 EB LDA #$EB ;hides 'SBC #$DA'
| |
| DA NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 24 LDA #36
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 23 LDY #35
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 23 LDX #35
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #149
| |
| 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 #149
| |
| 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>A9 0A LDA #$0A ;hides 'ASL A'
| |
| 48 PHA
| |
| 20 xx xx JSR @rts15
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, and C; requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>A9 0A LDA #$0A ;hides 'ASL A'
| |
| EA NOP
| |
| 20 xx xx JSR @rts14
| |
| 18 CLC
| |
| D0 F8 BNE *-6</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
| |
| 20 xx xx JSR @rts15
| |
| D0 F8 BNE *-6</pre>||Clobbers A, Z&N, and C; requires @zptemp, @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #142
| |
| 20 xx xx JSR delay_a_25_clocks
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires delay_a_25_clocks; and writes in stack
| |
| |-
| |
| |<pre>A9 0A LDA #$0A ;hides 'ASL A'
| |
| 04 04 NOP $04
| |
| 20 xx xx JSR @rts15
| |
| D0 F8 BNE *-6</pre>||Clobbers A, Z&N, and C; requires @rts12, @rts15, and support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>A9 0A LDA #$0A ;hides 'ASL A'
| |
| 48 ... PHA × 2
| |
| 20 xx xx JSR @rts12
| |
| D0 F8 BNE *-6</pre>||Clobbers A, S, Z&N, and C; requires @rts12; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>A9 0A LDA #$0A ;hides 'ASL A'
| |
| EA NOP
| |
| 08 PHP \ × 2
| |
| 28 PLP /
| |
| 18 CLC
| |
| D0 F7 BNE *-7</pre>||Clobbers A, Z&N, and C; and writes in stack
| |
| |-
| |
| |<pre>20 xx xx JSR @rts15
| |
| 48 PHA
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| D0 FC BNE *-2
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; requires @rts12, @rts15, and support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>20 xx xx JSR @rts15
| |
| 08 PHP
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| D0 FC BNE *-2
| |
| 28 PLP</pre>||Clobbers A; requires @rts12, @rts15, and support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 38 SEC
| |
| A9 22 LDA #34
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 22 LDA #34
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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 22 LDA #34
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A5 A5 LDA $A5
| |
| 38 SEC
| |
| A9 22 LDA #34
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 28 PLP
| |
| 08 PHP
| |
| 48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| B0 FB BCS *-3
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 184 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #157
| |
| 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 24 LDX #36
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A0 24 LDY #36
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| A2 24 LDX #36
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 24 LDY #36
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #150
| |
| 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 #150
| |
| 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
| |
| 68 PLA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 48 PHA
| |
| D0 FB BNE *-3</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A2 E8 LDX #232 ;hides 'INX'
| |
| EA NOP
| |
| D0 FC BNE *-2
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A0 98 LDY #152 ;hides 'TYA'
| |
| 88 DEY
| |
| 30 FC BMI *-2
| |
| 28 PLP</pre>||Clobbers A, Y, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 16 LDY #22
| |
| C5 C5 CMP $C5
| |
| 88 DEY
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 16 LDX #22
| |
| 24 24 BIT $24
| |
| CA DEX
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 85 xx STA @zptemp
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 85 xx STA @zptemp
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #143
| |
| 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
| |
| D0 FA BNE *-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
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 4C xx xx JMP *+3
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; writes in stack; and not relocatable code
| |
| |-
| |
| |<pre>EA NOP
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 22 LDX #34
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 4C xx xx JMP *+3
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; writes in stack; and not relocatable code
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 21 LDX #33
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 22 LDA #34
| |
| 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 21 LDA #33
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 185 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #158
| |
| 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
| |
| B0 FB BCS *-3</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>A2 17 LDX #23
| |
| 48 PHA
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>A0 17 LDY #23
| |
| 48 PHA
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 24 LDX #36
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 24 LDY #36
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 85 xx STA @zptemp
| |
| B0 FA BCS *-4</pre>||Clobbers A, Z&N, C, and V; and requires @zptemp
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #151
| |
| 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 #151
| |
| 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
| |
| B0 FA BCS *-4</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 1A LDA #26
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 23 LDX #35
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 23 LDY #35
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 23 LDA #35
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 23 LDA #35
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #144
| |
| 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
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 18 LDX #24 ;hides 'CLC'
| |
| CA DEX
| |
| D0 FC BNE *-2
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 18 LDA #24
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 186 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A0 25 LDY #37
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 25 LDX #37
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A9 LDA #159
| |
| 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 #152
| |
| 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 #152
| |
| 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
| |
| 38 SEC
| |
| A9 EB LDA #$EB ;hides 'SBC #$DA'
| |
| DA NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, S, Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 D8 LDX #216 ;hides 'CLD'
| |
| E8 ... INX × 2
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 D8 LDY #216 ;hides 'CLD'
| |
| C8 ... INY × 2
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| 38 SEC
| |
| A9 EB LDA #$EB ;hides 'SBC #$DA'
| |
| DA NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 24 LDA #36
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>A5 A5 LDA $A5
| |
| 38 SEC
| |
| A9 24 LDA #36
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #145
| |
| 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'
| |
| 48 PHA
| |
| 20 xx xx JSR @rts15
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, and C; requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 18 CLC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 85 xx STA @zptemp
| |
| D0 F8 BNE *-6
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 18 CLC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 85 xx STA @zptemp
| |
| D0 F8 BNE *-6
| |
| 28 PLP</pre>||Clobbers A; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 18 CLC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 04 04 NOP $04
| |
| D0 F8 BNE *-6
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 18 CLC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 04 04 NOP $04
| |
| D0 F8 BNE *-6
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>68 PLA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 22 LDX #34
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 16 LDA #22
| |
| 24 24 BIT $24
| |
| E9 01 SBC #1
| |
| D0 F7 BNE *-7
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 16 LDA #22
| |
| 24 24 BIT $24
| |
| E9 01 SBC #1
| |
| D0 F7 BNE *-7
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 21 LDX #33
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 21 LDA #33
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 187 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #160
| |
| 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 24 LDX #36
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| F6 xx INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #153
| |
| 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 #153
| |
| 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 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 48 PHA
| |
| B0 F9 BCS *-5</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A2 24 LDX #36
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A0 24 LDY #36
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A0 24 LDY #36
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A2 24 LDX #36
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 85 xx STA @zptemp
| |
| B0 F8 BCS *-6</pre>||Clobbers A, Z&N, C, and V; and requires @zptemp
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 04 04 NOP $04
| |
| B0 F8 BCS *-6</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>98 TYA
| |
| 48 PHA
| |
| A0 23 LDY #35
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A0 23 LDY #35
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 23 LDX #35
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #146
| |
| 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 23 LDA #35
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 23 LDA #35
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 22 LDA #34
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 188 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #161
| |
| 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 25 LDX #37
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 25 LDY #37
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 25 LDA #37
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 24 LDY #36
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 24 LDX #36
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #154
| |
| 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 #154
| |
| 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 #147
| |
| 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
| |
| 38 SEC
| |
| A9 14 LDA #20 ;hides 'NOP zp,X'
| |
| EA NOP
| |
| E9 01 SBC #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
| |
| 38 SEC
| |
| A9 14 LDA #20 ;hides 'NOP zp,X'
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 38 SEC
| |
| A9 23 LDA #35
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 23 LDA #35
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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 23 LDA #35
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A5 A5 LDA $A5
| |
| 38 SEC
| |
| A9 23 LDA #35
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 C8 LDY #200 ;hides 'INY'
| |
| C8 ... INY × 2
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 13 LDA #19
| |
| EA ... NOP × 2
| |
| E9 01 SBC #1
| |
| D0 F7 BNE *-7
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 189 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #162
| |
| 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 25 LDY #37
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A2 25 LDX #37
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| A2 25 LDX #37
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 25 LDY #37
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #155
| |
| 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 #155
| |
| 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 #$0A'
| |
| 0A ASL A ;first loop only
| |
| 48 PHA
| |
| B0 FB BCS *-3</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 85 xx STA @zptemp
| |
| B0 FA BCS *-4</pre>||Clobbers A, Z&N, C, and V; and requires @zptemp
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 23 LDX #35
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| F6 xx INC @zptemp,X
| |
| 28 PLP</pre>||Clobbers X; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 EC LDY #236 ;hides 'CPX abs'
| |
| E6 xx INC @zptemp
| |
| C8 INY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #148
| |
| 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 × 2
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 04 04 NOP $04
| |
| B0 FA BCS *-4</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A0 23 LDY #35
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A2 23 LDX #35
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 23 LDY #35
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| A0 23 LDY #35
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| A2 23 LDX #35
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 22 LDX #34
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 23 LDA #35
| |
| 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 22 LDA #34
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 190 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #163
| |
| 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 1B LDX #27
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 1B LDY #27
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #156
| |
| 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 #156
| |
| 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 25 LDA #37
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 1A LDX #26
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 1A LDY #26
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 EB LDA #$EB ;hides 'SBC #$DA'
| |
| DA NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 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 #$DA'
| |
| DA NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 24 LDA #36
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 24 LDA #36
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #149
| |
| 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
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| EA NOP
| |
| 20 xx xx JSR @rts14
| |
| 18 CLC
| |
| D0 F8 BNE *-6
| |
| 68 PLA</pre>||Clobbers Z&N, and C; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 85 xx STA @zptemp
| |
| 20 xx xx JSR @rts15
| |
| D0 F8 BNE *-6
| |
| 68 PLA</pre>||Clobbers Z&N, and C; requires @zptemp, @rts12, and @rts15; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 04 04 NOP $04
| |
| 20 xx xx JSR @rts15
| |
| D0 F8 BNE *-6
| |
| 68 PLA</pre>||Clobbers Z&N, and C; requires @rts12, @rts15, and support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| EA NOP
| |
| 08 PHP \ × 2
| |
| 28 PLP /
| |
| 18 CLC
| |
| D0 F7 BNE *-7
| |
| 68 PLA</pre>||Clobbers Z&N, and C; and writes in stack
| |
| |-
| |
| |<pre>20 xx xx JSR @rts15
| |
| 08 PHP
| |
| 48 PHA
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| D0 FC BNE *-2
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires @rts12, @rts15, and support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 22 LDA #34
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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 22 LDA #34
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 191 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A2 26 LDX #38
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 26 LDY #38
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A9 LDA #164
| |
| 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 #157
| |
| 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 #157
| |
| 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>A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 20 xx xx JSR @rts14
| |
| 30 F9 BMI *-5</pre>||Clobbers A, Z&N, C, and V; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 25 LDA #37
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A2 24 LDX #36
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A0 24 LDY #36
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>A5 A5 LDA $A5
| |
| 38 SEC
| |
| A9 25 LDA #37
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A6 A6 LDX $A6
| |
| A2 24 LDX #36
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A4 A4 LDY $A4
| |
| A0 24 LDY #36
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>A9 0A LDA #$0A ;hides 'ASL A'
| |
| 08 PHP
| |
| 28 PLP
| |
| 20 xx xx JSR @rts12
| |
| D0 F8 BNE *-6</pre>||Clobbers A, Z&N, and C; requires @rts12; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #150
| |
| 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>A9 0A LDA #$0A ;hides 'ASL A'
| |
| 08 PHP
| |
| 36 36 ROL $36,X
| |
| 76 36 ROR $36,X
| |
| 28 PLP
| |
| D0 F7 BNE *-7</pre>||Clobbers A, Z&N, and C; and writes in stack
| |
| |-
| |
| |<pre>68 PLA
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 23 LDY #35
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY</pre>||Clobbers A, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 23 LDY #35
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 85 xx STA @zptemp
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires @zptemp; 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
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 3
| |
| 38 SEC
| |
| A9 23 LDA #35
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 23 LDA #35
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 22 LDX #34
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 4C xx xx JMP *+3
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack; and not relocatable code
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 23 LDA #35
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 22 LDA #34
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 192 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #165
| |
| 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>EA NOP
| |
| A0 1B LDY #27
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A2 1B LDX #27
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #158
| |
| 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 #158
| |
| 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 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| EA NOP
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 1B LDA #27
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>8C TXA
| |
| 48 PHA
| |
| A2 24 LDX #36
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 17 LDX #23
| |
| 24 24 BIT $24
| |
| CA DEX
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 17 LDY #23
| |
| C5 C5 CMP $C5
| |
| 88 DEY
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 85 xx STA @zptemp
| |
| B0 FA BCS *-4
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 85 xx STA @zptemp
| |
| B0 FA BCS *-4
| |
| 28 PLP</pre>||Clobbers A; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #151
| |
| 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
| |
| B0 FA BCS *-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
| |
| B0 FA BCS *-4
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 1A LDA #26
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 1A LDA #26
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 23 LDA #35
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 193 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #166
| |
| 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 26 LDX #38
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 26 LDY #38
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 26 LDA #38
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 25 LDY #37
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 25 LDX #37
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #159
| |
| 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 #159
| |
| 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 #152
| |
| 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 × 2
| |
| 38 SEC
| |
| A9 EB LDA #$EB ;hides 'SBC #$DA'
| |
| DA NOP ;first loop only
| |
| D0 FA BNE *-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
| |
| 38 SEC
| |
| A9 EB LDA #$EB ;hides 'SBC #$DA'
| |
| DA NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A, and S; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 08 PHP
| |
| 28 PLP
| |
| 20 xx xx JSR @rts12
| |
| D0 F8 BNE *-6</pre>||Clobbers A, Z&N, and C; requires @rts12; and writes in stack
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 EB LDA #$EB ;hides 'SBC #$DA'
| |
| DA NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 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 EB LDA #$EB ;hides 'SBC #$DA'
| |
| DA NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 38 SEC
| |
| A9 24 LDA #36
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 24 LDA #36
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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 24 LDA #36
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A5 A5 LDA $A5
| |
| 38 SEC
| |
| A9 24 LDA #36
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 85 xx STA @zptemp
| |
| D0 F8 BNE *-6
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 04 04 NOP $04
| |
| D0 F8 BNE *-6
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| EA NOP
| |
| 20 xx xx JSR @rts14
| |
| 18 CLC
| |
| D0 F8 BNE *-6
| |
| 68 PLA</pre>||Clobbers S, Z&N, and C; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 16 LDA #22
| |
| 24 24 BIT $24
| |
| E9 01 SBC #1
| |
| D0 F7 BNE *-7
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 194 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #167
| |
| 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 26 LDX #38
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A0 26 LDY #38
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| A2 26 LDX #38
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 26 LDY #38
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #160
| |
| 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 #160
| |
| 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 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| EA NOP
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 38 SEC
| |
| A9 1B LDA #27
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 24 LDX #36
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| F6 xx INC @zptemp,X
| |
| 28 PLP</pre>||Clobbers X; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #153
| |
| 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 × 2
| |
| 08 PHP
| |
| A0 24 LDY #36
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A2 24 LDX #36
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| |<pre>68 PLA
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 EB LDA #$EB ;hides 'SBC #$DA'
| |
| DA NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A, S, and Z&N; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>98 TYA
| |
| 48 PHA
| |
| A0 1A LDY #26
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| A8 TAY</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 17 LDY #23
| |
| C5 C5 CMP $C5
| |
| 88 DEY
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 17 LDX #23
| |
| 24 24 BIT $24
| |
| CA DEX
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 18 CLC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 85 xx STA @zptemp
| |
| B0 F8 BCS *-6
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 18 CLC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 85 xx STA @zptemp
| |
| B0 F8 BCS *-6
| |
| 28 PLP</pre>||Clobbers A; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 18 CLC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 04 04 NOP $04
| |
| B0 F8 BCS *-6
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 18 CLC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 04 04 NOP $04
| |
| B0 F8 BCS *-6
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 23 LDY #35
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 24 LDA #36
| |
| 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 23 LDA #35
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 195 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #168
| |
| 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 26 LDX #38
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| A0 26 LDY #38
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 26 LDX #38
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 26 LDY #38
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #161
| |
| 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 #161
| |
| 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 26 LDA #38
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 25 LDX #37
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 25 LDY #37
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 25 LDA #37
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 25 LDA #37
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #154
| |
| 20 xx xx JSR delay_a_25_clocks
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires delay_a_25_clocks; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 14 LDA #20 ;hides 'NOP zp,X'
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 23 LDA #35
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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 23 LDA #35
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 196 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A2 27 LDX #39
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 27 LDY #39
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A9 LDA #169
| |
| 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 #162
| |
| 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 #162
| |
| 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 26 LDA #38
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A2 25 LDX #37
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A0 25 LDY #37
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>A5 A5 LDA $A5
| |
| 38 SEC
| |
| A9 26 LDA #38
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A4 A4 LDY $A4
| |
| A0 25 LDY #37
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A6 A6 LDX $A6
| |
| A2 25 LDX #37
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #155
| |
| 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
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 24 LDX #36
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 3
| |
| 38 SEC
| |
| A9 EB LDA #$EB ;hides 'SBC #$DA'
| |
| DA NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers S, Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 EB LDA #$EB ;hides 'SBC #$DA'
| |
| DA NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A, and S; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>98 TYA
| |
| 48 PHA
| |
| A0 17 LDY #23
| |
| A5 A5 LDA $A5
| |
| 88 DEY
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| A8 TAY</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 85 xx STA @zptemp
| |
| B0 FA BCS *-4
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 85 xx STA @zptemp
| |
| B0 FA BCS *-4
| |
| 28 PLP</pre>||Clobbers A; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 04 04 NOP $04
| |
| B0 FA BCS *-4
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 04 04 NOP $04
| |
| B0 FA BCS *-4
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 3
| |
| 38 SEC
| |
| A9 24 LDA #36
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 24 LDA #36
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 PHA
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 23 LDY #35
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 24 LDA #36
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 23 LDA #35
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 197 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #170
| |
| 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 1C LDY #28
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 1C LDX #28
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #163
| |
| 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 #163
| |
| 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 1B LDY #27
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 1B LDX #27
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>68 PLA
| |
| 38 SEC
| |
| A9 26 LDA #38
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>98 TYA
| |
| 48 PHA
| |
| A0 25 LDY #37
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #156
| |
| 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 25 LDA #37
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 25 LDA #37
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 EB LDA #$EB ;hides 'SBC #$DA'
| |
| DA NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 24 LDA #36
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 198 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #171
| |
| 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 #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 27 LDY #39
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A2 27 LDX #39
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 26 LDX #38
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 26 LDY #38
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #164
| |
| 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 #164
| |
| 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 #157
| |
| 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 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 20 xx xx JSR @rts14
| |
| 30 F9 BMI *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 20 xx xx JSR @rts14
| |
| 30 F9 BMI *-5
| |
| 28 PLP</pre>||Clobbers A; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 38 SEC
| |
| A9 25 LDA #37
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 25 LDA #37
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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 25 LDA #37
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A5 A5 LDA $A5
| |
| 38 SEC
| |
| A9 25 LDA #37
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 08 PHP
| |
| 28 PLP
| |
| 20 xx xx JSR @rts12
| |
| D0 F8 BNE *-6
| |
| 68 PLA</pre>||Clobbers Z&N, and C; requires @rts12; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 08 PHP
| |
| 36 36 ROL $36,X
| |
| 76 36 ROR $36,X
| |
| 28 PLP
| |
| D0 F7 BNE *-7
| |
| 68 PLA</pre>||Clobbers Z&N, and C; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 48 PHA
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 23 LDY #35
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 28 PLP
| |
| 08 PHP
| |
| 48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 85 xx STA @zptemp
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 28 PLP
| |
| 08 PHP
| |
| 48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 04 04 NOP $04
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 23 LDA #35
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Clobbers S; and writes in stack
| |
| |-
| |
| !colspan="2"|14 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 23 LDA #35
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 199 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #172
| |
| 20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
| |
| |-
| |
| |<pre>A2 E8 LDX #232 ;hides 'INX'
| |
| 48 PHA
| |
| D0 FC BNE *-2</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| |<pre>A2 E8 LDX #232 ;hides 'INX'
| |
| C5 C5 CMP $C5
| |
| D0 FB BNE *-3</pre>||Clobbers X, Z&N, and C
| |
| |-
| |
| |<pre>A2 E8 LDX #232 ;hides 'INX'
| |
| 24 24 BIT $24
| |
| D0 FB BNE *-3</pre>||Clobbers X, Z&N, and V
| |
| |-
| |
| |<pre>A2 E8 LDX #232 ;hides 'INX'
| |
| A5 A5 LDA $A5
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, and Z&N
| |
| |-
| |
| |<pre>A2 E8 LDX #232 ;hides 'INX'
| |
| A4 A4 LDY $A4
| |
| D0 FB BNE *-3</pre>||Clobbers X, Y, and Z&N
| |
| |-
| |
| |<pre>A2 E8 LDX #232 ;hides 'INX'
| |
| 85 xx STA @zptemp
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| |<pre>A2 E8 LDX #232 ;hides 'INX'
| |
| 04 04 NOP $04
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| |<pre>48 PHA
| |
| A0 27 LDY #39
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA ... NOP × 2
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| A2 27 LDX #39
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 27 LDY #39
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #165
| |
| 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 #165
| |
| 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>EA NOP
| |
| 08 PHP
| |
| A0 1B LDY #27
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 1B LDX #27
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #158
| |
| 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 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| EA NOP
| |
| 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
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| EA NOP
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>A9 0A LDA #$0A ;hides 'ASL A'
| |
| 48 ... PHA × 2
| |
| 20 xx xx JSR @rts14
| |
| D0 F8 BNE *-6</pre>||Clobbers A, S, Z&N, and C; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>A9 0A LDA #$0A ;hides 'ASL A'
| |
| 48 PHA
| |
| 20 xx xx JSR @rts15
| |
| 18 CLC
| |
| D0 F8 BNE *-6</pre>||Clobbers A, S, Z&N, and C; requires @rts12, and @rts15; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 1B LDA #27
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 1B LDA #27
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 24 LDX #36
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 85 xx STA @zptemp
| |
| B0 FA BCS *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires @zptemp; 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
| |
| B0 FA BCS *-4
| |
| 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 1A LDA #26
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 200 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #173
| |
| 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 27 LDX #39
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| A0 27 LDY #39
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 27 LDX #39
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 27 LDY #39
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #166
| |
| 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 #166
| |
| 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
| |
| A0 26 LDY #38
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 26 LDX #38
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 26 LDA #38
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 26 LDA #38
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #159
| |
| 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
| |
| 38 SEC
| |
| A9 EB LDA #$EB ;hides 'SBC #$DA'
| |
| DA NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Clobbers S; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 18 CLC
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 08 PHP
| |
| 28 PLP
| |
| 20 xx xx JSR @rts12
| |
| D0 F8 BNE *-6
| |
| 68 PLA</pre>||Clobbers Z&N, and C; requires @rts12; and writes in stack
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 EB LDA #$EB ;hides 'SBC #$DA'
| |
| DA NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 24 LDA #36
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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 24 LDA #36
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 201 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A2 28 LDX #40
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 28 LDY #40
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A9 LDA #174
| |
| 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 #167
| |
| 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 #167
| |
| 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 #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>A5 A5 LDA $A5
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A0 26 LDY #38
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A2 26 LDX #38
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| A6 A6 LDX $A6
| |
| A2 26 LDX #38
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A4 A4 LDY $A4
| |
| A0 26 LDY #38
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #160
| |
| 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 1B LDX #27
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| EA NOP
| |
| D0 F9 BNE *-5
| |
| 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 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| EA NOP
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 1B LDA #27
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 1B LDA #27
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 1A LDY #26
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| A8 TAY
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 85 xx STA @zptemp
| |
| B0 F8 BCS *-6
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 04 04 NOP $04
| |
| B0 F8 BCS *-6
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 24 LDA #36
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 202 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #175
| |
| 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 E8 LDX #232 ;hides 'INX'
| |
| 48 PHA
| |
| D0 FC BNE *-2</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A2 27 LDX #39
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| F6 xx INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #168
| |
| 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 #168
| |
| 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 #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, S, Z&N, C, and V
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A0 27 LDY #39
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A2 27 LDX #39
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A0 27 LDY #39
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>98 TYA
| |
| 48 PHA
| |
| A0 26 LDY #38
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 26 LDX #38
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A0 26 LDY #38
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #161
| |
| 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 26 LDA #38
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 26 LDA #38
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 25 LDA #37
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 203 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #176
| |
| 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
| |
| A0 28 LDY #40
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A2 28 LDX #40
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 28 LDA #40
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 27 LDY #39
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 27 LDX #39
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #169
| |
| 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 #169
| |
| 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 #162
| |
| 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 × 2
| |
| 38 SEC
| |
| A9 26 LDA #38
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 26 LDA #38
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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 26 LDA #38
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A5 A5 LDA $A5
| |
| 38 SEC
| |
| A9 26 LDA #38
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 EB LDA #$EB ;hides 'SBC #$DA'
| |
| DA NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Clobbers S; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 17 LDY #23
| |
| A5 A5 LDA $A5
| |
| 88 DEY
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| A8 TAY
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 85 xx STA @zptemp
| |
| B0 FA BCS *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 04 04 NOP $04
| |
| B0 FA BCS *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 24 LDA #36
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Clobbers S; and writes in stack
| |
| |-
| |
| !colspan="2"|14 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 24 LDA #36
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 204 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #177
| |
| 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 1D LDX #29
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 1D LDY #29
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #170
| |
| 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 #170
| |
| 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 1C LDX #28
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 1C LDY #28
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #163
| |
| 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
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 26 LDY #38
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 25 LDY #37
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 26 LDA #38
| |
| 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 25 LDA #37
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 205 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #178
| |
| 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
| |
| A0 28 LDY #40
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| A2 28 LDX #40
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 28 LDX #40
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 28 LDY #40
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #171
| |
| 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 #171
| |
| 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 69 LDA #$69 ;hides 'ADC #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 27 LDY #39
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 27 LDX #39
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #164
| |
| 20 xx xx JSR delay_a_25_clocks
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires delay_a_25_clocks; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| 20 xx xx JSR @rts14
| |
| 30 F9 BMI *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 25 LDA #37
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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 25 LDA #37
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 206 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A0 29 LDY #41
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 29 LDX #41
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A9 LDA #179
| |
| 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 #172
| |
| 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 #172
| |
| 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 E9 LDA #$E9 ;hides 'SBC #$9A'
| |
| 9A TXS ;first loop only
| |
| EA NOP
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 1D LDA #29
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 E8 LDX #232 ;hides 'INX'
| |
| 24 24 BIT $24
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A0 27 LDY #39
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; 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 × 2
| |
| D0 FA BNE *-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 × 2
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A4 A4 LDY $A4
| |
| A0 27 LDY #39
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #165
| |
| 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
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| EA NOP
| |
| D0 F9 BNE *-5
| |
| 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 1B LDA #27
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 207 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #180
| |
| 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 E9 LDX #233 ;hides 'SBC #imm'
| |
| 24 EA BIT $EA ;hides 'NOP'
| |
| E8 INX
| |
| D0 FA BNE *-4</pre>||Clobbers A, X, Z&N, C, and V
| |
| |-
| |
| |<pre>A0 E9 LDY #233 ;hides 'SBC #imm'
| |
| 24 EA BIT $EA ;hides 'NOP'
| |
| C8 INY
| |
| D0 FA BNE *-4</pre>||Clobbers A, Y, Z&N, C, and V
| |
| |-
| |
| |<pre>A2 28 LDX #40
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| F6 xx INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #173
| |
| 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 #173
| |
| 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 × 2
| |
| A2 28 LDX #40
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A0 28 LDY #40
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 08 PHP
| |
| 28 PLP
| |
| 10 F8 BPL *-6</pre>||Clobbers A, Z&N, C, V, and D; and writes in stack
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 1D LDY #29
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| A2 1D LDX #29
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| 38 SEC
| |
| A9 28 LDA #40
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4
| |
| 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 #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 27 LDX #39
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A0 27 LDY #39
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #166
| |
| 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
| |
| 38 SEC
| |
| A9 26 LDA #38
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 208 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #181
| |
| 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 29 LDX #41
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 29 LDY #41
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 29 LDA #41
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 28 LDY #40
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 28 LDX #40
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #174
| |
| 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 #174
| |
| 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 #167
| |
| 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 × 2
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4
| |
| 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 #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A5 A5 LDA $A5
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 1B LDX #27
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| EA NOP
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 1B LDA #27
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 209 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #182
| |
| 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 1A LDX #26
| |
| 48 PHA
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>A0 1A LDY #26
| |
| 48 PHA
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| A2 29 LDX #41
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 29 LDY #41
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #175
| |
| 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 #175
| |
| 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 #$9A'
| |
| 9A TXS ;first loop only
| |
| EA NOP
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 08 PHP
| |
| 28 PLP
| |
| 10 F8 BPL *-6</pre>||Clobbers A, Z&N, C, V, and D; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 27 LDX #39
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| F6 xx INC @zptemp,X
| |
| 28 PLP</pre>||Clobbers X; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #168
| |
| 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
| |
| 08 PHP
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A0 27 LDY #39
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A2 27 LDX #39
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| A0 27 LDY #39
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| A2 27 LDX #39
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 26 LDY #38
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 26 LDA #38
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 210 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #183
| |
| 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 29 LDX #41
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| A0 29 LDY #41
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 29 LDX #41
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 29 LDY #41
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #176
| |
| 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 #176
| |
| 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 29 LDA #41
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 28 LDX #40
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 28 LDY #40
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 28 LDA #40
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 28 LDA #40
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #169
| |
| 20 xx xx JSR delay_a_25_clocks
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires delay_a_25_clocks; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 26 LDA #38
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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 26 LDA #38
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 211 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A2 2A LDX #42
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 2A LDY #42
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A9 LDA #184
| |
| 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 #177
| |
| 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 #177
| |
| 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 1D LDY #29
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 1D LDX #29
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 1A LDA #26
| |
| 48 PHA
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 1A LDA #26
| |
| 24 24 BIT $24
| |
| E9 01 SBC #1
| |
| D0 F7 BNE *-7</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #170
| |
| 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 × 3
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 PHA
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 26 LDY #38
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 26 LDA #38
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 212 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #185
| |
| 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 29 LDX #41
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| F6 xx INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #178
| |
| 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 #178
| |
| 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 × 2
| |
| A2 29 LDX #41
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A0 29 LDY #41
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A2 29 LDX #41
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A0 29 LDY #41
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| 38 SEC
| |
| A9 29 LDA #41
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>8C TXA
| |
| 48 PHA
| |
| A2 28 LDX #40
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 28 LDX #40
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A0 28 LDY #40
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #171
| |
| 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 #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 213 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #186
| |
| 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 2A LDX #42
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 2A LDY #42
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 2A LDA #42
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 29 LDX #41
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 29 LDY #41
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #179
| |
| 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 #179
| |
| 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 #172
| |
| 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
| |
| 38 SEC
| |
| A9 1D LDA #29
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 1D LDA #29
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 28 PLP</pre>||Clobbers A; 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 × 2
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 214 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #187
| |
| 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 2A LDY #42
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A2 2A LDX #42
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| A2 2A LDX #42
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 2A LDY #42
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #180
| |
| 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 #180
| |
| 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
| |
| A2 E9 LDX #233 ;hides 'SBC #imm'
| |
| 24 EA BIT $EA ;hides 'NOP'
| |
| E8 INX
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A, and X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 E9 LDY #233 ;hides 'SBC #imm'
| |
| 24 EA BIT $EA ;hides 'NOP'
| |
| C8 INY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A, and Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 28 LDX #40
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| F6 xx INC @zptemp,X
| |
| 28 PLP</pre>||Clobbers X; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #173
| |
| 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 × 2
| |
| 38 SEC
| |
| A9 29 LDA #41
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A0 28 LDY #40
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A2 28 LDX #40
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 08 PHP
| |
| 28 PLP
| |
| 10 F8 BPL *-6
| |
| 68 PLA</pre>||Clobbers Z&N, C, V, and D; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 08 PHP
| |
| 28 PLP
| |
| 10 F8 BPL *-6
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A6 A6 LDX $A6
| |
| A2 1D LDX #29
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A4 A4 LDY $A4
| |
| A0 1D LDY #29
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 215 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #188
| |
| 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'
| |
| EA NOP
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 18 LDY #24 ;hides 'CLC'
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #181
| |
| 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 #181
| |
| 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 2A LDA #42
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 29 LDY #41
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 29 LDX #41
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 29 LDA #41
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 29 LDA #41
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #174
| |
| 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
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4
| |
| 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 #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 216 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A2 2B LDX #43
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 2B LDY #43
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A9 LDA #189
| |
| 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 #182
| |
| 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 #182
| |
| 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 2A LDA #42
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A2 29 LDX #41
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A0 29 LDY #41
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>A5 A5 LDA $A5
| |
| 38 SEC
| |
| A9 2A LDA #42
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 1A LDY #26
| |
| C5 C5 CMP $C5
| |
| 88 DEY
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 1A LDX #26
| |
| C5 C5 CMP $C5
| |
| CA DEX
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #175
| |
| 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
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 28 LDX #40
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 08 PHP
| |
| 28 PLP
| |
| 10 F8 BPL *-6
| |
| 68 PLA</pre>||Clobbers Z&N, C, V, and D; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 08 PHP
| |
| 28 PLP
| |
| 10 F8 BPL *-6
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 3
| |
| 38 SEC
| |
| A9 28 LDA #40
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 217 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #190
| |
| 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 1B LDY #27
| |
| 48 PHA
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>A2 1B LDX #27
| |
| 48 PHA
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A2 18 LDX #24
| |
| EA ... NOP × 2
| |
| CA DEX
| |
| D0 F9 BNE *-5</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 18 LDY #24
| |
| EA ... NOP × 2
| |
| 88 DEY
| |
| D0 F9 BNE *-5</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A0 12 LDY #18
| |
| 08 PHP
| |
| 28 PLP
| |
| 88 DEY
| |
| D0 F9 BNE *-5</pre>||Clobbers Y, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>A2 12 LDX #18
| |
| 08 PHP
| |
| 28 PLP
| |
| CA DEX
| |
| D0 F9 BNE *-5</pre>||Clobbers X, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #183
| |
| 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 #183
| |
| 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
| |
| 38 SEC
| |
| A9 2A LDA #42
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>98 TYA
| |
| 48 PHA
| |
| A0 29 LDY #41
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 29 LDX #41
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A0 29 LDY #41
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #176
| |
| 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 29 LDA #41
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 29 LDA #41
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 28 LDA #40
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 218 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #191
| |
| 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 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>A2 1F LDX #31
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 1F LDY #31
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 2A LDY #42
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 2A LDX #42
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #184
| |
| 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 #184
| |
| 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 #177
| |
| 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 × 2
| |
| 38 SEC
| |
| A9 29 LDA #41
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 29 LDA #41
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 1A LDA #26
| |
| 24 24 BIT $24
| |
| E9 01 SBC #1
| |
| D0 F7 BNE *-7
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 1A LDA #26
| |
| 24 24 BIT $24
| |
| E9 01 SBC #1
| |
| D0 F7 BNE *-7
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Clobbers S; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$6A'
| |
| 6A ROR A ;first loop only
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 219 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #192
| |
| 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 2B LDX #43
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A0 2B LDY #43
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| A2 2B LDX #43
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 2B LDY #43
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #185
| |
| 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 #185
| |
| 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 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| 48 PHA
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| 85 xx STA @zptemp
| |
| D0 F8 BNE *-6</pre>||Clobbers A, Z&N, C, and V; and requires @zptemp, and support for unofficial opcodes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 1B LDA #27
| |
| 48 PHA
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 1B LDA #27
| |
| 24 24 BIT $24
| |
| E9 01 SBC #1
| |
| D0 F7 BNE *-7</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 29 LDX #41
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| F6 xx INC @zptemp,X
| |
| 28 PLP</pre>||Clobbers X; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #178
| |
| 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 × 2
| |
| 08 PHP
| |
| A2 29 LDX #41
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A0 29 LDY #41
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 29 LDY #41
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| A2 29 LDX #41
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| A0 29 LDY #41
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 28 LDX #40
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 29 LDA #41
| |
| 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 28 LDA #40
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 220 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #193
| |
| 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
| |
| A0 2B LDY #43
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| A2 2B LDX #43
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 2B LDX #43
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 2B LDY #43
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #186
| |
| 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 #186
| |
| 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 2A LDX #42
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 2A LDY #42
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 2A LDA #42
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 2A LDA #42
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #179
| |
| 20 xx xx JSR delay_a_25_clocks
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires delay_a_25_clocks; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 1D LDA #29
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 221 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A2 2C LDX #44
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 2C LDY #44
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A9 LDA #194
| |
| 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 #187
| |
| 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 #187
| |
| 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 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>A5 A5 LDA $A5
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A2 2A LDX #42
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A0 2A LDY #42
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| A4 A4 LDY $A4
| |
| A0 2A LDY #42
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A6 A6 LDX $A6
| |
| A2 2A LDX #42
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #180
| |
| 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
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 29 LDY #41
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY</pre>||Clobbers A, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 29 LDY #41
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 3
| |
| 38 SEC
| |
| A9 29 LDA #41
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 29 LDA #41
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 08 PHP
| |
| 28 PLP
| |
| 10 F8 BPL *-6
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 222 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #195
| |
| 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 2B LDX #43
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| F6 xx INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #188
| |
| 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 #188
| |
| 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 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3</pre>||Clobbers A, S, Z&N, C, and V
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A2 2B LDX #43
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A0 2B LDY #43
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 18 LDY #24 ;hides 'CLC'
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 18 LDX #24 ;hides 'CLC'
| |
| EA NOP
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>8C TXA
| |
| 48 PHA
| |
| A2 2A LDX #42
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #181
| |
| 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 2A LDA #42
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 2A LDA #42
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 29 LDA #41
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 223 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #196
| |
| 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 2C LDX #44
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 2C LDY #44
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 2C LDA #44
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 2B LDY #43
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 2B LDX #43
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #189
| |
| 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 #189
| |
| 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 #182
| |
| 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>A9 0A LDA #$0A ;hides 'ASL A'
| |
| 08 PHP
| |
| 28 PLP
| |
| 20 xx xx JSR @rts14
| |
| 18 CLC
| |
| D0 F7 BNE *-7</pre>||Clobbers A, Z&N, and C; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 38 SEC
| |
| A9 2A LDA #42
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 2A LDA #42
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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 2A LDA #42
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A5 A5 LDA $A5
| |
| 38 SEC
| |
| A9 2A LDA #42
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$F8'
| |
| F8 SED ;first loop only
| |
| 08 PHP
| |
| 28 PLP
| |
| 10 F8 BPL *-6
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 224 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #197
| |
| 20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
| |
| |-
| |
| |<pre>A2 E8 LDX #232 ;hides 'INX'
| |
| 68 PLA
| |
| D0 FC BNE *-2</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| |<pre>A2 E8 LDX #232 ;hides 'INX'
| |
| EA ... NOP × 2
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 E4 LDY #228 ;hides 'CPX zp'
| |
| EA NOP
| |
| C8 INY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, Z&N, C, and V
| |
| |-
| |
| |<pre>A0 98 LDY #152 ;hides 'TYA'
| |
| EA NOP
| |
| 88 DEY
| |
| 30 FB BMI *-3</pre>||Clobbers A, Y, and Z&N
| |
| |-
| |
| |<pre>A0 64 LDY #100 ;hides 'NOP zp'
| |
| EA NOP
| |
| C8 INY
| |
| 10 FB BPL *-3</pre>||Clobbers Y, and Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| |<pre>48 PHA
| |
| A0 2C LDY #44
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 2C LDY #44
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #190
| |
| 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 #190
| |
| 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 × 2
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 12 LDX #18
| |
| 08 PHP
| |
| 28 PLP
| |
| CA DEX
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 12 LDY #18
| |
| 08 PHP
| |
| 28 PLP
| |
| 88 DEY
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #183
| |
| 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 2A LDX #42
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 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 29 LDY #41
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 2A LDA #42
| |
| 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 29 LDA #41
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 225 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #198
| |
| 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 20 LDY #32
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 20 LDX #32
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #191
| |
| 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 #191
| |
| 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 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 1F LDY #31
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 1F LDX #31
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #184
| |
| 20 xx xx JSR delay_a_25_clocks
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires delay_a_25_clocks; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 29 LDA #41
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Clobbers S; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 1A LDA #26
| |
| 24 24 BIT $24
| |
| E9 01 SBC #1
| |
| D0 F7 BNE *-7
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 226 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A0 2D LDY #45
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 2D LDX #45
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A9 LDA #199
| |
| 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 #192
| |
| 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 #192
| |
| 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 64 LDA #100 ;hides 'NOP zp'
| |
| EA NOP
| |
| 69 01 ADC #1
| |
| 10 F9 BPL *-5</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 2C LDA #44
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A2 2B LDX #43
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A0 2B LDY #43
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>A5 A5 LDA $A5
| |
| 38 SEC
| |
| A9 2C LDA #44
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A4 A4 LDY $A4
| |
| A0 2B LDY #43
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A6 A6 LDX $A6
| |
| A2 2B LDX #43
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #185
| |
| 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 18 LDX #24 ;hides 'CLC'
| |
| EA NOP
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| 85 xx STA @zptemp
| |
| D0 F8 BNE *-6
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; requires @zptemp, and support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| 85 xx STA @zptemp
| |
| D0 F8 BNE *-6
| |
| 28 PLP</pre>||Clobbers A; requires @zptemp, and support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 1B LDA #27
| |
| 24 24 BIT $24
| |
| E9 01 SBC #1
| |
| D0 F7 BNE *-7
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 1B LDA #27
| |
| 24 24 BIT $24
| |
| E9 01 SBC #1
| |
| D0 F7 BNE *-7
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 PHA
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 29 LDY #41
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 29 LDA #41
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 227 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #200
| |
| 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 E8 LDX #232 ;hides 'INX'
| |
| 68 PLA
| |
| D0 FC BNE *-2</pre>||Clobbers A, X, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| A2 20 LDX #32
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 20 LDY #32
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #193
| |
| 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 #193
| |
| 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 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| EA NOP
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 20 LDA #32
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 2B LDX #43
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A0 2B LDY #43
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #186
| |
| 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
| |
| 38 SEC
| |
| A9 2A LDA #42
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 228 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #201
| |
| 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 2D LDX #45
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 2D LDY #45
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 2D LDA #45
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 2C LDY #44
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 2C LDX #44
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #194
| |
| 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 #194
| |
| 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 #187
| |
| 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 × 2
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3
| |
| 68 PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers A, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>24 24 BIT $24
| |
| 48 PHA
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A5 A5 LDA $A5
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 48 PHA
| |
| 98 TYA
| |
| 48 PHA
| |
| A0 29 LDY #41
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| A8 TAY
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 29 LDA #41
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Clobbers S; and writes in stack
| |
| |-
| |
| !colspan="2"|14 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 29 LDA #41
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 229 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #202
| |
| 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 2D LDX #45
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A0 2D LDY #45
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 2D LDY #45
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| A2 2D LDX #45
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #195
| |
| 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 #195
| |
| 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 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3</pre>||Clobbers A, S, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 38 SEC
| |
| A9 20 LDA #32
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 2B LDX #43
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| F6 xx INC @zptemp,X
| |
| 28 PLP</pre>||Clobbers X; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #188
| |
| 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
| |
| 08 PHP
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers A, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A2 2B LDX #43
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A0 2B LDY #43
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 48 PHA
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| A2 2B LDX #43
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| A0 2B LDY #43
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 2A LDX #42
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 2A LDA #42
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 230 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #203
| |
| 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
| |
| A0 2D LDY #45
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| |<pre>68 PLA
| |
| A2 2D LDX #45
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 2D LDX #45
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 2D LDY #45
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #196
| |
| 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 #196
| |
| 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 2D LDA #45
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 2C LDX #44
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 2C LDY #44
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 2C LDA #44
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 2C LDA #44
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #189
| |
| 20 xx xx JSR delay_a_25_clocks
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires delay_a_25_clocks; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 08 PHP
| |
| 28 PLP
| |
| 20 xx xx JSR @rts14
| |
| 18 CLC
| |
| D0 F7 BNE *-7
| |
| 68 PLA</pre>||Clobbers Z&N, and C; requires @rts12, and @rts14; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 2A LDA #42
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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 2A LDA #42
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 231 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A2 2E LDX #46
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 2E LDY #46
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A9 LDA #204
| |
| 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
| |
| E6 xx INC @zptemp
| |
| B0 FA BCS *-4</pre>||Clobbers A, Z&N, C, and V; and requires @zptemp
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #197
| |
| 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 #197
| |
| 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
| |
| EA NOP
| |
| 48 PHA
| |
| B0 FA BCS *-4</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 E4 LDY #228 ;hides 'CPX zp'
| |
| EA NOP
| |
| C8 INY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 E8 LDX #232 ;hides 'INX'
| |
| EA ... NOP × 2
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| 04 04 NOP $04
| |
| B0 F9 BCS *-5</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>A5 A5 LDA $A5
| |
| 38 SEC
| |
| A9 2D LDA #45
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #190
| |
| 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>A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts12× 2
| |
| D0 F7 BNE *-7</pre>||Clobbers A, Z&N, and C; requires @rts12; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 3
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3
| |
| 68 PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers A, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 48 PHA
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 2A LDX #42
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 2A LDA #42
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 232 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #205
| |
| 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 21 LDX #33
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 21 LDY #33
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #198
| |
| 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 #198
| |
| 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 20 LDX #32
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 20 LDY #32
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;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
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>68 PLA
| |
| 38 SEC
| |
| A9 2D LDA #45
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>8C TXA
| |
| 48 PHA
| |
| A2 2C LDX #44
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #191
| |
| 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 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 233 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A9 LDA #206
| |
| 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 2E LDX #46
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 2E LDY #46
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$1A'
| |
| 1A NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 2E LDA #46
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 2D LDX #45
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 2D LDY #45
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #199
| |
| 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 #199
| |
| 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 #192
| |
| 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 64 LDA #100 ;hides 'NOP zp'
| |
| EA NOP
| |
| 69 01 ADC #1
| |
| 10 F9 BPL *-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 64 LDA #100 ;hides 'NOP zp'
| |
| EA NOP
| |
| 69 01 ADC #1
| |
| 10 F9 BPL *-5
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 38 SEC
| |
| A9 2C LDA #44
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 2C LDA #44
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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 2C LDA #44
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A5 A5 LDA $A5
| |
| 38 SEC
| |
| A9 2C LDA #44
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 18 LDX #24 ;hides 'CLC'
| |
| EA NOP
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$3A'
| |
| 3A NOP ;first loop only
| |
| 85 xx STA @zptemp
| |
| D0 F8 BNE *-6
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires @zptemp, and support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 1B LDA #27
| |
| 24 24 BIT $24
| |
| E9 01 SBC #1
| |
| D0 F7 BNE *-7
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 234 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| A9 LDA #205
| |
| 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
| |
| A2 2E LDX #46
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A0 2E LDY #46
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>A6 A6 LDX $A6
| |
| A2 2E LDX #46
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A4 A4 LDY $A4
| |
| A0 2E LDY #46
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #200
| |
| 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 #200
| |
| 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 21 LDA #33
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 20 LDY #32
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 20 LDX #32
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #193
| |
| 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 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| EA NOP
| |
| 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 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| EA NOP
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 20 LDA #32
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 20 LDA #32
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 235 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| A9 LDA #206
| |
| 20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, Z&N, C, and V; and requires delay_a_25_clocks
| |
| |-
| |
| |<pre>A2 1A LDX #26
| |
| 68 PLA
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers A, X, S, and Z&N
| |
| |-
| |
| |<pre>A0 1A LDY #26
| |
| 68 PLA
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers A, Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A2 2E LDX #46
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| A0 2E LDY #46
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #201
| |
| 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 #201
| |
| 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 #$1A'
| |
| 1A NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 38 SEC
| |
| A9 2E LDA #46
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A2 2D LDX #45
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| A0 2D LDY #45
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 2D LDA #45
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 2D LDA #45
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #194
| |
| 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 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| 28 PLP</pre>||Clobbers S; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 24 24 BIT $24
| |
| 48 PHA
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 236 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| |<pre>A2 2F LDX #47
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>A0 2F LDY #47
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| |<pre>68 PLA
| |
| A9 LDA #205
| |
| 20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, S, Z&N, C, and V; and requires delay_a_25_clocks
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #206
| |
| 20 xx xx JSR delay_a_25_clocks</pre>||Clobbers A, S, Z&N, C, and V; requires delay_a_25_clocks; and writes in stack
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #202
| |
| 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 #202
| |
| 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
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$1A'
| |
| 1A NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, S, Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>04 04 NOP $04
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$1A'
| |
| 1A NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 2E LDA #46
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A0 2D LDY #45
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y, and S; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| A2 2D LDX #45
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X, and S; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>A5 A5 LDA $A5
| |
| 38 SEC
| |
| A9 2E LDA #46
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A6 A6 LDX $A6
| |
| A2 2D LDX #45
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A4 A4 LDY $A4
| |
| A0 2D LDY #45
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #195
| |
| 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
| |
| 08 PHP
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| EA NOP
| |
| 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>98 TYA
| |
| 48 PHA
| |
| A0 20 LDY #32
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 68 PLA
| |
| A8 TAY</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 48 PHA
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;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>EA ... NOP × 2
| |
| 08 PHP
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 20 LDA #32
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 20 LDA #32
| |
| EA NOP
| |
| E9 01 SBC #1
| |
| D0 F8 BNE *-6
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 237 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| |<pre>68 PLA
| |
| A9 LDA #206
| |
| 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>A2 2E LDX #46
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| F6 xx INC @zptemp,X</pre>||Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #203
| |
| 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 #203
| |
| 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 × 2
| |
| A2 2E LDX #46
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| A0 2E LDY #46
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, S, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>68 PLA
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$1A'
| |
| 1A NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, S, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A0 2E LDY #46
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| A2 2E LDX #46
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$1A'
| |
| 1A NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| |<pre>68 PLA
| |
| 38 SEC
| |
| A9 2E LDA #46
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>8C TXA
| |
| 48 PHA
| |
| A2 2D LDX #45
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A0 2D LDY #45
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| A2 2D LDX #45
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #196
| |
| 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 2D LDA #45
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>EA NOP
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 2D LDA #45
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 2C LDA #44
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 238 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| A2 2F LDX #47
| |
| CA DEX
| |
| D0 FB BNE *-3</pre>||Clobbers X, and Z&N
| |
| |-
| |
| |<pre>EA NOP
| |
| A0 2F LDY #47
| |
| 88 DEY
| |
| D0 FB BNE *-3</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>38 SEC
| |
| A9 2F LDA #47
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, Z&N, C, and V
| |
| |-
| |
| |<pre>08 PHP
| |
| A0 2E LDY #46
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 2E LDX #46
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #204
| |
| 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 #204
| |
| 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>48 PHA
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| E6 xx INC @zptemp
| |
| B0 FA BCS *-4
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A9 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| E6 xx INC @zptemp
| |
| B0 FA BCS *-4
| |
| 28 PLP</pre>||Clobbers A; requires @zptemp; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #197
| |
| 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 E9 LDA #$E9 ;hides 'SBC #$0A'
| |
| 0A ASL A ;first loop only
| |
| EA NOP
| |
| 04 04 NOP $04
| |
| B0 F9 BCS *-5
| |
| 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
| |
| EA NOP
| |
| 04 04 NOP $04
| |
| B0 F9 BCS *-5
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 38 SEC
| |
| A9 2D LDA #45
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 2D LDA #45
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 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 2D LDA #45
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A5 A5 LDA $A5
| |
| 38 SEC
| |
| A9 2D LDA #45
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 0A LDA #$0A ;hides 'ASL A'
| |
| 20 xx xx JSR @rts12× 2
| |
| D0 F7 BNE *-7
| |
| 68 PLA</pre>||Clobbers Z&N, and C; requires @rts12; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 08 PHP
| |
| 48 PHA
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| 28 PLP</pre>||Clobbers S; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>EA ... NOP × 3
| |
| 08 PHP
| |
| 48 PHA
| |
| A9 69 LDA #$69 ;hides 'ADC #$38'
| |
| 38 SEC ;first loop only
| |
| EA NOP
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 239 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| |<pre>A0 22 LDY #34
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4</pre>||Clobbers Y, and Z&N
| |
| |-
| |
| |<pre>A2 22 LDX #34
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4</pre>||Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #205
| |
| 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 #205
| |
| 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 21 LDY #33
| |
| EA NOP
| |
| 88 DEY
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| A2 21 LDX #33
| |
| EA NOP
| |
| CA DEX
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$1A'
| |
| 1A NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, S, Z&N, C, and V; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #198
| |
| 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 × 3
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$1A'
| |
| 1A NOP ;first loop only
| |
| D0 FA BNE *-4</pre>||Clobbers A, Z&N, C, and V; and requires support for unofficial opcodes
| |
| |-
| |
| |<pre>48 ... PHA × 2
| |
| 38 SEC
| |
| A9 2E LDA #46
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5</pre>||Clobbers A, S, Z&N, C, and V; and writes in stack
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| |<pre>EA NOP
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 2D LDX #45
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX</pre>||Clobbers A, and Z&N; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 EB LDA #$EB ;hides 'SBC #$18'
| |
| 18 CLC ;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"|11 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 8C TXA
| |
| 48 PHA
| |
| A2 2C LDX #44
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 68 PLA
| |
| AA TAX
| |
| 68 PLA</pre>||Clobbers Z&N; and writes in stack
| |
| |-
| |
| |<pre>EA ... NOP × 2
| |
| 08 PHP
| |
| 38 SEC
| |
| A9 2D LDA #45
| |
| 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 2C LDA #44
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
| | |
| === 240 cycles ===
| |
| {| class="wikitable testtable"
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| A9 LDA #206
| |
| 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 #206
| |
| 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
| |
| EA NOP
| |
| A0 2E LDY #46
| |
| 88 DEY
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers Y; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| EA NOP
| |
| A2 2E LDX #46
| |
| CA DEX
| |
| D0 FB BNE *-3
| |
| 28 PLP</pre>||Clobbers X; and writes in stack
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 69 LDA #$69 ;hides 'ADC #$1A'
| |
| 1A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 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 #$1A'
| |
| 1A NOP ;first loop only
| |
| D0 FA BNE *-4
| |
| 28 PLP</pre>||Clobbers A; requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| |<pre>48 PHA
| |
| 38 SEC
| |
| A9 2E LDA #46
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA</pre>||Clobbers Z&N, C, and V; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 38 SEC
| |
| A9 2E LDA #46
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 28 PLP</pre>||Clobbers A; and writes in stack
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| A9 LDA #199
| |
| 20 xx xx JSR delay_a_25_clocks
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires delay_a_25_clocks; and writes in stack
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 48 PHA
| |
| 18 CLC
| |
| A9 64 LDA #100 ;hides 'NOP zp'
| |
| EA NOP
| |
| 69 01 ADC #1
| |
| 10 F9 BPL *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Requires support for unofficial opcodes; and writes in stack
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| |<pre>08 PHP
| |
| 24 24 BIT $24
| |
| 48 PHA
| |
| 38 SEC
| |
| A9 2C LDA #44
| |
| E9 01 SBC #1
| |
| D0 F9 BNE *-5
| |
| 68 PLA
| |
| 28 PLP</pre>||Writes in stack
| |
| |-
| |
| |}
| |
| | |
|
| |
|
| == 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. |