| |
Bitbreaker
Registered: Oct 2002 Posts: 508 |
Optimizing tricks
Hi folks,
I put together a few optimizing tricks for 6502, including a section about illegal opcodes. Anything else i could mention there? Especially the illegal opcode section could need some more examples and opcodes discussed i guess? Any mistakes?
http://www.codebase64.org/doku.php?id=base:advanced_optimizing
Bitbreaker |
|
... 15 posts hidden. Click here to view all posts.... |
| |
Bitbreaker
Registered: Oct 2002 Posts: 508 |
Added the new examples, thanks for that!
the dcp could then also be used like:
-
...some code
lda #end
dcp counter
bne -
instead of
-
...some code
dec counter
lda counter
cmp #end (of course silly if this would be #$00)
bne -
|
| |
Testa Account closed
Registered: Oct 2004 Posts: 197 |
thanks for sharing at codebase... i learned a few new tricks!, always interesting how creative you can be with legal and illigal opcodes..
|
| |
Peiselulli
Registered: Oct 2006 Posts: 81 |
Perhaps too simple, but
cmp #$80
ror
for doing a arithmetic shift right.
|
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Quote: Perhaps too simple, but
cmp #$80
ror
for doing a arithmetic shift right.
Yay, my favorite! :) |
| |
Bitbreaker
Registered: Oct 2002 Posts: 508 |
i added the arithemtic shift right to the maths section some time ago ;-) can also be combined with the illegal opcode anc instead of cmp to force carry to be always clear afterwards. |
| |
tlr
Registered: Sep 2003 Posts: 1790 |
Perhaps this?
lda ptr
cmp eptr
lda ptr+1
sbc eptr+1
lda ptr+2
sbc eptr+2
bcc ptr_lt_eptr
ptr_ge_eptr:
|
| |
Peiselulli
Registered: Oct 2006 Posts: 81 |
I have also often used the following:
lsr
asr #3*2
instead of
lsr
lsr
and #3
|
| |
Bitbreaker
Registered: Oct 2002 Posts: 508 |
@Peiselulli:
ah, short but nice. I guess i'll spend a subsection for shifting tricks then, and include also the arithmetic right shift in there.
@tlr:
Where's the trick? If it is about substituting a sbc by cmp to save a sec, that is handled already in the article :-) |
| |
tlr
Registered: Sep 2003 Posts: 1790 |
Quoting Bitbreaker@tlr:
Where's the trick? If it is about substituting a sbc by cmp to save a sec, that is handled already in the article :-) Yes, although I consider it more like using sbc's to extend a cmp.
I guess it is a bit to rudimentary to be called a trick, but it's useful nevertheless. :) |
| |
Bitbreaker
Registered: Oct 2002 Posts: 508 |
Okay, now added a section about shifting and by that mean also slipped into the subject of jumpcode (or how to name that?) |
Previous - 1 | 2 | 3 - Next |