|
|
(46 intermediate revisions by 3 users not shown) |
Line 1: |
Line 1: |
| == Delay code ==
| | Shortest possible CPU code that creates N cycles of delay, depending on constraints. |
|
| |
|
| Shortest possible CPU code that creates N cycles of delay, depending on constraints.
| | == Code == |
|
| |
|
| All branch instructions assume that no page wrap occurs. | | All code samples are written for CA65. |
|
| |
|
| Explanations on the requirements:
| | Assumptions: |
| * @zp_temp means you have a zeropage address that you can write random data into. | | * 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. |
| * @rts12 means you know a memory address that contains byte $60 (<code>RTS</code>).
| | * No interrupt / NMI occurs during the delay 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>.
| |
| * @rts15 means you know a memory address that contains a <code>JMP</code> that jumps to another location that contains <code>RTS</code>. | |
| * Alternatively, @rts15 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>.
| |
| * @A, @X, @Y are local labels.
| |
|
| |
|
| | It is permissible for DMA to steal cycles during the loops. |
| | If you are expecting that to happen, you have to manually |
| | adjust the delay cycle count (and it is in fact possible to do so) |
| | in order to get the correct delay. |
|
| |
|
| | === Explanations on the requirements === |
|
| |
|
| === 2 cycles ===
| | * @rts12 means you know a memory address that contains byte $60 (<code>RTS</code>). |
| {| class="wikitable"
| | cycle instruction that fits your constraints (such as <code>LDA $00</code>), followed by <code>RTS</code>. |
| !colspan="2"|1 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
|
| |
|
| | === Instructions, addressing modes, byte counts, cycle counts and notes === |
|
| |
|
| === 3 cycles ===
| | {| class="wikitable testtable" |
| {| class="wikitable" | | ! scope="col"| Addressing mode |
| !colspan="2"|1 bytes | | ! scope="col"| Instruction type |
| |- | | ! scope="col"| Bytes |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA</nowiki></pre> || style="padding:2px" | Clobbers S
| | ! scope="col"| Cycle count |
| |-
| | ! scope="col"| Example instruction |
| !colspan="2"|2 bytes | | ! scope="col"| Notes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| | ! 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. |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>BIT $00</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and V
| | ! scope="row"| Implied |
| | ! scope="row"| Stack push |
| | | 1 || 3 || <code>PHA</code> || <code>PHP</code> is only paired with <code>PLP</code>. |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>STA @zptemp</nowiki></pre> || style="padding:2px" | Requires @zptemp
| | ! scope="row"| Implied |
| | ! scope="row"| Stack pop |
| | | 1 || 4 || <code>PLA</code> || |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00</nowiki></pre> || style="padding:2px" | Requires support for unofficial opcodes
| | ! scope="row"| Implied |
| | ! scope="row"| Return |
| | | 1 || 6 || <code>RTS</code> || Used indirectly when paired with <code>JSR</code>. Similarly for <code>RTI</code>. |
| |- | | |- |
| !colspan="2"|3 bytes | | ! 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. |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JMP *+3</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| | ! 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> |
| === 4 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|1 bytes | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| | ! 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. |
| |- | | |- |
| !colspan="2"|2 bytes | | ! 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. |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | ! scope="row"| Zeropage indexed |
| NOP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| | ! 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. |
| === 5 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|2 bytes | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | ! scope="row"| Indirect indexed |
| PHA</nowiki></pre> || style="padding:2px" | Clobbers S
| | ! scope="row"| Write |
| | | 2 || 6 || <code>STA (@ptrtemp),Y</code> || Only doable when Y is known to be 0. |
| |- | | |- |
| !colspan="2"|3 bytes | | ! scope="row"| Indirect indexed |
| | ! scope="row"| RMW |
| | | 2 || 8 || <code>SLO (@ptrtemp),Y</code> || All instructions in this category are unofficial. |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | ! scope="row"| Absolute |
| LDA $00</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| | ! scope="row"| Jump |
| | | 3 || 3 || <code>JMP *+3</code> || |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | ! scope="row"| Absolute |
| BIT $00</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and V
| | ! 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. |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | ! scope="row"| Absolute |
| STA @zptemp</nowiki></pre> || style="padding:2px" | Requires @zptemp
| | ! scope="row"| RMW |
| | | 3 || 6 || <code>INC $4018</code> || Inferior to 3 × <code>NOP</code>. |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | ! scope="row"| Absolute indexed |
| NOP $00</nowiki></pre> || style="padding:2px" | Requires support for unofficial opcodes
| | ! scope="row"| Read |
| | | 3 || 4—5 || <code>LDA $0200,X</code> || Inferior to shorter alternatives. |
| |- | | |- |
| !colspan="2"|4 bytes | | ! scope="row"| Absolute indexed |
| | ! scope="row"| Write |
| | | 3 || 5 || <code>STA $0200,X</code> || Inferior to shorter alternatives. |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | ! scope="row"| Absolute indexed |
| JMP *+3</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| | ! 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: |
| | .testtable td{padding:2px} .testtable td pre{padding:2px;margin:2px} |
| | }} |
|
| |
|
| === 6 cycles === | | |
| {| class="wikitable" | | === 2 cycles === |
| | {| class="wikitable testtable" |
| | !colspan="2"|1 bytes |
| | |- |
| | |<pre>EA NOP</pre>||No requirements |
| | |- |
| | |} |
| | * All instructions cost at least 2 cycles. There is no way to do 1 cycle of delay (though <i>−1 cycles</i> may sometimes appear in branch cost calculations). |
| | |
| | |
| | === 3 cycles === |
| | {| class="wikitable testtable" |
| !colspan="2"|2 bytes | | !colspan="2"|2 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA | | |<pre>C5 C5 CMP $C5</pre>||Clobbers Z&N, and C |
| PHA</nowiki></pre> || style="padding:2px" | Clobbers S
| | |- |
| | |<pre>24 24 BIT $24</pre>||Clobbers Z&N, and V |
| | |- |
| | |<pre>A5 A5 LDA $A5</pre>||Clobbers A, and Z&N |
| | |- |
| | |<pre>A6 A6 LDX $A6</pre>||Clobbers X, and Z&N |
| | |- |
| | |<pre>A4 A4 LDY $A4</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| !colspan="2"|3 bytes | | !colspan="2"|3 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>4C xx xx JMP *+3</pre>||No requirements |
| NOP
| |
| NOP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |- | | |- |
| |} | | |} |
| | * Not relocatable means that the target address is hardcoded into the code. In ROM hacking, it sometimes makes sense to move code blobs around, and a hardcoded address makes it difficult to relocate the code. This restriction does not apply to branches, which use relative addressing. It is also assumed to not apply to <code>JSR</code> instructions, as chances are the JSR target is outside the code being relocated. |
|
| |
|
|
| |
|
| === 7 cycles === | | === 4 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|2 bytes | | !colspan="2"|2 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>EA ... NOP × 2</pre>||No requirements |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |- | | |- |
| |} | | |} |
| | * 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. |
|
| |
|
|
| |
|
| === 8 cycles === | | === 5 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|2 bytes | | !colspan="2"|3 bytes |
| | |- |
| | |<pre>18 CLC |
| | 90 00 BCC *+2</pre>||Clobbers C |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| | |<pre>B8 CLV |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| | 50 00 BVC *+2</pre>||Clobbers V |
| |- | | |- |
| !colspan="2"|3 bytes
| | |<pre>EA NOP |
| | A5 A5 LDA $A5</pre>||Clobbers A, and Z&N |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>TSX
| | |<pre>EA NOP |
| PLA
| | A6 A6 LDX $A6</pre>||Clobbers X, and Z&N |
| TXS</nowiki></pre> || style="padding:2px" | Clobbers A, X, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>EA NOP |
| PHA
| | A4 A4 LDY $A4</pre>||Clobbers Y, and Z&N |
| PHA</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |- | | |- |
| !colspan="2"|4 bytes | | !colspan="2"|4 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>EA NOP |
| NOP
| | 4C xx xx JMP *+3</pre>||No requirements |
| NOP
| |
| NOP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |- | | |- |
| |} | | |} |
| | * abs-indexed modes such as <code>LDA $1234,X</code> cause 4 or 5 cycles of delay, depending whether a page wrap occurred. Because you need extra setup code to make sure that a wrap does occur, you do not see this mode in these samples, outside situations where circumstances permit. |
|
| |
|
|
| |
|
| === 9 cycles === | | === 6 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|3 bytes | | !colspan="2"|3 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>EA ... NOP × 3</pre>||No requirements |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |- | | |- |
| |} | | |} |
| | * zp-indexed RMW instructions such as <code>INC @zptemp,X</code> do 6 cycles. Unless we know the value of X, it might write into any address between $00-$FF. This option is only useful if the entire range of $00-$FF is free for clobbering with random data, or if X has a known value. |
| | * ix instructions like <code>LDA ($00,X)</code> do 6 cycles, but the value of X decides where a pointer is read from, and said pointer can point anywhere. We only do that when the value of X is known. |
| | * 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>. |
|
| |
|
|
| |
|
| === 10 cycles === | | === 7 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|3 bytes | | !colspan="2"|2 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>08 PHP |
| PHP | | 28 PLP</pre>||No requirements |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S | |
| |- | | |- |
| | |} |
| | * <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. It is not interrupt-unsafe either: If an interrupt happens, the stack byte does get temporarily clobbered, but the value is still in A when the interrupt exits, and gets written back in stack. |
| | * abs-indexed RMW instructions such as <code>INC abs,X</code> do 7 cycles. We only do this 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 === |
| | {| class="wikitable testtable" |
| !colspan="2"|4 bytes | | !colspan="2"|4 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>EA ... NOP × 4</pre>||No requirements |
| BIT $00
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |- | | |- |
| |} | | |} |
| | * 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. |
|
| |
|
|
| |
|
| === 11 cycles === | | === 9 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|3 bytes | | !colspan="2"|3 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>EA NOP |
| PLA
| | 08 PHP |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| | 28 PLP</pre>||No requirements |
| | |- |
| | |} |
| | * Jumping into the middle of another instruction and thereby reusing code is a very efficient way of reducing code size. Note that all code samples using branches on this page require that no page wrap occurs. |
| | |
| | |
| | === 10 cycles === |
| | {| class="wikitable testtable" |
| | !colspan="2"|4 bytes |
| |- | | |- |
| | |<pre>08 PHP |
| | C5 C5 CMP $C5 |
| | 28 PLP</pre>||No requirements |
| | |- |
| | |} |
| | * 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 | | !colspan="2"|4 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>EA ... NOP × 2 |
| NOP
| | 08 PHP |
| PHP | | 28 PLP</pre>||No requirements |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing | |
| |- | | |- |
| |} | | |} |
Line 190: |
Line 266: |
|
| |
|
| === 12 cycles === | | === 12 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|3 bytes | | !colspan="2"|3 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JSR @rts12</nowiki></pre> || style="padding:2px" | Requires @rts12
| | |<pre>20 xx xx JSR @rts12</pre>||Requires @rts12 |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| PLA
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| |
| |- | | |- |
| !colspan="2"|4 bytes | | !colspan="2"|4 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>ROL $00,X
| | |<pre>36 36 ROL $36,X |
| ROR $00,X</nowiki></pre> || style="padding:2px" | Clobbers Z&N | | 76 36 ROR $36,X</pre>||Clobbers Z&N |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |- | | |- |
| !colspan="2"|5 bytes | | !colspan="2"|5 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>08 PHP |
| PHP
| | 18 CLC |
| BIT $00
| | 90 00 BCC *+2 |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing | | 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 === | | === 13 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|4 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |-
| |
| !colspan="2"|5 bytes | | !colspan="2"|5 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>EA ... NOP × 3 |
| NOP
| | 08 PHP |
| NOP
| | 28 PLP</pre>||No requirements |
| PHP | |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing | |
| |- | | |- |
| |} | | |} |
Line 240: |
Line 300: |
|
| |
|
| === 14 cycles === | | === 14 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|3 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| |
| |-
| |
| !colspan="2"|4 bytes | | !colspan="2"|4 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>08 PHP \ × 2 |
| PLP
| | 28 PLP /</pre>||No requirements |
| PHP | |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing | |
| |- | | |- |
| |} | | |} |
Line 256: |
Line 310: |
|
| |
|
| === 15 cycles === | | === 15 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|3 bytes | | !colspan="2"|5 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| | |<pre>08 PHP |
| | BA TSX |
| | 28 PLP |
| | 9A TXS |
| | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| !colspan="2"|4 bytes
| | |<pre>C5 C5 CMP $C5 |
| | 20 xx xx JSR @rts12</pre>||Clobbers Z&N, and C; and requires @rts12 |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>24 24 BIT $24 |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts12 | | 20 xx xx JSR @rts12</pre>||Clobbers Z&N, and V; and requires @rts12 |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>A5 A5 LDA $A5 |
| PLA
| | 20 xx xx JSR @rts12</pre>||Clobbers A, and Z&N; and requires @rts12 |
| PLA
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| |
| |- | | |- |
| !colspan="2"|5 bytes
| | |<pre>A4 A4 LDY $A4 |
| |-
| | 20 xx xx JSR @rts12</pre>||Clobbers Y, and Z&N; and requires @rts12 |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N; and requires @rts12 | |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| TSX
| |
| PLA
| |
| TXS
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| TSX
| |
| PLA
| |
| TXS
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A, and X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>BIT $00
| |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and V; and requires @rts12
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>STA @zptemp
| |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Requires @zptemp, and @rts12
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| PHA
| |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Requires @rts12, and support for unofficial opcodes
| |
| |- | | |- |
| !colspan="2"|6 bytes | | !colspan="2"|6 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>08 PHP |
| NOP
| | 28 PLP |
| NOP
| | EA ... NOP × 4</pre>||No requirements |
| NOP | |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |- | | |- |
| |} | | |} |
Line 316: |
Line 341: |
|
| |
|
| === 16 cycles === | | === 16 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|4 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| PLA
| |
| PLA
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|5 bytes | | !colspan="2"|5 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>EA NOP |
| PHP | | 08 PHP \ × 2 |
| PLP | | 28 PLP /</pre>||No requirements |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |- | | |- |
| |} | | |} |
Line 339: |
Line 352: |
|
| |
|
| === 17 cycles === | | === 17 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|4 bytes | | !colspan="2"|6 bytes |
| | |- |
| | |<pre>08 PHP |
| | 48 PHA |
| | A5 A5 LDA $A5 |
| | 68 PLA |
| | 28 PLP</pre>||No requirements |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP | | |} |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| | |
| | |
| | === 18 cycles === |
| | {| class="wikitable testtable" |
| | !colspan="2"|6 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>EA ... NOP × 2 |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts14
| | 08 PHP \ × 2 |
| | 28 PLP /</pre>||No requirements |
| |- | | |- |
| | |} |
| | |
| | |
| | === 19 cycles === |
| | {| class="wikitable testtable" |
| !colspan="2"|5 bytes | | !colspan="2"|5 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00 | | |<pre>08 PHP |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N; and requires @rts14
| | 28 PLP |
| |-
| | 20 xx xx JSR @rts12</pre>||Requires @rts12 |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>BIT $00
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and V; and requires @rts14
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>STA @zptemp
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @zptemp, and @rts14
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP | |
| PLP | |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14, and support for unofficial opcodes | |
| |- | | |- |
| !colspan="2"|6 bytes | | !colspan="2"|6 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>08 PHP |
| PLP
| | 36 36 ROL $36,X |
| PHP
| | 76 36 ROR $36,X |
| BIT $00
| | 28 PLP</pre>||No requirements |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing | |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 18 cycles === | | === 20 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|4 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N; and requires @rts14
| |
| |-
| |
| !colspan="2"|5 bytes | | !colspan="2"|5 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| | |<pre>A9 2A LDA #$2A ;hides 'ROL A' |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N; and requires @rts15
| | 38 SEC |
| | 10 FC BPL *-2</pre>||Clobbers A, Z&N, and C |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>BIT $00
| | !colspan="2"|7 bytes |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and V; and requires @rts15
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>EA ... NOP × 3 |
| NOP
| | 08 PHP \ × 2 |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| | 28 PLP /</pre>||No requirements |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>STA @zptemp | | |} |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @zptemp, and @rts15
| | |
| | |
| | === 21 cycles === |
| | {| class="wikitable testtable" |
| | !colspan="2"|5 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>18 CLC |
| PHA
| | A9 2A LDA #$2A ;hides 'ROL A' |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts12
| | 90 FD BCC *-1</pre>||Clobbers A, Z&N, and C |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>A2 04 LDX #4 |
| PLA
| | CA DEX |
| PLA
| | D0 FD BNE *-1</pre>||Clobbers X, and Z&N |
| PLA
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| | |<pre>A0 04 LDY #4 |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15, and support for unofficial opcodes
| | 88 DEY |
| | D0 FD BNE *-1</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| !colspan="2"|6 bytes | | !colspan="2"|6 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>08 PHP \ × 3 |
| NOP
| | 28 PLP /</pre>||No requirements |
| PHP
| |
| PLP
| |
| PHP | |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing | |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 19 cycles === | | === 22 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|4 bytes | | !colspan="2"|6 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| | |<pre>18 CLC |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N; and requires @rts15
| | A9 2A LDA #$2A ;hides 'ROL A' |
| | 38 SEC |
| | 10 FC BPL *-2</pre>||Clobbers A, Z&N, and C |
| |- | | |- |
| !colspan="2"|5 bytes
| | |<pre>A2 02 LDX #2 |
| | EA NOP |
| | CA DEX |
| | 10 FC BPL *-2</pre>||Clobbers X, and Z&N |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>A0 03 LDY #3 |
| PLP
| | EA NOP |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Requires @rts12
| | 88 DEY |
| | D0 FC BNE *-2</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | !colspan="2"|7 bytes |
| NOP
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>08 PHP |
| PLA
| | BA TSX |
| PLA
| | 08 PHP |
| PLA
| | 28 ... PLP × 2 |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| | 9A TXS |
| | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>08 PHP |
| PHA
| | C5 C5 CMP $C5 |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts14 | | 28 PLP |
| | 20 xx xx JSR @rts12</pre>||Requires @rts12 |
| |- | | |- |
| !colspan="2"|6 bytes | | !colspan="2"|8 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>08 PHP \ × 2 |
| ROL $00,X
| | 28 PLP / |
| ROR $00,X
| | EA ... NOP × 4</pre>||No requirements |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing | |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 20 cycles === | | === 23 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|5 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts14
| |
| |-
| |
| !colspan="2"|6 bytes | | !colspan="2"|6 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>18 ... CLC × 2 |
| LDA $00 | | A9 2A LDA #$2A ;hides 'ROL A' |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N; and requires @rts15
| | 90 FD BCC *-1</pre>||Clobbers A, Z&N, and C |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>TSX
| | |<pre>EA NOP |
| PLA
| | A2 04 LDX #4 |
| PLA
| | CA DEX |
| PLA
| | D0 FD BNE *-1</pre>||Clobbers X, and Z&N |
| PLA
| |
| TXS</nowiki></pre> || style="padding:2px" | Clobbers A, X, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>EA NOP |
| BIT $00
| | A0 04 LDY #4 |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and V; and requires @rts15
| | 88 DEY |
| | D0 FD BNE *-1</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | !colspan="2"|7 bytes |
| NOP
| |
| NOP
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>EA NOP |
| STA @zptemp
| | 08 PHP \ × 3 |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @zptemp, and @rts15
| | 28 PLP /</pre>||No requirements |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA | | |} |
| PHA
| | |
| PHP
| | |
| PLP
| | === 24 cycles === |
| PHP
| | {| class="wikitable testtable" |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| | !colspan="2"|4 bytes |
| | |- |
| | |<pre>A9 0A LDA #$0A ;hides 'ASL A' |
| | 10 FD BPL *-1</pre>||Clobbers A, Z&N, and C |
| | |- |
| | !colspan="2"|6 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>20 xx xx JSR @rts12× 2</pre>||Requires @rts12 |
| NOP $00
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15, and support for unofficial opcodes | |
| |- | | |- |
| !colspan="2"|7 bytes | | !colspan="2"|7 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP | | |<pre>A6 A6 LDX $A6 |
| NOP
| | A2 04 LDX #4 |
| NOP
| | CA DEX |
| PHP | | D0 FD BNE *-1</pre>||Clobbers X, and Z&N |
| PLP | | |- |
| PHP | | |<pre>A4 A4 LDY $A4 |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing | | A0 04 LDY #4 |
| | 88 DEY |
| | D0 FD BNE *-1</pre>||Clobbers Y, and Z&N |
| | |- |
| | !colspan="2"|8 bytes |
| | |- |
| | |<pre>08 PHP |
| | C5 C5 CMP $C5 |
| | 28 PLP \ × 2 |
| | 08 PHP / |
| | 28 PLP</pre>||No requirements |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 21 cycles === | | === 25 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|5 bytes | | !colspan="2"|7 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #4
| | |<pre>98 TYA |
| @Y:
| | A0 04 LDY #4 |
| DEY | | 88 DEY |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N | | D0 FD BNE *-1 |
| | A8 TAY</pre>||Clobbers A, and Z&N |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #4
| | |<pre>EA ... NOP × 2 |
| @X:
| | A2 04 LDX #4 |
| DEX | | CA DEX |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N | | D0 FD BNE *-1</pre>||Clobbers X, and Z&N |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>EA ... NOP × 2 |
| PLP
| | A0 04 LDY #4 |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| | 88 DEY |
| | D0 FD BNE *-1</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | !colspan="2"|8 bytes |
| PHA
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts15
| |
| |- | | |- |
| !colspan="2"|6 bytes
| | |<pre>EA ... NOP × 2 |
| |-
| | 08 PHP \ × 3 |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | 28 PLP /</pre>||No requirements |
| PLP
| |
| PHP | |
| PLP | |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 22 cycles === | | === 26 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|5 bytes | | !colspan="2"|5 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>18 CLC |
| PLP
| | A9 0A LDA #$0A ;hides 'ASL A' |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| | 10 FD BPL *-1</pre>||Clobbers A, Z&N, and C |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| PLA
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N; and requires @rts14
| |
| |-
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #3
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #3
| | |<pre>A2 04 LDX #4 |
| @X:
| | CA DEX |
| NOP
| | 10 FD BPL *-1</pre>||Clobbers X, and Z&N |
| DEX | |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>A0 05 LDY #5 |
| PHP
| | 88 DEY |
| PLP
| | D0 FD BNE *-1</pre>||Clobbers Y, and Z&N |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts12
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| PHA
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts14
| |
| |- | | |- |
| !colspan="2"|7 bytes | | !colspan="2"|7 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>EA NOP |
| BIT $00
| | 20 xx xx JSR @rts12× 2</pre>||Requires @rts12 |
| PLP
| |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Requires @rts12 | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | !colspan="2"|8 bytes |
| PHA
| |
| TSX
| |
| PLA
| |
| TXS
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>08 PHP |
| NOP
| | 48 PHA |
| NOP
| | 36 36 ROL $36,X |
| NOP
| | 76 36 ROR $36,X |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| | 68 PLA |
| | 28 PLP</pre>||No requirements |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP | | |} |
| PHA
| | |
| PHA
| | |
| PHP
| | === 27 cycles === |
| PLP
| | {| class="wikitable testtable" |
| PHP
| | !colspan="2"|6 bytes |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| | |<pre>A5 A5 LDA $A5 |
| LDA #130 | | A9 0A LDA #$0A ;hides 'ASL A' |
| @A = * - 1
| | 10 FD BPL *-1</pre>||Clobbers A, Z&N, and C |
| ; ^ Hides !NOP #imm
| | |- |
| NOP $EA44 ;hides 'NOP zp'
| | !colspan="2"|7 bytes |
| SBC #1
| |
| BMI @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C; and requires support for unofficial opcodes
| |
| |- | | |- |
| !colspan="2"|8 bytes
| | |<pre>48 PHA |
| | A9 2A LDA #$2A ;hides 'ROL A' |
| | 38 SEC |
| | 10 FC BPL *-2 |
| | 68 PLA</pre>||Clobbers Z&N, and C |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>08 PHP |
| NOP
| | A9 2A LDA #$2A ;hides 'ROL A' |
| NOP
| | 38 SEC |
| NOP
| | 10 FC BPL *-2 |
| PHP
| | 28 PLP</pre>||Clobbers A |
| PLP
| |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing | |
| |- | | |- |
| |} | | |<pre>24 2C BIT <$2C ;hides 'BIT $FDA2' |
| | | A2 FD LDX #253 |
| | | E8 INX |
| === 23 cycles ===
| | D0 FA BNE *-4</pre>||Clobbers X, Z&N, and V |
| {| class="wikitable"
| |
| !colspan="2"|5 bytes
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| | |<pre>24 2C BIT <$2C ;hides 'BIT $FDA0' |
| PLA
| | A0 FD LDY #253 |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N; and requires @rts15
| | C8 INY |
| | D0 FA BNE *-4</pre>||Clobbers Y, Z&N, and V |
| |- | | |- |
| !colspan="2"|6 bytes
| | |<pre>A4 AC LDY <$AC ;hides 'LDY $82A2' |
| | A2 82 LDX #130 |
| | CA DEX |
| | 30 FA BMI *-4</pre>||Clobbers X, Y, and Z&N |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | !colspan="2"|8 bytes |
| LDX #4
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>EA ... NOP × 3 |
| LDY #4
| | A2 04 LDX #4 |
| @Y:
| | CA DEX |
| DEY
| | D0 FD BNE *-1</pre>||Clobbers X, and Z&N |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>EA ... NOP × 3 |
| PHP
| | A0 04 LDY #4 |
| PLP
| | 88 DEY |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| | D0 FD BNE *-1</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>24 24 BIT $24 |
| PHA
| | 20 xx xx JSR @rts12× 2</pre>||Clobbers Z&N, and V; and requires @rts12 |
| PHA
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts15 | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>20 xx xx JSR @rts12 |
| PLA
| | 08 PHP |
| PLA
| | BA TSX |
| PLA
| | 28 PLP |
| PLA
| | 9A TXS |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| | 28 PLP</pre>||Clobbers X; and requires @rts12 |
| |- | | |- |
| !colspan="2"|7 bytes | | !colspan="2"|9 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>EA ... NOP × 3 |
| PHP | | 08 PHP \ × 3 |
| PLP | | 28 PLP /</pre>||No requirements |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 24 cycles === | | === 28 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|6 bytes | | !colspan="2"|6 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JSR @rts12
| | |<pre>38 ... SEC × 2 |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Requires @rts12
| | A9 0A LDA #$0A ;hides 'ASL A' |
| |-
| | 10 FD BPL *-1</pre>||Clobbers A, Z&N, and C |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| PLP
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDX #4
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, S, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>EA NOP |
| LDY #4
| | A2 04 LDX #4 |
| @Y:
| | CA DEX |
| DEY
| | 10 FD BPL *-1</pre>||Clobbers X, and Z&N |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, S, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>EA NOP |
| PHP
| | A0 05 LDY #5 |
| PLP
| | 88 DEY |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts14
| | D0 FD BNE *-1</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| !colspan="2"|7 bytes | | !colspan="2"|7 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>48 PHA |
| LDX #3
| | 18 CLC |
| @X:
| | A9 2A LDA #$2A ;hides 'ROL A' |
| NOP
| | 90 FD BCC *-1 |
| DEX
| | 68 PLA</pre>||Clobbers Z&N, and C |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDY #3
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>08 PHP |
| BIT $00
| | 18 CLC |
| PLP | | A9 2A LDA #$2A ;hides 'ROL A' |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| | 90 FD BCC *-1 |
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>08 PHP |
| PHP | | A2 04 LDX #4 |
| PLP
| | CA DEX |
| PHP
| | D0 FD BNE *-1 |
| PLP
| | 28 PLP</pre>||Clobbers X |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| | |<pre>08 PHP |
| LDA #130
| | A0 04 LDY #4 |
| @A = * - 1
| | 88 DEY |
| ; ^ Hides !NOP #imm
| | D0 FD BNE *-1 |
| .byte $0C,$E6,@zptemp ;NOP abs; hides 'INC @zptemp'
| | 28 PLP</pre>||Clobbers Y |
| SBC #1
| |
| BMI @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C; and requires @zptemp, and support for unofficial opcodes
| |
| |- | | |- |
| !colspan="2"|8 bytes | | !colspan="2"|8 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>08 PHP \ × 4 |
| PLP | | 28 PLP /</pre>||No requirements |
| PHP
| |
| PLP
| |
| PHP
| |
| BIT $00
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 25 cycles === | | === 29 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|6 bytes | | !colspan="2"|6 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>18 CLC |
| PHP
| | A9 2A LDA #$2A ;hides 'ROL A' |
| PLP
| | EA NOP |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts15
| | 90 FC BCC *-2</pre>||Clobbers A, Z&N, and C |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #3
| | |<pre>A2 04 LDX #4 |
| @Y:
| | EA NOP |
| PHA
| | CA DEX |
| DEY
| | D0 FC BNE *-2</pre>||Clobbers X, and Z&N |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, S, and Z&N | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #3
| | |<pre>A0 04 LDY #4 |
| @X:
| | EA NOP |
| PHA
| | 88 DEY |
| DEX
| | D0 FC BNE *-2</pre>||Clobbers Y, and Z&N |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, S, and Z&N | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | !colspan="2"|8 bytes |
| PLA
| |
| PLA
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N; and requires @rts14
| |
| |- | | |- |
| !colspan="2"|7 bytes
| | |<pre>48 PHA |
| | 18 CLC |
| | A9 2A LDA #$2A ;hides 'ROL A' |
| | 38 SEC |
| | 10 FC BPL *-2 |
| | 68 PLA</pre>||Clobbers Z&N, and C |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>08 PHP |
| BIT $00
| | 18 CLC |
| PLP | | A9 2A LDA #$2A ;hides 'ROL A' |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| | 38 SEC |
| | 10 FC BPL *-2 |
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #2
| | |<pre>08 PHP |
| @Y:
| | A2 02 LDX #2 |
| PHP
| | EA NOP |
| PLP | | CA DEX |
| DEY
| | 10 FC BPL *-2 |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #2
| | |<pre>08 PHP |
| @X:
| | A0 03 LDY #3 |
| PHP
| | EA NOP |
| PLP | | 88 DEY |
| DEX
| | D0 FC BNE *-2 |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | !colspan="2"|9 bytes |
| NOP
| |
| PHP
| |
| PLP
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>08 PHP |
| PHA
| | 28 PLP |
| PHP | | 08 PHP |
| PLP | | C5 C5 CMP $C5 |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts12 | | 28 PLP |
| | 20 xx xx JSR @rts12</pre>||Requires @rts12 |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | !colspan="2"|10 bytes |
| PHA
| |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>08 PHP |
| NOP
| | C5 C5 CMP $C5 |
| PHP
| | 28 PLP |
| PLP | | 08 PHP |
| PHP | | 36 36 ROL $36,X |
| PLP
| | 76 36 ROR $36,X |
| PHP
| | 28 PLP</pre>||No requirements |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing | |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 26 cycles === | | === 30 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|5 bytes | | !colspan="2"|7 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #5
| | |<pre>98 TYA |
| @Y:
| | A0 05 LDY #5 |
| DEY | | 88 DEY |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N | | D0 FD BNE *-1 |
| | A8 TAY</pre>||Clobbers A, and Z&N |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #5
| | |<pre>EA ... NOP × 2 |
| @X:
| | A2 04 LDX #4 |
| DEX | | CA DEX |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, 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 |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JSR @rts12
| | !colspan="2"|8 bytes |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts12, and @rts14
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>48 PHA |
| PLA
| | 18 ... CLC × 2 |
| PLA | | A9 2A LDA #$2A ;hides 'ROL A' |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N; and requires @rts15
| | 90 FD BCC *-1 |
| | 68 PLA</pre>||Clobbers Z&N, and C |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| | |<pre>08 PHP |
| PLA
| | 18 ... CLC × 2 |
| PLA
| | A9 2A LDA #$2A ;hides 'ROL A' |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N; and requires @rts14
| | 90 FD BCC *-1 |
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| !colspan="2"|7 bytes
| | |<pre>EA NOP |
| | 08 PHP |
| | A2 04 LDX #4 |
| | CA DEX |
| | D0 FD BNE *-1 |
| | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>EA NOP |
| JSR @rts12
| | 08 PHP |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Requires @rts12
| | A0 04 LDY #4 |
| | 88 DEY |
| | D0 FD BNE *-1 |
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | !colspan="2"|9 bytes |
| NOP
| |
| PHP
| |
| PLP
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>ROL $00,X
| |
| ROR $00,X
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers Z&N; and requires @rts14
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| PHP
| |
| PLP
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts14
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #130
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP $2808 ;hides 'PHP' and 'PLP'; reads from $2000
| |
| SBC #1
| |
| BMI @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|8 bytes | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>08 PHP |
| PLP
| | 48 PHA |
| PHP
| | 18 CLC |
| ROL $00,X
| | A9 6A LDA #$6A ;hides 'ROR A' |
| ROR $00,X
| | 90 FD BCC *-1 |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing | | 68 PLA |
| | 28 PLP</pre>||No requirements |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 27 cycles === | | === 31 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|6 bytes | | !colspan="2"|5 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JSR @rts12
| | |<pre>18 CLC |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts12, and @rts15
| | A9 0A LDA #$0A ;hides 'ASL A' |
| | 90 FD BCC *-1</pre>||Clobbers A, Z&N, and C |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| | |<pre>A2 05 LDX #5 |
| PLA
| | CA DEX |
| PLA
| | 10 FD BPL *-1</pre>||Clobbers X, and Z&N |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N; and requires @rts15
| |
| |- | | |- |
| !colspan="2"|7 bytes
| | |<pre>A0 06 LDY #6 |
| | 88 DEY |
| | D0 FD BNE *-1</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>ROL $00,X
| | !colspan="2"|6 bytes |
| ROR $00,X
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers Z&N; and requires @rts15
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>48 PHA |
| JSR @rts12
| | A9 0A LDA #$0A ;hides 'ASL A' |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts12
| | 10 FD BPL *-1 |
| | 68 PLA</pre>||Clobbers Z&N, and C |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>08 PHP |
| PHA
| | A9 0A LDA #$0A ;hides 'ASL A' |
| PHP
| | 10 FD BPL *-1 |
| PLP | | 28 PLP</pre>||Clobbers A |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts15
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | !colspan="2"|8 bytes |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>08 PHP |
| LDX #3
| | 28 PLP |
| @X:
| | 20 xx xx JSR @rts12× 2</pre>||Requires @rts12 |
| PHA
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, S, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | !colspan="2"|9 bytes |
| LDY #3
| |
| @Y:
| |
| PHA
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, S, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>08 PHP |
| PHA
| | A6 A6 LDX $A6 |
| PHP
| | A2 04 LDX #4 |
| PLP | | CA DEX |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts14
| | D0 FD BNE *-1 |
| | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| !colspan="2"|8 bytes
| | |<pre>08 PHP |
| | A4 A4 LDY $A4 |
| | A0 04 LDY #4 |
| | 88 DEY |
| | D0 FD BNE *-1 |
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | !colspan="2"|10 bytes |
| PHP
| |
| BIT $00
| |
| PLP
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| | |<pre>08 PHP |
| JSR @rts12
| | 36 36 ROL $36,X \ × 2 |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N; and requires @rts12
| | 76 36 ROR $36,X / |
| | 28 PLP</pre>||No requirements |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA | | |} |
| TSX
| | |
| PLA
| | |
| PLA
| | === 32 cycles === |
| PLA
| | {| class="wikitable testtable" |
| PLA
| | !colspan="2"|6 bytes |
| TXS
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>A2 05 LDX #5 ;hides 'ORA zp' |
| LDY #2
| | CA DEX ;first loop only |
| @Y:
| | CA DEX |
| PHP
| | D0 FB BNE *-3</pre>||Clobbers A, X, and Z&N |
| PLP
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>A0 05 LDY #5 ;hides 'ORA zp' |
| TSX
| | 88 DEY ;first loop only |
| PLA
| | 88 DEY |
| PLA
| | D0 FB BNE *-3</pre>||Clobbers A, Y, and Z&N |
| PLA
| |
| PLA
| |
| TXS
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A, and X
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>BIT $00
| | !colspan="2"|7 bytes |
| JSR @rts12
| |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and V; and requires @rts12
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>A9 2A LDA #$2A ;hides 'ROL A' |
| NOP
| | EA ... NOP × 3 |
| NOP | | 10 FA BPL *-4</pre>||Clobbers A, Z&N, and C |
| PHP
| |
| PLP
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>STA @zptemp
| | !colspan="2"|8 bytes |
| JSR @rts12
| |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Requires @zptemp, and @rts12
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>EA NOP |
| PHA
| | 98 TYA |
| PHP
| | A0 05 LDY #5 |
| PLP
| | 88 DEY |
| PHP
| | D0 FD BNE *-1 |
| PLP
| | A8 TAY</pre>||Clobbers A, and Z&N |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| | |<pre>A6 A6 LDX $A6 |
| JSR @rts12
| | A2 04 LDX #4 |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Requires @rts12, and support for unofficial opcodes
| | EA NOP |
| | CA DEX |
| | D0 FC BNE *-2</pre>||Clobbers X, and Z&N |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| | |<pre>A4 A4 LDY $A4 |
| LDA #130
| | A0 04 LDY #4 |
| @A = * - 1
| | EA NOP |
| ; ^ Hides !NOP #imm
| | 88 DEY |
| NOP $EAEA ;hides two 'NOP's
| | D0 FC BNE *-2</pre>||Clobbers Y, and Z&N |
| NOP
| |
| SBC #1
| |
| BMI @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C; and requires support for unofficial opcodes
| |
| |- | | |- |
| !colspan="2"|9 bytes | | !colspan="2"|9 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP | | |<pre>48 PHA |
| NOP
| | 98 TYA |
| NOP | | A0 04 LDY #4 |
| PHP | | 88 DEY |
| PLP | | D0 FD BNE *-1 |
| PHP | | A8 TAY |
| PLP
| | 68 PLA</pre>||Clobbers Z&N |
| PHP
| | |- |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing | | |<pre>08 PHP |
| | 98 TYA |
| | A0 04 LDY #4 |
| | 88 DEY |
| | D0 FD BNE *-1 |
| | A8 TAY |
| | 28 PLP</pre>||Clobbers A |
| | |- |
| | |<pre>EA ... NOP × 2 |
| | 08 PHP |
| | A2 04 LDX #4 |
| | CA DEX |
| | D0 FD BNE *-1 |
| | 28 PLP</pre>||Clobbers X |
| | |- |
| | |<pre>EA ... NOP × 2 |
| | 08 PHP |
| | A0 04 LDY #4 |
| | 88 DEY |
| | D0 FD BNE *-1 |
| | 28 PLP</pre>||Clobbers Y |
| | |- |
| | !colspan="2"|10 bytes |
| | |- |
| | |<pre>08 PHP |
| | 48 PHA |
| | 18 ... CLC × 2 |
| | A9 6A LDA #$6A ;hides 'ROR A' |
| | 90 FD BCC *-1 |
| | 68 PLA |
| | 28 PLP</pre>||No requirements |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 28 cycles === | | === 33 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|6 bytes | | !colspan="2"|6 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>18 ... CLC × 2 |
| LDX #5
| | A9 0A LDA #$0A ;hides 'ASL A' |
| @X:
| | 90 FD BCC *-1</pre>||Clobbers A, Z&N, and C |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>EA NOP |
| LDY #5
| | A2 05 LDX #5 |
| @Y:
| | CA DEX |
| DEY
| | 10 FD BPL *-1</pre>||Clobbers X, and Z&N |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JSR @rts14
| | |<pre>EA NOP |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| | A0 06 LDY #6 |
| | 88 DEY |
| | D0 FD BNE *-1</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| !colspan="2"|7 bytes | | !colspan="2"|7 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>48 PHA |
| LDX #4
| | 18 CLC |
| @X:
| | A9 0A LDA #$0A ;hides 'ASL A' |
| DEX
| | 10 FD BPL *-1 |
| BNE @X
| | 68 PLA</pre>||Clobbers Z&N, and C |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X | | |- |
| | |<pre>08 PHP |
| | 18 CLC |
| | A9 0A LDA #$0A ;hides 'ASL A' |
| | 10 FD BPL *-1 |
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>08 PHP |
| LDY #4
| | A2 04 LDX #4 |
| @Y:
| | CA DEX |
| DEY
| | 10 FD BPL *-1 |
| BNE @Y
| | 28 PLP</pre>||Clobbers X |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| | |<pre>08 PHP |
| LDA #5
| | A0 05 LDY #5 |
| @A:
| | 88 DEY |
| SBC #1
| | D0 FD BNE *-1 |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | !colspan="2"|9 bytes |
| PHA
| |
| PHP
| |
| PLP
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts15
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| | |<pre>EA NOP |
| PLA
| | 08 PHP |
| PLA
| | 28 PLP |
| PLA
| | 20 xx xx JSR @rts12× 2</pre>||Requires @rts12 |
| PLA
| |
| PLA
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| |
| |- | | |- |
| !colspan="2"|8 bytes | | !colspan="2"|10 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>08 PHP \ × 2 |
| PLP | | 28 PLP / |
| PHP | | 08 PHP |
| PLP
| | 36 36 ROL $36,X |
| PHP
| | 76 36 ROR $36,X |
| PLP | | 28 PLP</pre>||No requirements |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 29 cycles === | | === 34 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|6 bytes | | !colspan="2"|5 bytes |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #4
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #4
| | |<pre>A9 0A LDA #$0A ;hides 'ASL A' |
| @Y:
| | 18 CLC |
| NOP
| | 10 FC BPL *-2</pre>||Clobbers A, Z&N, and C |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JSR @rts14
| | |<pre>A0 88 LDY #136 ;hides 'DEY' |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts14, and @rts15
| | 88 DEY |
| | 30 FC BMI *-2</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| !colspan="2"|7 bytes | | !colspan="2"|7 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>A6 A6 LDX $A6 |
| PLP
| | A2 05 LDX #5 |
| PHP
| | CA DEX |
| PLP
| | 10 FD BPL *-1</pre>||Clobbers X, and Z&N |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| JSR @rts12
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts12, and @rts14
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PLA
| |
| PLA
| |
| PLA
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N; and requires @rts14
| |
| |- | | |- |
| !colspan="2"|8 bytes | | !colspan="2"|8 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>C5 C5 CMP $C5 |
| LDY #3
| | 48 PHA |
| @Y:
| | A9 0A LDA #$0A ;hides 'ASL A' |
| NOP
| | 10 FD BPL *-1 |
| DEY
| | 68 PLA</pre>||Clobbers Z&N, and C |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>08 PHP |
| LDX #3
| | A5 A5 LDA $A5 |
| @X:
| | A9 0A LDA #$0A ;hides 'ASL A' |
| NOP
| | 10 FD BPL *-1 |
| DEX
| | 28 PLP</pre>||Clobbers A |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| | !colspan="2"|9 bytes |
| JSR @rts12
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N; and requires @rts12, and @rts14
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>BIT $00
| | |<pre>08 PHP |
| JSR @rts12
| | 48 PHA |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and V; and requires @rts12, and @rts14
| | A9 2A LDA #$2A ;hides 'ROL A' |
| | 38 SEC |
| | 10 FC BPL *-2 |
| | 68 PLA |
| | 28 PLP</pre>||No requirements |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>STA @zptemp
| | |} |
| JSR @rts12
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @zptemp, @rts12, and @rts14
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| JSR @rts12
| |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts12
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| PHA
| |
| PHP
| |
| PLP
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts14
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| |
| JSR @rts12
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts12, @rts14, and support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PLP
| |
| PHP
| |
| BIT $00
| |
| PLP
| |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Requires @rts12
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| NOP
| |
| PHP
| |
| PLP
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| PHA
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #130
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP $EA44 ;hides 'NOP zp'
| |
| SBC #1
| |
| BMI @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A; and requires support for unofficial opcodes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #130
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP $EA44 ;hides 'NOP zp'
| |
| SBC #1
| |
| BMI @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| NOP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |} | |
|
| |
|
|
| |
|
| === 30 cycles === | | === 35 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|6 bytes | | !colspan="2"|6 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JSR @rts15
| | |<pre>A9 2A LDA #$2A ;hides 'ROL A' |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| | 08 PHP |
| | 28 PLP |
| | 10 FB BPL *-3</pre>||Clobbers A, Z&N, and C |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| | |<pre>A2 F8 LDX #248 ;hides 'SED' |
| LDX #5 | | E8 ... INX × 2 |
| @X:
| | D0 FB BNE *-3</pre>||Clobbers X, Z&N, and D |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers A, X, S, and Z&N | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| | |<pre>A0 88 LDY #136 ;hides 'DEY' |
| LDY #5 | | 88 ... DEY × 2 |
| @Y:
| | 30 FB BMI *-3</pre>||Clobbers Y, and Z&N |
| DEY | |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers A, Y, S, and Z&N
| |
| |- | | |- |
| !colspan="2"|7 bytes | | !colspan="2"|7 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>98 TYA |
| NOP
| | A0 06 LDY #6 |
| LDY #5 | | 88 DEY |
| @Y:
| | D0 FD BNE *-1 |
| DEY | | A8 TAY</pre>||Clobbers A, and Z&N |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>EA ... NOP × 2 |
| NOP | | A2 05 LDX #5 |
| LDX #5 | | CA DEX |
| @X:
| | 10 FD BPL *-1</pre>||Clobbers X, and Z&N |
| DEX | |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| |
| |- | | |- |
| !colspan="2"|8 bytes | | !colspan="2"|8 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>48 PHA |
| PHP
| | 38 ... SEC × 2 |
| LDY #4
| | A9 0A LDA #$0A ;hides 'ASL A' |
| @Y:
| | 10 FD BPL *-1 |
| DEY
| | 68 PLA</pre>||Clobbers Z&N, and C |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>08 PHP |
| PHP
| | 38 ... SEC × 2 |
| LDX #4
| | A9 0A LDA #$0A ;hides 'ASL A' |
| @X:
| | 10 FD BPL *-1 |
| DEX
| | 28 PLP</pre>||Clobbers A |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>EA NOP |
| SEC
| | 08 PHP |
| LDA #5
| | A2 04 LDX #4 |
| @A:
| | CA DEX |
| SBC #1
| | 10 FD BPL *-1 |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>EA NOP |
| PHA
| | 08 PHP |
| JSR @rts12
| | A0 05 LDY #5 |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts12
| | 88 DEY |
| |-
| | D0 FD BNE *-1 |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | 28 PLP</pre>||Clobbers Y |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| |
| |- | | |- |
| !colspan="2"|9 bytes | | !colspan="2"|9 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>08 PHP |
| PHP | | 48 PHA |
| PLP
| | 18 CLC |
| PHP
| | A9 2A LDA #$2A ;hides 'ROL A' |
| PLP
| | 90 FD BCC *-1 |
| PHP
| | 68 PLA |
| PLP
| | 28 PLP</pre>||No requirements |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing | |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 31 cycles === | | === 36 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|5 bytes | | !colspan="2"|5 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #6
| | |<pre>A9 E9 LDA #$E9 ;hides 'SBC #$2A' |
| @X:
| | 2A ROL A ;first loop only |
| DEX
| | B0 FC BCS *-2</pre>||Clobbers A, Z&N, C, and V |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #6
| | |<pre>A2 07 LDX #7 |
| @Y:
| | CA DEX |
| DEY
| | D0 FD BNE *-1</pre>||Clobbers X, and Z&N |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N | |
| |- | | |- |
| !colspan="2"|7 bytes
| | |<pre>A0 06 LDY #6 |
| | 88 DEY |
| | 10 FD BPL *-1</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | !colspan="2"|6 bytes |
| JSR @rts14
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts14, and @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| PLA
| |
| PLA
| |
| PLA
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N; and requires @rts15
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>38 SEC |
| JSR @rts14
| | A9 0A LDA #$0A ;hides 'ASL A' |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts14
| | 38 SEC |
| | 10 FC BPL *-2</pre>||Clobbers A, Z&N, and C |
| |- | | |- |
| !colspan="2"|8 bytes | | !colspan="2"|8 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>48 PHA |
| PLP
| | 18 CLC |
| JSR @rts12
| | A9 2A LDA #$2A ;hides 'ROL A' |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Requires @rts12
| | EA NOP |
| | 90 FC BCC *-2 |
| | 68 PLA</pre>||Clobbers Z&N, and C |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>08 PHP |
| PHP
| | 18 CLC |
| PLP
| | A9 2A LDA #$2A ;hides 'ROL A' |
| PHP
| | EA NOP |
| PLP | | 90 FC BCC *-2 |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| | |<pre>08 PHP |
| LDA #4
| | A2 04 LDX #4 |
| @A:
| | EA NOP |
| NOP | | CA DEX |
| SBC #1
| | D0 FC BNE *-2 |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C | | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| | |<pre>08 PHP |
| JSR @rts14
| | A0 04 LDY #4 |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N; and requires @rts14
| | EA NOP |
| | 88 DEY |
| | D0 FC BNE *-2 |
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>BIT $00
| | !colspan="2"|9 bytes |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and V; and requires @rts14
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>STA @zptemp
| | |<pre>20 xx xx JSR @rts12× 3</pre>||Requires @rts12 |
| JSR @rts14 | |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @zptemp, and @rts14
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | !colspan="2"|10 bytes |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>08 PHP |
| PHP
| | 48 PHA |
| LDY #4
| | 18 CLC |
| @Y:
| | A9 2A LDA #$2A ;hides 'ROL A' |
| DEY
| | 38 SEC |
| BNE @Y
| | 10 FC BPL *-2 |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y, and S | | 68 PLA |
| | 28 PLP</pre>||No requirements |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |} |
| PHP
| |
| LDX #4
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14, and support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDX #3
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDY #3
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JMP *+3
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #130
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| .byte $0C,$E6,@zptemp ;NOP abs; hides 'INC @zptemp'
| |
| SBC #1
| |
| BMI @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A; and requires @zptemp, and support for unofficial opcodes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #130
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| .byte $0C,$E6,@zptemp ;NOP abs; hides 'INC @zptemp'
| |
| SBC #1
| |
| BMI @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C; and requires @zptemp, and support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PLP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| BIT $00
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |} | |
|
| |
|
|
| |
|
| === 32 cycles === | | === 37 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|7 bytes | | !colspan="2"|7 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>A5 A5 LDA $A5 |
| JSR @rts15
| | A9 0A LDA #$0A ;hides 'ASL A' |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| | 18 CLC |
| |-
| | 10 FC BPL *-2</pre>||Clobbers A, Z&N, and C |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDX #4
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, S, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>A2 04 LDX #4 |
| LDY #4
| | EA ... NOP × 2 |
| @Y:
| | CA DEX |
| NOP | | D0 FB BNE *-3</pre>||Clobbers X, and Z&N |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, S, and Z&N | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| | |<pre>A0 04 LDY #4 |
| JSR @rts14
| | EA ... NOP × 2 |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N; and requires @rts14
| | 88 DEY |
| | D0 FB BNE *-3</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| !colspan="2"|8 bytes | | !colspan="2"|8 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>EA NOP |
| NOP
| | 98 TYA |
| NOP
| | A0 06 LDY #6 |
| LDY #5 | | 88 DEY |
| @Y:
| | D0 FD BNE *-1 |
| DEY | | A8 TAY</pre>||Clobbers A, and Z&N |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N | |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| LDX #5
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| |
| |- | | |- |
| !colspan="2"|9 bytes | | !colspan="2"|9 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>TYA
| | |<pre>48 PHA |
| PHA
| | 98 TYA |
| LDY #4 | | A0 05 LDY #5 |
| @Y:
| | 88 DEY |
| DEY | | D0 FD BNE *-1 |
| BNE @Y | | A8 TAY |
| PLA | | 68 PLA</pre>||Clobbers Z&N |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>08 PHP |
| LDX #2
| | 98 TYA |
| @X:
| | A0 05 LDY #5 |
| PHP
| | 88 DEY |
| PLP
| | D0 FD BNE *-1 |
| DEX
| | A8 TAY |
| BNE @X
| | 28 PLP</pre>||Clobbers A |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>EA ... NOP × 2 |
| LDY #2
| | 08 PHP |
| @Y:
| | A2 04 LDX #4 |
| PHP | | CA DEX |
| PLP
| | 10 FD BPL *-1 |
| DEY
| | 28 PLP</pre>||Clobbers X |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>EA ... NOP × 2 |
| PHA
| | 08 PHP |
| PHA
| | A0 05 LDY #5 |
| JSR @rts12
| | 88 DEY |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts12
| | D0 FD BNE *-1 |
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| !colspan="2"|10 bytes | | !colspan="2"|10 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>08 PHP |
| NOP
| | 48 PHA |
| PHP | | 18 ... CLC × 2 |
| PLP
| | A9 2A LDA #$2A ;hides 'ROL A' |
| PHP
| | 90 FD BCC *-1 |
| PLP
| | 68 PLA |
| PHP
| | 28 PLP</pre>||No requirements |
| PLP
| |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing | |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 33 cycles === | | === 38 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|6 bytes | | !colspan="2"|6 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>38 SEC |
| LDY #6
| | A9 69 LDA #$69 ;hides 'ADC #$EA' |
| @Y:
| | EA NOP ;first loop only |
| DEY
| | B0 FC BCS *-2</pre>||Clobbers A, Z&N, C, and V |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N | | |- |
| | |<pre>EA NOP |
| | A2 07 LDX #7 |
| | CA DEX |
| | D0 FD BNE *-1</pre>||Clobbers X, and Z&N |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>EA NOP |
| LDX #6
| | A0 06 LDY #6 |
| @X:
| | 88 DEY |
| DEX
| | 10 FD BPL *-1</pre>||Clobbers Y, and Z&N |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |- | | |- |
| !colspan="2"|7 bytes | | !colspan="2"|7 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>48 PHA |
| LDY #5
| | 18 CLC |
| @Y:
| | A9 0A LDA #$0A ;hides 'ASL A' |
| DEY
| | 90 FD BCC *-1 |
| BNE @Y
| | 68 PLA</pre>||Clobbers Z&N, and C |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>08 PHP |
| LDX #5
| | 18 CLC |
| @X:
| | A9 0A LDA #$0A ;hides 'ASL A' |
| DEX
| | 90 FD BCC *-1 |
| BNE @X
| | 28 PLP</pre>||Clobbers A |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| | |<pre>08 PHP |
| LDA #6
| | A2 05 LDX #5 |
| @A:
| | CA DEX |
| SBC #1
| | 10 FD BPL *-1 |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>08 PHP |
| JSR @rts15
| | A0 06 LDY #6 |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts15
| | 88 DEY |
| | D0 FD BNE *-1 |
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| !colspan="2"|8 bytes | | !colspan="2"|8 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| | |<pre>08 PHP |
| JSR @rts15
| | 48 PHA |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N; and requires @rts15
| | A9 0A LDA #$0A ;hides 'ASL A' |
| | 10 FD BPL *-1 |
| | 68 PLA |
| | 28 PLP</pre>||No requirements |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>BIT $00 | | |} |
| JSR @rts15
| | |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and V; and requires @rts15
| | |
| | === 39 cycles === |
| | {| class="wikitable testtable" |
| | !colspan="2"|4 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>A9 4A LDA #$4A ;hides 'LSR A' |
| PLP
| | D0 FD BNE *-1</pre>||Clobbers A, Z&N, and C |
| JSR @rts12
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts12, and @rts14
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | !colspan="2"|7 bytes |
| NOP
| |
| JSR @rts14
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts14, and @rts15
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>STA @zptemp
| | |<pre>A6 A6 LDX $A6 |
| JSR @rts15
| | A2 07 LDX #7 |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @zptemp, and @rts15
| | CA DEX |
| | D0 FD BNE *-1</pre>||Clobbers X, and Z&N |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>A4 A4 LDY $A4 |
| PHA
| | A0 06 LDY #6 |
| JSR @rts14
| | 88 DEY |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts14
| | 10 FD BPL *-1</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| | !colspan="2"|8 bytes |
| JSR @rts15
| | |- |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15, and support for unofficial opcodes
| | |<pre>98 TYA |
| | A0 88 LDY #136 ;hides 'DEY' |
| | 88 ... DEY × 2 |
| | 30 FB BMI *-3 |
| | A8 TAY</pre>||Clobbers A, 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>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 |
| |- | | |- |
| !colspan="2"|9 bytes | | !colspan="2"|9 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>48 PHA |
| PHP
| | A9 2A LDA #$2A ;hides 'ROL A' |
| PLP
| | EA ... NOP × 3 |
| JSR @rts12
| | 10 FA BPL *-4 |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Requires @rts12
| | 68 PLA</pre>||Clobbers Z&N, and C |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JMP *+3
| | |<pre>08 PHP |
| JSR @rts15
| | A9 2A LDA #$2A ;hides 'ROL A' |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| | EA ... NOP × 3 |
| | 10 FA BPL *-4 |
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JSR @rts14
| | !colspan="2"|10 bytes |
| PHP
| |
| ROL $00,X
| |
| ROR $00,X
| |
| PLP</nowiki></pre> || style="padding:2px" | Requires @rts14
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>EA NOP |
| PHA | | 48 PHA |
| PLA
| | 98 TYA |
| PLA
| | A0 05 LDY #5 |
| PLA
| | 88 DEY |
| PLA
| | D0 FD BNE *-1 |
| PLA
| | A8 TAY |
| PLA
| | 68 PLA</pre>||Clobbers Z&N |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>08 PHP |
| SEC
| | A6 A6 LDX $A6 |
| LDA #130
| | A2 04 LDX #4 |
| @A = * - 1
| | EA NOP |
| ; ^ Hides !NOP #imm
| | CA DEX |
| NOP $2808 ;hides 'PHP' and 'PLP'; reads from $2000
| | D0 FC BNE *-2 |
| SBC #1
| | 28 PLP</pre>||Clobbers X |
| BMI @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A; and requires support for unofficial opcodes | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>08 PHP |
| SEC
| | A4 A4 LDY $A4 |
| LDA #130
| | A0 04 LDY #4 |
| @A = * - 1
| | EA NOP |
| ; ^ Hides !NOP #imm
| | 88 DEY |
| NOP $2808 ;hides 'PHP' and 'PLP'; reads from $2000
| | D0 FC BNE *-2 |
| SBC #1
| | 28 PLP</pre>||Clobbers Y |
| BMI @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C; and requires support for unofficial opcodes
| |
| |- | | |- |
| !colspan="2"|10 bytes | | !colspan="2"|11 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>08 PHP |
| PLP
| | 48 PHA |
| PHP
| | 98 TYA |
| PLP
| | A0 04 LDY #4 |
| PHP
| | 88 DEY |
| ROL $00,X
| | D0 FD BNE *-1 |
| ROR $00,X
| | A8 TAY |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing | | 68 PLA |
| | 28 PLP</pre>||No requirements |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 34 cycles === | | === 40 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|6 bytes | | !colspan="2"|6 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>A2 05 LDX #5 ;hides 'ORA zp' |
| LDX #6 | | EA NOP |
| @X:
| | CA DEX |
| DEX | | D0 FB BNE *-3</pre>||Clobbers A, X, and Z&N |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, S, and Z&N | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>A0 05 LDY #5 ;hides 'ORA zp' |
| LDY #6 | | EA NOP |
| @Y:
| | 88 DEY |
| DEY | | D0 FB BNE *-3</pre>||Clobbers A, Y, and Z&N |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, S, and Z&N | |
| |- | | |- |
| !colspan="2"|7 bytes | | !colspan="2"|7 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| | |<pre>98 TYA |
| LDX #6
| | A0 06 LDY #6 |
| @X:
| | 88 DEY |
| DEX
| | 10 FD BPL *-1 |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers A, X, and Z&N
| | A8 TAY</pre>||Clobbers A, and Z&N |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| | |<pre>EA ... NOP × 2 |
| LDY #6
| | A2 07 LDX #7 |
| @Y:
| | CA DEX |
| DEY
| | D0 FD BNE *-1</pre>||Clobbers X, and Z&N |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers A, Y, and Z&N | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>BIT $00
| | |<pre>EA ... NOP × 2 |
| LDX #6
| | A0 06 LDY #6 |
| @X:
| | 88 DEY |
| DEX
| | 10 FD BPL *-1</pre>||Clobbers Y, and Z&N |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, Z&N, and V
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>BIT $00
| | !colspan="2"|8 bytes |
| LDY #6
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, Z&N, and V
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>STA @zptemp
| | |<pre>48 PHA |
| LDX #6
| | 18 ... CLC × 2 |
| @X:
| | A9 0A LDA #$0A ;hides 'ASL A' |
| DEX
| | 90 FD BCC *-1 |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N; and requires @zptemp
| | 68 PLA</pre>||Clobbers Z&N, and C |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>STA @zptemp
| | |<pre>08 PHP |
| LDY #6
| | 18 ... CLC × 2 |
| @Y:
| | A9 0A LDA #$0A ;hides 'ASL A' |
| DEY
| | 90 FD BCC *-1 |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N; and requires @zptemp
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| | |<pre>EA NOP |
| JSR @rts15
| | 08 PHP |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N; and requires @rts15
| | A2 05 LDX #5 |
| | CA DEX |
| | 10 FD BPL *-1 |
| | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| | |<pre>EA NOP |
| LDY #6 | | 08 PHP |
| @Y:
| | A0 06 LDY #6 |
| DEY | | 88 DEY |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N; and requires support for unofficial opcodes | | D0 FD BNE *-1 |
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| | !colspan="2"|9 bytes |
| LDX #6
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N; and requires support for unofficial opcodes
| |
| |- | | |- |
| !colspan="2"|8 bytes
| | |<pre>08 PHP |
| | 48 PHA |
| | 18 CLC |
| | A9 0A LDA #$0A ;hides 'ASL A' |
| | 10 FD BPL *-1 |
| | 68 PLA |
| | 28 PLP</pre>||No requirements |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP | | |} |
| NOP
| | |
| JSR @rts15
| | |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| | === 41 cycles === |
| | {| class="wikitable testtable" |
| | !colspan="2"|5 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JMP *+3
| | |<pre>38 SEC |
| LDY #6
| | A9 4A LDA #$4A ;hides 'LSR A' |
| @Y:
| | D0 FD BNE *-1</pre>||Clobbers A, Z&N, and C |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JMP *+3
| | |<pre>A2 08 LDX #8 |
| LDX #6 | | CA DEX |
| @X:
| | D0 FD BNE *-1</pre>||Clobbers X, and Z&N |
| DEX | |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>A0 08 LDY #8 |
| PHA
| | 88 DEY |
| JSR @rts14
| | D0 FD BNE *-1</pre>||Clobbers Y, and Z&N |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts14
| |
| |- | | |- |
| !colspan="2"|9 bytes | | !colspan="2"|7 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>48 PHA |
| NOP
| | A9 0A LDA #$0A ;hides 'ASL A' |
| NOP
| | 18 CLC |
| JSR @rts14
| | 10 FC BPL *-2 |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| | 68 PLA</pre>||Clobbers Z&N, and C |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>08 PHP |
| PHP
| | A9 0A LDA #$0A ;hides 'ASL A' |
| PLP
| | 18 CLC |
| JSR @rts12
| | 10 FC BPL *-2 |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts12
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>08 PHP |
| PLA
| | A0 88 LDY #136 ;hides 'DEY' |
| PLA
| | 88 DEY |
| PLA
| | 30 FC BMI *-2 |
| PLA
| | 28 PLP</pre>||Clobbers Y |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | !colspan="2"|9 bytes |
| PHA
| |
| PHP
| |
| LDX #4
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHP
| |
| LDY #4
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y, and S
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| | |<pre>08 PHP |
| LDA #130
| | A6 A6 LDX $A6 |
| @A = * - 1
| | A2 05 LDX #5 |
| ; ^ Hides !NOP #imm
| | CA DEX |
| NOP $EA ;hides 'NOP'
| | 10 FD BPL *-1 |
| PHP
| | 28 PLP</pre>||Clobbers X |
| PLP | |
| SBC #1
| |
| BMI @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C; and requires support for unofficial opcodes
| |
| |- | | |- |
| !colspan="2"|10 bytes | | !colspan="2"|10 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>08 PHP |
| BIT $00
| | 48 PHA |
| PLP
| | A5 A5 LDA $A5 |
| JSR @rts12
| | A9 0A LDA #$0A ;hides 'ASL A' |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Requires @rts12
| | 10 FD BPL *-1 |
| | 68 PLA |
| | 28 PLP</pre>||No requirements |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP | | |} |
| TYA
| | |
| PHA
| | |
| LDY #4
| | === 42 cycles === |
| @Y:
| | {| class="wikitable testtable" |
| DEY
| | !colspan="2"|6 bytes |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>A5 A5 LDA $A5 |
| PHP
| | A9 4A LDA #$4A ;hides 'LSR A' |
| LDY #2
| | D0 FD BNE *-1</pre>||Clobbers A, Z&N, and C |
| @Y:
| |
| PHP
| |
| PLP
| |
| DEY
| |
| BNE @Y | |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | !colspan="2"|7 bytes |
| PHA
| |
| TSX
| |
| PLA
| |
| PLA
| |
| PLA
| |
| PLA
| |
| TXS
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>EA NOP |
| PHA
| | A2 05 LDX #5 ;hides 'ORA zp' |
| PHP
| | EA NOP |
| PLP
| | CA DEX |
| PHP
| | D0 FB BNE *-3</pre>||Clobbers A, X, and Z&N |
| PLP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>EA NOP |
| SEC
| | A0 05 LDY #5 ;hides 'ORA zp' |
| LDA #130
| | EA NOP |
| @A = * - 1
| | 88 DEY |
| ; ^ Hides !NOP #imm
| | D0 FB BNE *-3</pre>||Clobbers A, Y, and Z&N |
| NOP $EAEA ;hides two 'NOP's
| |
| NOP | |
| SBC #1
| |
| BMI @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A; and requires support for unofficial opcodes
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | !colspan="2"|8 bytes |
| SEC
| |
| LDA #130
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP $EAEA ;hides two 'NOP's
| |
| NOP
| |
| SBC #1
| |
| BMI @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C; and requires support for unofficial opcodes
| |
| |- | | |- |
| !colspan="2"|11 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 |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>08 PHP |
| NOP
| | A9 2A LDA #$2A ;hides 'ROL A' |
| NOP
| | 08 PHP |
| PHP | | 28 PLP |
| PLP
| | 10 FB BPL *-3 |
| PHP | | 28 PLP</pre>||Clobbers A |
| PLP | |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing | |
| |- | | |- |
| |} | | |<pre>08 PHP |
| | | A2 F8 LDX #248 ;hides 'SED' |
| | | E8 ... INX × 2 |
| === 35 cycles ===
| | D0 FB BNE *-3 |
| {| class="wikitable"
| | 28 PLP</pre>||Clobbers X |
| !colspan="2"|6 bytes
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| | |<pre>08 PHP |
| LDY #6 | | A0 88 LDY #136 ;hides 'DEY' |
| @Y:
| | 88 ... DEY × 2 |
| DEY
| | 30 FB BMI *-3 |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers A, Y, S, and Z&N
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| | !colspan="2"|9 bytes |
| LDX #6
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers A, X, S, and Z&N
| |
| |- | | |- |
| !colspan="2"|7 bytes
| | |<pre>48 PHA |
| | 98 TYA |
| | A0 06 LDY #6 |
| | 88 DEY |
| | D0 FD BNE *-1 |
| | A8 TAY |
| | 68 PLA</pre>||Clobbers Z&N |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | !colspan="2"|10 bytes |
| NOP
| |
| LDX #6
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>08 PHP |
| NOP
| | 48 PHA |
| LDY #6
| | 38 ... SEC × 2 |
| @Y:
| | A9 0A LDA #$0A ;hides 'ASL A' |
| DEY
| | 10 FD BPL *-1 |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| | 68 PLA |
| | 28 PLP</pre>||No requirements |
| |- | | |- |
| !colspan="2"|8 bytes | | |} |
| | |
| | |
| | === 43 cycles === |
| | {| class="wikitable testtable" |
| | !colspan="2"|6 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>38 ... SEC × 2 |
| PHP
| | A9 4A LDA #$4A ;hides 'LSR A' |
| LDY #5
| | D0 FD BNE *-1</pre>||Clobbers A, Z&N, and C |
| @Y:
| |
| DEY
| |
| BNE @Y | |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>A2 05 LDX #5 |
| PHP
| | EA NOP |
| LDX #5 | | CA DEX |
| @X:
| | 10 FC BPL *-2</pre>||Clobbers X, and Z&N |
| DEX | |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>A0 06 LDY #6 |
| SEC
| | EA NOP |
| LDA #6
| | 88 DEY |
| @A:
| | D0 FC BNE *-2</pre>||Clobbers Y, and Z&N |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | !colspan="2"|7 bytes |
| PLP
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>48 PHA |
| PHA
| | A9 E9 LDA #$E9 ;hides 'SBC #$2A' |
| JSR @rts15
| | 2A ROL A ;first loop only |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts15
| | B0 FC BCS *-2 |
| | 68 PLA</pre>||Clobbers Z&N, C, and V |
| |- | | |- |
| !colspan="2"|9 bytes
| | |<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 |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>08 PHP |
| SEC
| | A2 07 LDX #7 |
| LDA #5
| | CA DEX |
| @A:
| | D0 FD BNE *-1 |
| SBC #1
| | 28 PLP</pre>||Clobbers X |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>08 PHP |
| SEC
| | A0 06 LDY #6 |
| LDA #5
| | 88 DEY |
| @A:
| | 10 FD BPL *-1 |
| SBC #1
| | 28 PLP</pre>||Clobbers Y |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | !colspan="2"|8 bytes |
| BIT $00
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and V; and requires @rts15
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>48 PHA |
| STA @zptemp
| | 38 SEC |
| JSR @rts15
| | A9 0A LDA #$0A ;hides 'ASL A' |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @zptemp, and @rts15
| | 38 SEC |
| |-
| | 10 FC BPL *-2 |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | 68 PLA</pre>||Clobbers Z&N, and C |
| NOP $00
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15, and support for unofficial opcodes
| |
| |- | | |- |
| !colspan="2"|10 bytes | | !colspan="2"|10 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>08 PHP |
| PLP
| | 48 PHA |
| PHP
| | 18 CLC |
| PLP
| | A9 2A LDA #$2A ;hides 'ROL A' |
| PHP
| | EA NOP |
| PLP
| | 90 FC BCC *-2 |
| PHP
| | 68 PLA |
| PLP
| | 28 PLP</pre>||No requirements |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing | |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 36 cycles === | | === 44 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|5 bytes | | !colspan="2"|6 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #7
| | |<pre>A9 0A LDA #$0A ;hides 'ASL A' |
| @Y:
| | EA ... NOP × 2 |
| DEY
| | 10 FB BPL *-3</pre>||Clobbers A, Z&N, and C |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #7
| | |<pre>A0 88 LDY #136 ;hides 'DEY' |
| @X:
| | EA NOP |
| DEX
| | 88 DEY |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| | 30 FB BMI *-3</pre>||Clobbers Y, and Z&N |
| |- | | |- |
| !colspan="2"|8 bytes | | !colspan="2"|7 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>A6 A6 LDX $A6 |
| LDX #4 | | A2 08 LDX #8 |
| @X:
| | CA DEX |
| NOP
| | D0 FD BNE *-1</pre>||Clobbers X, and Z&N |
| DEX | |
| BNE @X | |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | !colspan="2"|9 bytes |
| LDY #4
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>C5 C5 CMP $C5 |
| PLP
| | 48 PHA |
| JSR @rts14
| | A9 0A LDA #$0A ;hides 'ASL A' |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts14, and @rts15
| | 18 CLC |
| | 10 FC BPL *-2 |
| | 68 PLA</pre>||Clobbers Z&N, and C |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>08 PHP |
| PHA
| | A5 A5 LDA $A5 |
| JSR @rts15
| | A9 0A LDA #$0A ;hides 'ASL A' |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts15
| | 18 CLC |
| | 10 FC BPL *-2 |
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>08 PHP |
| SEC
| | A2 04 LDX #4 |
| LDA #6
| | EA ... NOP × 2 |
| @A:
| | CA DEX |
| SBC #1
| | D0 FB BNE *-3 |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C | | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| | |<pre>08 PHP |
| PLA
| | A0 04 LDY #4 |
| JSR @rts14
| | EA ... NOP × 2 |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N; and requires @rts14
| | 88 DEY |
| | D0 FB BNE *-3 |
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| !colspan="2"|9 bytes | | !colspan="2"|10 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JSR @rts12
| | |<pre>EA NOP |
| JSR @rts12
| | 48 PHA |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Requires @rts12
| | 98 TYA |
| | A0 06 LDY #6 |
| | 88 DEY |
| | D0 FD BNE *-1 |
| | A8 TAY |
| | 68 PLA</pre>||Clobbers Z&N |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | !colspan="2"|11 bytes |
| NOP
| |
| NOP
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| | |<pre>08 PHP |
| SEC
| | 48 PHA |
| LDA #6
| | 98 TYA |
| @A:
| | A0 05 LDY #5 |
| SBC #1
| | 88 DEY |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| | D0 FD BNE *-1 |
| | A8 TAY |
| | 68 PLA |
| | 28 PLP</pre>||No requirements |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA | | |} |
| PLA
| | |
| PLA
| | |
| PLA
| | === 45 cycles === |
| PLA
| | {| class="wikitable testtable" |
| PLA
| | !colspan="2"|7 bytes |
| PLA
| |
| PLA
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP | |
| PHA
| |
| PHA
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts14
| |
| |- | | |- |
| !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 |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>EA ... NOP × 2 |
| NOP
| | A2 08 LDX #8 |
| NOP
| | CA DEX |
| NOP
| | D0 FD BNE *-1</pre>||Clobbers X, and Z&N |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>EA ... NOP × 2 |
| PHP
| | A0 08 LDY #8 |
| SEC
| | 88 DEY |
| LDA #130
| | D0 FD BNE *-1</pre>||Clobbers Y, and Z&N |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP $2808 ;hides 'PHP' and 'PLP'; reads from $2000
| |
| SBC #1
| |
| BMI @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A, and S; and requires support for unofficial opcodes
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | !colspan="2"|8 bytes |
| PHA
| |
| SEC
| |
| LDA #130
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP $2808 ;hides 'PHP' and 'PLP'; reads from $2000
| |
| SBC #1
| |
| BMI @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers S, Z&N, and C; and requires support for unofficial opcodes
| |
| |- | | |- |
| !colspan="2"|11 bytes
| | |<pre>48 PHA |
| | 38 SEC |
| | 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 |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>TYA
| | |<pre>08 PHP |
| PHA
| | 38 SEC |
| LDY #2
| | A9 69 LDA #$69 ;hides 'ADC #$EA' |
| @Y:
| | EA NOP ;first loop only |
| PHP
| | B0 FC BCS *-2 |
| PLP | | 28 PLP</pre>||Clobbers A |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>EA NOP |
| PHA
| | 08 PHP |
| PHA
| | A2 07 LDX #7 |
| PHP
| | CA DEX |
| PLP
| | D0 FD BNE *-1 |
| PHP | | 28 PLP</pre>||Clobbers X |
| PLP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>EA NOP |
| PHA
| | 08 PHP |
| SEC
| | A0 06 LDY #6 |
| LDA #130
| | 88 DEY |
| @A = * - 1
| | 10 FD BPL *-1 |
| ; ^ Hides !NOP #imm
| | 28 PLP</pre>||Clobbers Y |
| NOP $EA44 ;hides 'NOP zp'
| |
| SBC #1
| |
| BMI @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Requires support for unofficial opcodes | |
| |- | | |- |
| !colspan="2"|12 bytes | | !colspan="2"|9 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>08 PHP |
| NOP
| | 48 PHA |
| NOP
| | 18 CLC |
| NOP
| | A9 0A LDA #$0A ;hides 'ASL A' |
| PHP | | 90 FD BCC *-1 |
| PLP
| | 68 PLA |
| PHP
| | 28 PLP</pre>||No requirements |
| PLP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing | |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 37 cycles === | | === 46 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|6 bytes | | !colspan="2"|5 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #4
| | |<pre>A2 08 LDX #8 |
| @Y:
| | CA DEX |
| PLA
| | 10 FD BPL *-1</pre>||Clobbers X, and Z&N |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers A, Y, S, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #4
| | |<pre>A0 09 LDY #9 |
| @X:
| | 88 DEY |
| PLA
| | D0 FD BNE *-1</pre>||Clobbers Y, and Z&N |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers A, X, S, and Z&N | |
| |- | | |- |
| !colspan="2"|7 bytes | | !colspan="2"|6 bytes |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #3
| |
| @X:
| |
| PHP
| |
| PLP
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #3
| |
| @Y:
| |
| PHP
| |
| PLP
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>48 PHA |
| PLP
| | A9 4A LDA #$4A ;hides 'LSR A' |
| JSR @rts15
| | D0 FD BNE *-1 |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| | 68 PLA</pre>||Clobbers Z&N, and C |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| | |<pre>08 PHP |
| SEC
| | A9 4A LDA #$4A ;hides 'LSR A' |
| LDA #6 | | D0 FD BNE *-1 |
| @A:
| | 28 PLP</pre>||Clobbers A |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C
| |
| |- | | |- |
| !colspan="2"|9 bytes | | !colspan="2"|9 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>TYA
| | |<pre>08 PHP |
| PHA
| | A6 A6 LDX $A6 |
| LDY #5
| | A2 07 LDX #7 |
| @Y:
| | CA DEX |
| DEY
| | D0 FD BNE *-1 |
| BNE @Y
| | 28 PLP</pre>||Clobbers X |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| LDX #5 | |
| @X:
| |
| DEX | |
| BNE @X | |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X | |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| LDY #5
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>08 PHP |
| PHP
| | A4 A4 LDY $A4 |
| PLP
| | A0 06 LDY #6 |
| JSR @rts14
| | 88 DEY |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| | 10 FD BPL *-1 |
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| !colspan="2"|10 bytes | | !colspan="2"|10 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>48 PHA |
| PHP
| | 98 TYA |
| SEC
| | A0 88 LDY #136 ;hides 'DEY' |
| LDA #5
| | 88 ... DEY × 2 |
| @A:
| | 30 FB BMI *-3 |
| SBC #1
| | A8 TAY |
| BNE @A
| | 68 PLA</pre>||Clobbers Z&N |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| SEC
| |
| LDA #5
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C | |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHP
| |
| PLP
| |
| JSR @rts12
| |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts12
| |
| |- | | |- |
| !colspan="2"|11 bytes | | !colspan="2"|11 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>08 PHP |
| PHP | | 48 PHA |
| PLP
| | A9 2A LDA #$2A ;hides 'ROL A' |
| PHP
| | EA ... NOP × 3 |
| PLP
| | 10 FA BPL *-4 |
| PHP
| | 68 PLA |
| PLP
| | 28 PLP</pre>||No requirements |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing | |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 38 cycles === | | === 47 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|6 bytes | | !colspan="2"|8 bytes |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDY #7
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>98 TYA |
| LDX #7
| | A0 06 LDY #6 |
| @X:
| | EA NOP |
| DEX
| | 88 DEY |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N | | D0 FC BNE *-2 |
| | A8 TAY</pre>||Clobbers A, and Z&N |
| |- | | |- |
| !colspan="2"|7 bytes
| | |<pre>EA ... NOP × 3 |
| | A2 08 LDX #8 |
| | CA DEX |
| | D0 FD BNE *-1</pre>||Clobbers X, and Z&N |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>08 PHP |
| LDY #6
| | A2 05 LDX #5 ;hides 'ORA zp' |
| @Y:
| | EA NOP |
| DEY
| | CA DEX |
| BNE @Y | | D0 FB BNE *-3 |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y | | 28 PLP</pre>||Clobbers A, and X |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>EA ... NOP × 3 |
| LDX #6
| | A0 08 LDY #8 |
| @X:
| | 88 DEY |
| DEX
| | D0 FD BNE *-1</pre>||Clobbers Y, and Z&N |
| BNE @X | |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| | |<pre>08 PHP |
| LDA #7
| | A0 05 LDY #5 ;hides 'ORA zp' |
| @A:
| | EA NOP |
| SBC #1
| | 88 DEY |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C | | D0 FB BNE *-3 |
| |-
| | 28 PLP</pre>||Clobbers A, and Y |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| PLA
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N; and requires @rts15
| |
| |- | | |- |
| !colspan="2"|9 bytes | | !colspan="2"|9 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JSR @rts12
| | |<pre>48 PHA |
| JSR @rts12
| | 98 TYA |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts12, and @rts14
| | A0 06 LDY #6 |
| | 88 DEY |
| | 10 FD BPL *-1 |
| | A8 TAY |
| | 68 PLA</pre>||Clobbers Z&N |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>08 PHP |
| PHP
| | 98 TYA |
| PLP
| | A0 06 LDY #6 |
| JSR @rts14
| | 88 DEY |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts14, and @rts15
| | 10 FD BPL *-1 |
| | A8 TAY |
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>EA ... NOP × 2 |
| PHA
| | 08 PHP |
| PHA
| | A2 07 LDX #7 |
| JSR @rts15
| | CA DEX |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts15
| | D0 FD BNE *-1 |
| | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>EA ... NOP × 2 |
| PHP | | 08 PHP |
| PLP
| | A0 06 LDY #6 |
| JSR @rts14
| | 88 DEY |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts14
| | 10 FD BPL *-1 |
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| !colspan="2"|10 bytes | | !colspan="2"|10 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>08 PHP |
| JSR @rts12
| | 48 PHA |
| JSR @rts12
| | 18 ... CLC × 2 |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Requires @rts12
| | A9 0A LDA #$0A ;hides 'ASL A' |
| | 90 FD BCC *-1 |
| | 68 PLA |
| | 28 PLP</pre>||No requirements |
| | |- |
| | |} |
| | |
| | |
| | === 48 cycles === |
| | {| class="wikitable testtable" |
| | !colspan="2"|6 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>EA NOP |
| NOP
| | A2 08 LDX #8 |
| NOP
| | CA DEX |
| NOP
| | 10 FD BPL *-1</pre>||Clobbers X, and Z&N |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>EA NOP |
| SEC
| | A0 09 LDY #9 |
| LDA #4
| | 88 DEY |
| @A:
| | D0 FD BNE *-1</pre>||Clobbers Y, and Z&N |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | !colspan="2"|7 bytes |
| SEC
| |
| LDA #4
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>48 PHA |
| BIT $00
| | 38 SEC |
| PLP
| | A9 4A LDA #$4A ;hides 'LSR A' |
| JSR @rts14
| | D0 FD BNE *-1 |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| | 68 PLA</pre>||Clobbers Z&N, and C |
| |- | | |- |
| !colspan="2"|11 bytes
| | |<pre>08 PHP |
| | 38 SEC |
| | A9 4A LDA #$4A ;hides 'LSR A' |
| | D0 FD BNE *-1 |
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>08 PHP |
| PHP | | A2 08 LDX #8 |
| PLP
| | CA DEX |
| PHP
| | D0 FD BNE *-1 |
| PLP
| | 28 PLP</pre>||Clobbers X |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>08 PHP |
| PHA
| | A0 08 LDY #8 |
| SEC
| | 88 DEY |
| LDA #130
| | D0 FD BNE *-1 |
| @A = * - 1
| | 28 PLP</pre>||Clobbers Y |
| ; ^ Hides !NOP #imm
| |
| .byte $0C,$E6,@zptemp ;NOP abs; hides 'INC @zptemp'
| |
| SBC #1
| |
| BMI @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Requires @zptemp, and support for unofficial opcodes | |
| |- | | |- |
| !colspan="2"|12 bytes | | !colspan="2"|9 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| | |<pre>08 PHP |
| PLP
| | 48 PHA |
| PHP
| | A9 0A LDA #$0A ;hides 'ASL A' |
| PLP
| | 18 CLC |
| PHP
| | 10 FC BPL *-2 |
| PLP
| | 68 PLA |
| PHP
| | 28 PLP</pre>||No requirements |
| PLP
| |
| PHP
| |
| BIT $00
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing | |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 39 cycles === | | === 49 cycles === |
| {| class="wikitable" | | {| class="wikitable testtable" |
| !colspan="2"|6 bytes | | !colspan="2"|4 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>A0 88 LDY #136 ;hides 'DEY' |
| LDX #7
| | 30 FD BMI *-1</pre>||Clobbers Y, and Z&N |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDY #7
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, S, and Z&N
| |
| |- | | |- |
| !colspan="2"|7 bytes | | !colspan="2"|7 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| | |<pre>18 CLC |
| LDY #7
| | A9 2A LDA #$2A ;hides 'ROL A' |
| @Y:
| | 08 PHP |
| DEY
| | 28 PLP |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers A, Y, and Z&N
| | 90 FB BCC *-3</pre>||Clobbers A, Z&N, and C |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| | |<pre>A6 A6 LDX $A6 |
| LDX #7 | | A2 08 LDX #8 |
| @X:
| | CA DEX |
| DEX | | 10 FD BPL *-1</pre>||Clobbers X, and Z&N |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers A, X, and Z&N
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>BIT $00
| | !colspan="2"|8 bytes |
| LDY #7
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, Z&N, and V
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>BIT $00
| | |<pre>C5 C5 CMP $C5 |
| LDX #7
| | 48 PHA |
| @X:
| | A9 4A LDA #$4A ;hides 'LSR A' |
| DEX
| | D0 FD BNE *-1 |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, Z&N, and V
| | 68 PLA</pre>||Clobbers Z&N, and C |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>STA @zptemp
| | |<pre>08 PHP |
| LDY #7
| | A5 A5 LDA $A5 |
| @Y:
| | A9 4A LDA #$4A ;hides 'LSR A' |
| DEY
| | D0 FD BNE *-1 |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N; and requires @zptemp
| | 28 PLP</pre>||Clobbers A |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>STA @zptemp
| | !colspan="2"|10 bytes |
| LDX #7
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N; and requires @zptemp
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| | |<pre>08 PHP |
| LDX #7
| | 48 PHA |
| @X:
| | A9 2A LDA #$2A ;hides 'ROL A' |
| DEX
| | 08 PHP |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N; and requires support for unofficial opcodes
| | 28 PLP |
| | 10 FB BPL *-3 |
| | 68 PLA |
| | 28 PLP</pre>||No requirements |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00 | | |} |
| LDY #7
| | |
| @Y:
| | |
| DEY
| | === 50 cycles === |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N; and requires support for unofficial opcodes
| | {| class="wikitable testtable" |
| | !colspan="2"|6 bytes |
| |- | | |- |
| !colspan="2"|8 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 |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JMP *+3
| | |<pre>A2 07 LDX #7 |
| LDX #7 | | EA NOP |
| @X:
| | CA DEX |
| DEX | | D0 FC BNE *-2</pre>||Clobbers X, and Z&N |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JMP *+3
| | |<pre>A0 06 LDY #6 |
| LDY #7 | | EA NOP |
| @Y:
| | 88 DEY |
| DEY | | 10 FC BPL *-2</pre>||Clobbers Y, and Z&N |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |- | | |- |
| !colspan="2"|9 bytes | | !colspan="2"|7 bytes |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>98 TYA |
| PHP
| | A0 09 LDY #9 |
| PLP
| | 88 DEY |
| JSR @rts15
| | D0 FD BNE *-1 |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| | A8 TAY</pre>||Clobbers A, and Z&N |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| | !colspan="2"|8 bytes |
| LDA #3
| |
| @A:
| |
| PHP
| |
| PLP
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>48 PHA |
| PHP
| | 38 ... SEC × 2 |
| LDY #4
| | A9 4A LDA #$4A ;hides 'LSR A' |
| @Y:
| | D0 FD BNE *-1 |
| NOP
| | 68 PLA</pre>||Clobbers Z&N, and C |
| DEY
| |
| BNE @Y | |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y, and S
| |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>08 PHP |
| PHP
| | 38 ... SEC × 2 |
| LDX #4
| | A9 4A LDA #$4A ;hides 'LSR A' |
| @X:
| | D0 FD BNE *-1 |
| NOP
| | 28 PLP</pre>||Clobbers A |
| DEX
| |
| BNE @X | |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X, and S | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| | |<pre>08 PHP |
| PLA
| | A2 05 LDX #5 |
| PLA
| | EA NOP |
| JSR @rts14
| | CA DEX |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N; and requires @rts14
| | 10 FC BPL *-2 |
| | 28 PLP</pre>||Clobbers X |
| |- | | |- |
| !colspan="2"|10 bytes
| | |<pre>08 PHP |
| | A0 06 LDY #6 |
| | EA NOP |
| | 88 DEY |
| | D0 FC BNE *-2 |
| | 28 PLP</pre>||Clobbers Y |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | !colspan="2"|9 bytes |
| TYA
| |
| PHA
| |
| LDY #5
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| PHP
| |
| LDX #5
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| PHP
| |
| LDY #5
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| PLP
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| JSR @rts12
| |
| JSR @rts12
| |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts12
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| TYA
| |
| PHA
| |
| LDY #4
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| SEC
| |
| LDA #5
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>STA @zptemp
| |
| JSR @rts12
| |
| JSR @rts12
| |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Requires @zptemp, and @rts12
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| |
| JSR @rts12
| |
| JSR @rts12
| |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Requires @rts12, and support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|12 bytes | |
| |- | | |- |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | |<pre>08 PHP |
| NOP
| | 48 PHA |
| PHP | | A9 E9 LDA #$E9 ;hides 'SBC #$2A' |
| PLP
| | 2A ROL A ;first loop only |
| PHP
| | B0 FC BCS *-2 |
| PLP
| | 68 PLA |
| PHP
| | 28 PLP</pre>||No requirements |
| PLP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing | |
| |- | | |- |
| |} | | |} |
|
| |
|
|
| |
|
| === 40 cycles === | | == Sanity checks == |
| {| class="wikitable"
| | |
| !colspan="2"|6 bytes
| | It is possible to verify on compile time that no page wrap occurs, |
| |-
| | by replacing all branches with these macros: |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| | <pre>.macro branch_check opc, dest |
| LDX #7
| | opc dest |
| @X:
| | .assert >* = >(dest), warning, "branch_check: failed, crosses page" |
| DEX
| | .endmacro |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers A, X, S, and Z&N
| | .macro bccnw dest |
| |-
| | branch_check bcc, dest |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| | .endmacro |
| LDY #7
| | .macro bcsnw dest |
| @Y:
| | branch_check bcs, dest |
| DEY
| | .endmacro |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers A, Y, S, and Z&N
| | .macro beqnw dest |
| |-
| | branch_check beq, dest |
| !colspan="2"|7 bytes
| | .endmacro |
| |-
| | .macro bnenw dest |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | branch_check bne, dest |
| NOP
| | .endmacro |
| LDY #7
| | .macro bminw dest |
| @Y:
| | branch_check bmi, dest |
| DEY
| | .endmacro |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| | .macro bplnw dest |
| |-
| | branch_check bpl, dest |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| | .endmacro |
| NOP
| | .macro bvcnw dest |
| LDX #7
| | branch_check bvc, dest |
| @X:
| | .endmacro |
| DEX
| | .macro bvsnw dest |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| | branch_check bvs, dest |
| |-
| | .endmacro</pre> |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDY #6
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDX #6
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #6
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #6
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JSR @rts12
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts12, and @rts14
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| PLP
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts15
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| BIT $00
| |
| PLP
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>ROL $00,X
| |
| ROR $00,X
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers Z&N; and requires @rts14
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| PHP
| |
| PLP
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts14
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| JSR @rts12
| |
| JSR @rts12
| |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Requires @rts12
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| BIT $00
| |
| PLP
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #130
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP $2808 ;hides 'PHP' and 'PLP'; reads from $2000
| |
| SBC #1
| |
| BMI @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PLP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| ROL $00,X
| |
| ROR $00,X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
|
| |
|
| === 41 cycles === | | == See also == |
| {| class="wikitable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #8
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #8
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| LDX #6
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| LDY #6
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| BIT $00
| |
| LDY #6
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| BIT $00
| |
| LDX #6
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JSR @rts12
| |
| JSR @rts14
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts12, @rts14, and @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PLA
| |
| PLA
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N; and requires @rts15
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| PLP
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| TYA
| |
| PHA
| |
| LDY #5
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHP
| |
| PLP
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts14
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| TYA
| |
| PHA
| |
| LDY #5
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| PHP
| |
| PLP
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| JSR @rts12
| |
| JSR @rts12
| |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts12
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| SEC
| |
| LDA #4
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| SEC
| |
| LDA #4
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers S, Z&N, and C
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #130
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP $EA ;hides 'NOP'
| |
| PHP
| |
| PLP
| |
| SBC #1
| |
| BMI @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A; and requires support for unofficial opcodes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #130
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP $EA ;hides 'NOP'
| |
| PHP
| |
| PLP
| |
| SBC #1
| |
| BMI @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PLP
| |
| PHP
| |
| BIT $00
| |
| PLP
| |
| JSR @rts12
| |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Requires @rts12
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| TYA
| |
| PHA
| |
| LDY #4
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| PHP
| |
| SEC
| |
| LDA #5
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #130
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP $EAEA ;hides two 'NOP's
| |
| NOP
| |
| SBC #1
| |
| BMI @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 42 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| LDX #7
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| LDY #7
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| LDX #7
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| LDY #7
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JSR @rts12
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts12, and @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>TYA
| |
| PHA
| |
| LDY #6
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| LDX #6
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| LDY #6
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JSR @rts14
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>ROL $00,X
| |
| ROR $00,X
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers Z&N; and requires @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| SEC
| |
| LDA #6
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| SEC
| |
| LDA #6
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| PHP
| |
| PLP
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts15
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #5
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 43 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #6
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #6
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDX #7
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDY #7
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #8
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JSR @rts14
| |
| JSR @rts14
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts14, and @rts15
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHP
| |
| PLP
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| SEC
| |
| LDA #6
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| SEC
| |
| LDA #6
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers S, Z&N, and C
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| JSR @rts12
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts12, and @rts14
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PLP
| |
| JSR @rts12
| |
| JSR @rts12
| |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Requires @rts12
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| PHP
| |
| PLP
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDA $00
| |
| SEC
| |
| LDA #6
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDA $00
| |
| SEC
| |
| LDA #6
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| PHA
| |
| PHP
| |
| PLP
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts14
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| NOP
| |
| PHP
| |
| PLP
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #130
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP $2808 ;hides 'PHP' and 'PLP'; reads from $2000
| |
| SBC #1
| |
| BMI @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| TYA
| |
| PHA
| |
| LDY #2
| |
| @Y:
| |
| PHP
| |
| PLP
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| PHA
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PLP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #130
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP $EA44 ;hides 'NOP zp'
| |
| SBC #1
| |
| BMI @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|14 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| NOP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 44 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDY #8
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDX #8
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| |
| LDY #8
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers A, Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| |
| LDX #8
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers A, X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>BIT $00
| |
| LDY #8
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, Z&N, and V
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>BIT $00
| |
| LDX #8
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, Z&N, and V
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>STA @zptemp
| |
| LDY #8
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N; and requires @zptemp
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>STA @zptemp
| |
| LDX #8
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| |
| LDY #8
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| |
| LDX #8
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JMP *+3
| |
| LDY #8
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JMP *+3
| |
| LDX #8
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDY #3
| |
| @Y:
| |
| PHP
| |
| PLP
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDX #3
| |
| @X:
| |
| PHP
| |
| PLP
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JSR @rts14
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts14, and @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PLA
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PLP
| |
| PHP
| |
| PLP
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| TYA
| |
| PHA
| |
| LDY #6
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| JSR @rts14
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| TYA
| |
| PHA
| |
| LDY #5
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| SEC
| |
| LDA #6
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #5
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 45 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| LDY #8
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers A, Y, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| LDX #8
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers A, X, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDY #6
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDX #6
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDY #7
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDX #7
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #6
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JSR @rts15
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| JSR @rts14
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts14
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PLP
| |
| JSR @rts12
| |
| JSR @rts12
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts12, and @rts14
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>BIT $00
| |
| JSR @rts14
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and V; and requires @rts14
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>STA @zptemp
| |
| JSR @rts14
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @zptemp, and @rts14
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| |
| JSR @rts14
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14, and support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #4
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 46 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #9
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #9
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| LDX #7
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| LDY #7
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #8
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| BIT $00
| |
| LDX #7
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| BIT $00
| |
| LDY #7
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| |
| SEC
| |
| LDA #8
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| JSR @rts14
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts14, and @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| TYA
| |
| PHA
| |
| LDY #6
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| PLP
| |
| PHP
| |
| PLP
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #3
| |
| @A:
| |
| PHP
| |
| PLP
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #3
| |
| @A:
| |
| PHP
| |
| PLP
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| JSR @rts14
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| TYA
| |
| PHA
| |
| LDY #5
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| PLP
| |
| JSR @rts12
| |
| JSR @rts12
| |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts12
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #5
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 47 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| LDX #8
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| LDY #8
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| LDX #6
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| LDY #6
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| SEC
| |
| LDA #8
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>TYA
| |
| PHA
| |
| LDY #7
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| LDX #7
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| LDY #7
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| JSR @rts15
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #6
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 48 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDX #9
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDY #9
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDX #8
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDY #8
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #9
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| JSR @rts15
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers S, Z&N, and C
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDA $00
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDA $00
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>BIT $00
| |
| JSR @rts15
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and V; and requires @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| JSR @rts14
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts14, and @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>STA @zptemp
| |
| JSR @rts15
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @zptemp, and @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| JSR @rts14
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts14
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| |
| JSR @rts15
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15, and support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JSR @rts12
| |
| JSR @rts12
| |
| JSR @rts12
| |
| JSR @rts12</nowiki></pre> || style="padding:2px" | Requires @rts12
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JMP *+3
| |
| JSR @rts15
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| JSR @rts14
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHA
| |
| TYA
| |
| PHA
| |
| LDY #5
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #4
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #130
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP $EA ;hides 'NOP'
| |
| PHP
| |
| PLP
| |
| SBC #1
| |
| BMI @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|14 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #5
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 49 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #6
| |
| @Y:
| |
| PHA
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #6
| |
| @X:
| |
| PHA
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #4
| |
| @Y:
| |
| PHP
| |
| PLP
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #4
| |
| @X:
| |
| PHP
| |
| PLP
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHP
| |
| LDX #7
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHP
| |
| LDY #7
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PLA
| |
| SEC
| |
| LDA #8
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| TYA
| |
| PHA
| |
| LDY #7
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| PHP
| |
| LDY #7
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| PHP
| |
| LDX #7
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| JSR @rts15
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| TYA
| |
| PHA
| |
| LDY #6
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PLP
| |
| JSR @rts14
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #6
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 50 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #7
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #7
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDX #6
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDY #6
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| SEC
| |
| LDA #9
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #8
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #8
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PLP
| |
| JSR @rts14
| |
| JSR @rts14
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts14, and @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| JSR @rts15
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts15
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| BIT $00
| |
| JSR @rts15
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and V; and requires @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JSR @rts12
| |
| JSR @rts12
| |
| JSR @rts12
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts12, and @rts14
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| STA @zptemp
| |
| JSR @rts15
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @zptemp, and @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #6
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP $00
| |
| JSR @rts15
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15, and support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| LDA $00
| |
| SEC
| |
| LDA #6
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 51 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #10
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #10
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| LDX #8
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| LDY #8
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #6
| |
| @A:
| |
| PHA
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| BIT $00
| |
| LDY #8
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| BIT $00
| |
| LDX #8
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #4
| |
| @A:
| |
| PHP
| |
| PLP
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| TYA
| |
| PHA
| |
| LDY #7
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| TYA
| |
| PHA
| |
| LDY #7
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PLP
| |
| JSR @rts14
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts14, and @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| JSR @rts15
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHP
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHA
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers S, Z&N, and C
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| JSR @rts15
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| TYA
| |
| PHA
| |
| LDY #6
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| PHP
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| PLP
| |
| JSR @rts14
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #6
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 52 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDY #7
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDX #7
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #7
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>TYA
| |
| PHA
| |
| LDY #8
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDY #6
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDX #6
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #6
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #6
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 53 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDX #10
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDY #10
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDX #9
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDY #9
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #10
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| SEC
| |
| LDA #8
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| SEC
| |
| LDA #8
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers S, Z&N, and C
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDA $00
| |
| SEC
| |
| LDA #8
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDA $00
| |
| SEC
| |
| LDA #8
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| PLP
| |
| JSR @rts14
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts14, and @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| PHA
| |
| JSR @rts15
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Clobbers S; and requires @rts15
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #3
| |
| @A:
| |
| PHP
| |
| PLP
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 54 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDX #10
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDY #10
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| |
| LDX #10
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers A, X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| |
| LDY #10
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers A, Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>BIT $00
| |
| LDX #10
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, Z&N, and V
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>BIT $00
| |
| LDY #10
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, Z&N, and V
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>STA @zptemp
| |
| LDX #10
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>STA @zptemp
| |
| LDY #10
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N; and requires @zptemp
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| |
| LDX #10
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| |
| LDY #10
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JMP *+3
| |
| LDY #10
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JMP *+3
| |
| LDX #10
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHP
| |
| LDY #8
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHP
| |
| LDX #8
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X, and S
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>TYA
| |
| PHA
| |
| LDY #6
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| LDX #6
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| LDY #6
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| TYA
| |
| PHA
| |
| LDY #7
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| SEC
| |
| LDA #6
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 55 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #6
| |
| @Y:
| |
| PLA
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers A, Y, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #6
| |
| @X:
| |
| PLA
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers A, X, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #6
| |
| @Y:
| |
| NOP
| |
| NOP
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #6
| |
| @X:
| |
| NOP
| |
| NOP
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDY #9
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDX #9
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| SEC
| |
| LDA #10
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #9
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #9
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JSR @rts12
| |
| JSR @rts14
| |
| JSR @rts14
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts12, @rts14, and @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| LDA $00
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 56 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #11
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #11
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| LDY #9
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| LDX #9
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #10
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDX #4
| |
| @X:
| |
| PHP
| |
| PLP
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDY #4
| |
| @Y:
| |
| PHP
| |
| PLP
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| |
| SEC
| |
| LDA #10
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| TYA
| |
| PHA
| |
| LDY #8
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| TYA
| |
| PHA
| |
| LDY #6
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHP
| |
| SEC
| |
| LDA #8
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHA
| |
| SEC
| |
| LDA #8
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers S, Z&N, and C
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| TYA
| |
| PHA
| |
| LDY #7
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| SEC
| |
| LDA #6
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JSR @rts14
| |
| JSR @rts14
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 57 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #8
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #8
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #136
| |
| @A = * - 1
| |
| ; ^ Hides DEY
| |
| SBC #1
| |
| BMI @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDY #7
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDX #7
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>TYA
| |
| PHA
| |
| LDY #9
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| SEC
| |
| LDA #9
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| SEC
| |
| LDA #9
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #8
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 58 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDX #11
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDY #11
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDY #10
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDX #10
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #11
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| SEC
| |
| LDA #9
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| SEC
| |
| LDA #9
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers S, Z&N, and C
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #4
| |
| @A:
| |
| PHP
| |
| PLP
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #4
| |
| @A:
| |
| PHP
| |
| PLP
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JSR @rts14
| |
| JSR @rts14
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts14, and @rts15
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHA
| |
| TYA
| |
| PHA
| |
| LDY #7
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| JSR @rts14
| |
| JSR @rts14
| |
| JSR @rts14
| |
| JSR @rts14</nowiki></pre> || style="padding:2px" | Requires @rts14
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |-
| |
| !colspan="2"|14 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 59 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDX #11
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDY #11
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDY #8
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDX #8
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #8
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDY #7
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDX #7
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| TYA
| |
| PHA
| |
| LDY #8
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #6
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 60 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| LDX #11
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers A, X, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| LDY #11
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers A, Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| LDY #11
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| LDX #11
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDY #10
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDX #10
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| SEC
| |
| LDA #11
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #10
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #10
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JSR @rts15
| |
| JSR @rts15
| |
| JSR @rts15
| |
| JSR @rts15</nowiki></pre> || style="padding:2px" | Requires @rts15
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #8
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| LDA $00
| |
| SEC
| |
| LDA #8
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 61 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #12
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #12
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| LDY #10
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| LDX #10
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #11
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| BIT $00
| |
| LDY #10
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| BIT $00
| |
| LDX #10
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| SEC
| |
| LDA #8
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>TXA
| |
| PHA
| |
| LDX #7
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X
| |
| PLA
| |
| TAX</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| TYA
| |
| PHA
| |
| LDY #6
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #6
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 62 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| LDY #11
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| LDX #11
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, S, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| LDX #11
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| LDY #11
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| SEC
| |
| LDA #11
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>TXA
| |
| PHA
| |
| LDX #10
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLA
| |
| TAX</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDX #6
| |
| @X:
| |
| NOP
| |
| NOP
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDY #6
| |
| @Y:
| |
| NOP
| |
| NOP
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| SEC
| |
| LDA #10
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| SEC
| |
| LDA #10
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #9
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 63 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDX #12
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDY #12
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDX #11
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDY #11
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #12
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| SEC
| |
| LDA #10
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| SEC
| |
| LDA #10
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers S, Z&N, and C
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDA $00
| |
| SEC
| |
| LDA #10
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDA $00
| |
| SEC
| |
| LDA #10
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| TYA
| |
| PHA
| |
| LDY #6
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #8
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |-
| |
| !colspan="2"|14 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #6
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 64 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #9
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #9
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDY #8
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDX #8
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #136
| |
| @A = * - 1
| |
| ; ^ Hides DEY
| |
| SBC #1
| |
| BMI @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #136
| |
| @A = * - 1
| |
| ; ^ Hides DEY
| |
| SBC #1
| |
| BMI @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| TYA
| |
| PHA
| |
| LDY #9
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #9
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 65 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #8
| |
| @X:
| |
| PHA
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #8
| |
| @Y:
| |
| PHA
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| LDY #12
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| LDX #12
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDY #11
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDX #11
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| SEC
| |
| LDA #12
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #11
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #11
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #9
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #4
| |
| @A:
| |
| PHP
| |
| PLP
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 66 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #13
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #13
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #137
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP
| |
| SBC #1
| |
| BMI @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #9
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| LDY #11
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| LDX #11
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X, and S
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDY #8
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDX #8
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #8
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #8
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 67 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #6
| |
| @Y:
| |
| PHA
| |
| PHA
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #6
| |
| @X:
| |
| PHA
| |
| PHA
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, S, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #6
| |
| @Y:
| |
| NOP
| |
| NOP
| |
| NOP
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #6
| |
| @X:
| |
| NOP
| |
| NOP
| |
| NOP
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #8
| |
| @A:
| |
| PHA
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>TYA
| |
| PHA
| |
| LDY #11
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| LDX #11
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| LDY #11
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| SEC
| |
| LDA #11
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| SEC
| |
| LDA #11
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #10
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 68 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDX #13
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDY #13
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDX #12
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDY #12
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #13
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>TXA
| |
| PHA
| |
| LDX #8
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X
| |
| PLA
| |
| TAX</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| SEC
| |
| LDA #11
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| SEC
| |
| LDA #11
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers S, Z&N, and C
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| SEC
| |
| LDA #8
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| SEC
| |
| LDA #8
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| TXA
| |
| PHA
| |
| LDX #7
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X
| |
| PLA
| |
| TAX
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #7
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 69 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDX #13
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDY #13
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| |
| LDX #13
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers A, X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| |
| LDY #13
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers A, Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>BIT $00
| |
| LDX #13
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, Z&N, and V
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>BIT $00
| |
| LDY #13
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, Z&N, and V
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>STA @zptemp
| |
| LDX #13
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>STA @zptemp
| |
| LDY #13
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N; and requires @zptemp
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| |
| LDY #13
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| |
| LDX #13
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JMP *+3
| |
| LDX #13
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JMP *+3
| |
| LDY #13
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #137
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP
| |
| SBC #1
| |
| BMI @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHP
| |
| LDX #11
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHP
| |
| LDY #11
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #6
| |
| @A:
| |
| PHA
| |
| PHA
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| |
| SEC
| |
| LDA #137
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP
| |
| SBC #1
| |
| BMI @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| TYA
| |
| PHA
| |
| LDY #11
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| PHP
| |
| LDY #11
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| PHP
| |
| LDX #11
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| TXA
| |
| PHA
| |
| LDX #10
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLA
| |
| TAX
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| SEC
| |
| LDA #11
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #10
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 70 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| LDX #13
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers A, X, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| LDY #13
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers A, Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| LDY #13
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| LDX #13
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDY #12
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDX #12
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| SEC
| |
| LDA #13
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #12
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #12
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #10
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| LDA $00
| |
| SEC
| |
| LDA #10
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 71 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #14
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #14
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDX #9
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDY #9
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #13
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| |
| SEC
| |
| LDA #13
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| TYA
| |
| PHA
| |
| LDY #11
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #136
| |
| @A = * - 1
| |
| ; ^ Hides DEY
| |
| SBC #1
| |
| BMI @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 72 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| LDX #13
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| LDY #13
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| LDX #13
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| LDY #13
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| SEC
| |
| LDA #13
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>TYA
| |
| PHA
| |
| LDY #12
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDX #8
| |
| @X:
| |
| BIT $00
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDY #8
| |
| @Y:
| |
| BIT $00
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| SEC
| |
| LDA #12
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| SEC
| |
| LDA #12
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #11
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 73 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDX #14
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDY #14
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDX #13
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDY #13
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #14
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #137
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP
| |
| SBC #1
| |
| BMI @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A; and requires support for unofficial opcodes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #137
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP
| |
| SBC #1
| |
| BMI @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #9
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #9
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #8
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 74 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDY #14
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDX #14
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| |
| LDY #14
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers A, Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| |
| LDX #14
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers A, X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>BIT $00
| |
| LDY #14
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, Z&N, and V
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>BIT $00
| |
| LDX #14
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, Z&N, and V
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>STA @zptemp
| |
| LDY #14
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N; and requires @zptemp
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>STA @zptemp
| |
| LDX #14
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| |
| LDY #14
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| |
| LDX #14
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JMP *+3
| |
| LDX #14
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JMP *+3
| |
| LDY #14
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| LDY #9
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| LDX #9
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PLA
| |
| SEC
| |
| LDA #13
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| TYA
| |
| PHA
| |
| LDY #12
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDX #6
| |
| @X:
| |
| NOP
| |
| NOP
| |
| NOP
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDY #6
| |
| @Y:
| |
| NOP
| |
| NOP
| |
| NOP
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| TYA
| |
| PHA
| |
| LDY #11
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| SEC
| |
| LDA #12
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #11
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 75 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| LDX #14
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers A, X, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| LDY #14
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers A, Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| LDY #14
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| LDX #14
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDY #13
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDX #13
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| SEC
| |
| LDA #14
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #13
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #13
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| TXA
| |
| PHA
| |
| LDX #8
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X
| |
| PLA
| |
| TAX
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #11
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #8
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 76 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #15
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #15
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| LDX #13
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| LDY #13
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #14
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| BIT $00
| |
| LDY #13
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| BIT $00
| |
| LDX #13
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| |
| SEC
| |
| LDA #14
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| TYA
| |
| PHA
| |
| LDY #12
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| SEC
| |
| LDA #137
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP
| |
| SBC #1
| |
| BMI @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A, and S; and requires support for unofficial opcodes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| SEC
| |
| LDA #137
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP
| |
| SBC #1
| |
| BMI @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers S, Z&N, and C; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>TYA
| |
| PHA
| |
| LDY #8
| |
| @Y:
| |
| LDA $00
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| SEC
| |
| LDA #9
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| SEC
| |
| LDA #9
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers S, Z&N, and C
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| |
| PHP
| |
| SEC
| |
| LDA #137
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP
| |
| SBC #1
| |
| BMI @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A; and requires support for unofficial opcodes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| |
| PHA
| |
| SEC
| |
| LDA #137
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP
| |
| SBC #1
| |
| BMI @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| TYA
| |
| PHA
| |
| LDY #11
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #6
| |
| @A:
| |
| NOP
| |
| NOP
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #11
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 77 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| LDY #14
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| LDX #14
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, S, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| LDX #14
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| LDY #14
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| SEC
| |
| LDA #14
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>TYA
| |
| PHA
| |
| LDY #13
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| LDY #13
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| LDX #13
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| SEC
| |
| LDA #13
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| SEC
| |
| LDA #13
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #12
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 78 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #11
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #11
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDY #14
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDX #14
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #15
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| SEC
| |
| LDA #13
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| SEC
| |
| LDA #13
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers S, Z&N, and C
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDA $00
| |
| SEC
| |
| LDA #13
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDA $00
| |
| SEC
| |
| LDA #13
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PLP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #136
| |
| @A = * - 1
| |
| ; ^ Hides DEY
| |
| SBC #1
| |
| BMI @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 79 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDY #15
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDX #15
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| |
| LDY #15
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers A, Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| |
| LDX #15
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers A, X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>BIT $00
| |
| LDY #15
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, Z&N, and V
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>BIT $00
| |
| LDX #15
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, Z&N, and V
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>STA @zptemp
| |
| LDY #15
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N; and requires @zptemp
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>STA @zptemp
| |
| LDX #15
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| |
| LDY #15
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| |
| LDX #15
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JMP *+3
| |
| LDY #15
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JMP *+3
| |
| LDX #15
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHP
| |
| LDX #13
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHP
| |
| LDY #13
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PLA
| |
| SEC
| |
| LDA #14
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| TYA
| |
| PHA
| |
| LDY #13
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| PHP
| |
| LDY #13
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| PHP
| |
| LDX #13
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| TYA
| |
| PHA
| |
| LDY #12
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| SEC
| |
| LDA #13
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #12
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 80 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| LDY #15
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers A, Y, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| LDX #15
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers A, X, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDY #11
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDX #11
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDY #14
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDX #14
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #11
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #14
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #14
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #137
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP
| |
| SBC #1
| |
| BMI @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #9
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 81 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #16
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #16
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| LDY #14
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| LDX #14
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #15
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| BIT $00
| |
| LDY #14
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| BIT $00
| |
| LDX #14
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| |
| SEC
| |
| LDA #15
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| TYA
| |
| PHA
| |
| LDY #13
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| TYA
| |
| PHA
| |
| LDY #13
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHP
| |
| SEC
| |
| LDA #13
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHA
| |
| SEC
| |
| LDA #13
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers S, Z&N, and C
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| TYA
| |
| PHA
| |
| LDY #12
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| PHP
| |
| SEC
| |
| LDA #13
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #12
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 82 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #9
| |
| @Y:
| |
| PLA
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers A, Y, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #9
| |
| @X:
| |
| PLA
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers A, X, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #9
| |
| @Y:
| |
| NOP
| |
| NOP
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #9
| |
| @X:
| |
| NOP
| |
| NOP
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| SEC
| |
| LDA #15
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>TYA
| |
| PHA
| |
| LDY #14
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| LDX #14
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| LDY #14
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| SEC
| |
| LDA #14
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| SEC
| |
| LDA #14
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #13
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 83 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDX #16
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDY #16
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDX #15
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDY #15
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #16
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| SEC
| |
| LDA #14
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| SEC
| |
| LDA #14
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers S, Z&N, and C
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDA $00
| |
| SEC
| |
| LDA #14
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDA $00
| |
| SEC
| |
| LDA #14
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #137
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP
| |
| SBC #1
| |
| BMI @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| TYA
| |
| PHA
| |
| LDY #8
| |
| @Y:
| |
| LDA $00
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #9
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #137
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP
| |
| SBC #1
| |
| BMI @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|14 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #6
| |
| @A:
| |
| NOP
| |
| NOP
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 84 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDX #16
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDY #16
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| |
| LDX #16
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers A, X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| |
| LDY #16
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers A, Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>BIT $00
| |
| LDY #16
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, Z&N, and V
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>BIT $00
| |
| LDX #16
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, Z&N, and V
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>STA @zptemp
| |
| LDX #16
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>STA @zptemp
| |
| LDY #16
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N; and requires @zptemp
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| |
| LDY #16
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP $00
| |
| LDX #16
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #137
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP $EA,X ;hides 'NOP'
| |
| SBC #1
| |
| BMI @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JMP *+3
| |
| LDX #16
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>JMP *+3
| |
| LDY #16
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #9
| |
| @A:
| |
| NOP
| |
| NOP
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHP
| |
| LDX #14
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHP
| |
| LDY #14
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y, and S
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| TYA
| |
| PHA
| |
| LDY #14
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| PHP
| |
| LDY #14
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| PHP
| |
| LDX #14
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| TYA
| |
| PHA
| |
| LDY #13
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| SEC
| |
| LDA #14
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #13
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 85 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #12
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #12
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDY #11
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDX #11
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| SEC
| |
| LDA #16
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #15
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #15
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #13
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| LDA $00
| |
| SEC
| |
| LDA #13
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 86 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #17
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #17
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| LDY #15
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| LDX #15
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #16
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| SEC
| |
| LDA #137
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP $EA,X ;hides 'NOP'
| |
| SBC #1
| |
| BMI @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| BIT $00
| |
| LDX #15
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| BIT $00
| |
| LDY #15
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| |
| SEC
| |
| LDA #16
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| TYA
| |
| PHA
| |
| LDY #14
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| TYA
| |
| PHA
| |
| LDY #14
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHP
| |
| SEC
| |
| LDA #14
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHA
| |
| SEC
| |
| LDA #14
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers S, Z&N, and C
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| TYA
| |
| PHA
| |
| LDY #13
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| PHP
| |
| SEC
| |
| LDA #14
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #13
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 87 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDX #12
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDY #12
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #12
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>TYA
| |
| PHA
| |
| LDY #15
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDY #11
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDX #11
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #11
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #11
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #14
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 88 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDY #17
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDX #17
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDY #16
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDX #16
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #17
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| SEC
| |
| LDA #15
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| SEC
| |
| LDA #15
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers S, Z&N, and C
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDA $00
| |
| SEC
| |
| LDA #15
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDA $00
| |
| SEC
| |
| LDA #15
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHA
| |
| TYA
| |
| PHA
| |
| LDY #13
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #13
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |-
| |
| !colspan="2"|14 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #13
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 89 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #11
| |
| @X:
| |
| PHA
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #11
| |
| @Y:
| |
| PHA
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #11
| |
| @X:
| |
| LDA $00
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers A, X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #11
| |
| @Y:
| |
| LDA $00
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers A, Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #11
| |
| @X:
| |
| BIT $00
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, Z&N, and V
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #11
| |
| @Y:
| |
| BIT $00
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, Z&N, and V
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #11
| |
| @Y:
| |
| STA @zptemp
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N; and requires @zptemp
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #11
| |
| @X:
| |
| STA @zptemp
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N; and requires @zptemp
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #11
| |
| @Y:
| |
| NOP $00
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #11
| |
| @X:
| |
| NOP $00
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #11
| |
| @X:
| |
| JMP *+3
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #11
| |
| @Y:
| |
| JMP *+3
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDY #9
| |
| @Y:
| |
| NOP
| |
| NOP
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDX #9
| |
| @X:
| |
| NOP
| |
| NOP
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| SEC
| |
| LDA #12
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>TXA
| |
| PHA
| |
| LDX #11
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X
| |
| PLA
| |
| TAX</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| TYA
| |
| PHA
| |
| LDY #14
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| SEC
| |
| LDA #11
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #14
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 90 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| LDX #17
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers A, X, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| LDY #17
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers A, Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| LDX #17
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| LDY #17
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDY #16
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDX #16
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| SEC
| |
| LDA #17
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #16
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #16
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #14
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| LDA $00
| |
| SEC
| |
| LDA #14
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 91 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #18
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #18
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #137
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP $48 ;hides 'PHA'
| |
| SBC #1
| |
| BMI @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| LDX #16
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| LDY #16
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #11
| |
| @A:
| |
| PHA
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| BIT $00
| |
| LDX #16
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| BIT $00
| |
| LDY #16
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDA $00
| |
| SEC
| |
| LDA #17
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #137
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP $EA,X ;hides 'NOP'
| |
| SBC #1
| |
| BMI @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A; and requires support for unofficial opcodes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #137
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP $EA,X ;hides 'NOP'
| |
| SBC #1
| |
| BMI @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| TYA
| |
| PHA
| |
| LDY #15
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, S, and Z&N
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #9
| |
| @A:
| |
| NOP
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #9
| |
| @A:
| |
| NOP
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| TYA
| |
| PHA
| |
| LDY #14
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #14
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 92 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #13
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #13
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #137
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP $EA44 ;hides 'NOP zp'
| |
| SBC #1
| |
| BMI @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDX #12
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDY #12
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| SEC
| |
| LDA #17
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>TYA
| |
| PHA
| |
| LDY #16
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| SEC
| |
| LDA #16
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| SEC
| |
| LDA #16
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #15
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 93 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDX #18
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDY #18
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDX #17
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDY #17
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #18
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| SEC
| |
| LDA #16
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| SEC
| |
| LDA #16
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers S, Z&N, and C
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| SEC
| |
| LDA #137
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP $EA,X ;hides 'NOP'
| |
| SBC #1
| |
| BMI @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A; and requires support for unofficial opcodes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| SEC
| |
| LDA #137
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP $EA,X ;hides 'NOP'
| |
| SBC #1
| |
| BMI @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDA $00
| |
| SEC
| |
| LDA #16
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDA $00
| |
| SEC
| |
| LDA #16
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHA
| |
| TYA
| |
| PHA
| |
| LDY #14
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #14
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |-
| |
| !colspan="2"|14 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| NOP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #14
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 94 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDX #18
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDY #18
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDX #13
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDY #13
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #13
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDY #12
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDX #12
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #12
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #12
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| TYA
| |
| PHA
| |
| LDY #15
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #11
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 95 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| LDX #18
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers A, X, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| LDY #18
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers A, Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| LDY #18
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| LDX #18
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDY #17
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDX #17
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| SEC
| |
| LDA #18
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #17
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #17
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #15
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| LDA $00
| |
| SEC
| |
| LDA #15
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 96 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|5 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #19
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #19
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| LDY #17
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| LDX #17
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #18
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDY #11
| |
| @Y:
| |
| BIT $00
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDX #11
| |
| @X:
| |
| BIT $00
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| SEC
| |
| LDA #13
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>TYA
| |
| PHA
| |
| LDY #12
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| SEC
| |
| LDA #12
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| SEC
| |
| LDA #12
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| TXA
| |
| PHA
| |
| LDX #11
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X
| |
| PLA
| |
| TAX
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #11
| |
| @A:
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 97 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #12
| |
| @X:
| |
| PHA
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #12
| |
| @Y:
| |
| PHA
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #8
| |
| @X:
| |
| PHP
| |
| PLP
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #8
| |
| @Y:
| |
| PHP
| |
| PLP
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PLA
| |
| SEC
| |
| LDA #18
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>TYA
| |
| PHA
| |
| LDY #17
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| LDY #17
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| LDX #17
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| SEC
| |
| LDA #17
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHA
| |
| SEC
| |
| LDA #17
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #16
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 98 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDY #19
| |
| @Y:
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| LDX #19
| |
| @X:
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDY #18
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDX #18
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #19
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| SEC
| |
| LDA #17
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A, and S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHA
| |
| SEC
| |
| LDA #17
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers S, Z&N, and C
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #11
| |
| @A:
| |
| BIT $00
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| LDA $00
| |
| SEC
| |
| LDA #17
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #137
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP $EA,X ;hides 'NOP'
| |
| SBC #1
| |
| BMI @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| SEC
| |
| LDA #9
| |
| @A:
| |
| NOP
| |
| NOP
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 99 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #14
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #14
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDX #13
| |
| @X:
| |
| NOP
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| LDY #13
| |
| @Y:
| |
| NOP
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #12
| |
| @A:
| |
| PHA
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, S, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #8
| |
| @A:
| |
| PHP
| |
| PLP
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #137
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP $EA44 ;hides 'NOP zp'
| |
| SBC #1
| |
| BMI @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A; and requires support for unofficial opcodes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #137
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP $EA44 ;hides 'NOP zp'
| |
| SBC #1
| |
| BMI @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|10 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| TYA
| |
| PHA
| |
| LDY #17
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY</nowiki></pre> || style="padding:2px" | Clobbers A, and Z&N
| |
| |-
| |
| !colspan="2"|11 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| TYA
| |
| PHA
| |
| LDY #16
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLA
| |
| TAY
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| NOP
| |
| PHP
| |
| SEC
| |
| LDA #17
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #16
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
| | |
| | |
| === 100 cycles ===
| |
| {| class="wikitable"
| |
| !colspan="2"|6 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #11
| |
| @Y:
| |
| PLA
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers A, Y, S, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #11
| |
| @X:
| |
| PLA
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers A, X, S, and Z&N
| |
| |-
| |
| !colspan="2"|7 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDX #11
| |
| @X:
| |
| NOP
| |
| NOP
| |
| DEX
| |
| BNE @X</nowiki></pre> || style="padding:2px" | Clobbers X, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>LDY #11
| |
| @Y:
| |
| NOP
| |
| NOP
| |
| DEY
| |
| BNE @Y</nowiki></pre> || style="padding:2px" | Clobbers Y, and Z&N
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>SEC
| |
| LDA #137
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP $EAEA ;hides two 'NOP's
| |
| SBC #1
| |
| BMI @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C; and requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|8 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDY #18
| |
| @Y:
| |
| DEY
| |
| BNE @Y
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers Y
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| LDX #18
| |
| @X:
| |
| DEX
| |
| BNE @X
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers X
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| SEC
| |
| LDA #19
| |
| @A:
| |
| SBC #1
| |
| BNE @A</nowiki></pre> || style="padding:2px" | Clobbers A, Z&N, and C
| |
| |-
| |
| !colspan="2"|9 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| SEC
| |
| LDA #18
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers A
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| SEC
| |
| LDA #18
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA</nowiki></pre> || style="padding:2px" | Clobbers Z&N, and C
| |
| |-
| |
| !colspan="2"|12 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHA
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #16
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers S
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>NOP
| |
| PHP
| |
| PHA
| |
| SEC
| |
| LDA #137
| |
| @A = * - 1
| |
| ; ^ Hides !NOP #imm
| |
| NOP $EA,X ;hides 'NOP'
| |
| SBC #1
| |
| BMI @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Requires support for unofficial opcodes
| |
| |-
| |
| !colspan="2"|13 bytes
| |
| |-
| |
| | style="padding:2px" |<pre style="margin:2px;padding:3px"><nowiki>PHP
| |
| PHA
| |
| LDA $00
| |
| SEC
| |
| LDA #16
| |
| @A:
| |
| SBC #1
| |
| BNE @A
| |
| PLA
| |
| PLP</nowiki></pre> || style="padding:2px" | Clobbers nothing, requires nothing
| |
| |-
| |
| |}
| |
|
| |
|
| == More ==
| | * [[Cycle counting]] |
| Bisqwit's 6502 delay_n macro set for ca65: http://bisqwit.iki.fi/src/6502-inline_delay.7z
| | * [[Delay code]] for functions that produce runtime-determined amount of delay |
| | * Bisqwit’s “vending machine” for producing a ca65-compatible delay_n macro for arbitrary number of cycles, with more fine-grained configurable constraints: http://bisqwit.iki.fi/utils/nesdelay.php The samples on this page are excerpts from files generated by this online tool. |