amended docs on illegals

git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@204 4df02467-bbd4-4a76-a152-e7ce94205b78
This commit is contained in:
marcobaye 2020-05-31 13:04:21 +00:00
parent 47b1fab4fe
commit 64a29e4504

View File

@ -23,9 +23,9 @@ opcodes (mnemonics in parentheses are used by other sources):
mnemonic | 8 8,x 8,y 16 16,x 16,y (8,x) (8),y | performs:
----------------+--------------------------------------+-----------
slo (aso) | 07 17 0f 1f 1b 03 13 | asl + ora
rla | 27 37 2f 3f 3b 23 33 | rol + and
rla (rln) | 27 37 2f 3f 3b 23 33 | rol + and
sre (lse) | 47 57 4f 5f 5b 43 53 | lsr + eor
rra | 67 77 6f 7f 7b 63 73 | ror + adc
rra (rrd) | 67 77 6f 7f 7b 63 73 | ror + adc
sax (axs, aax) | 87 97 8f 83 | stx + sta
lax | a7 b7 af bf a3 b3 | ldx + lda
dcp (dcm) | c7 d7 cf df db c3 d3 | dec + cmp
@ -40,7 +40,7 @@ These five are said to be unstable:
| addressing mode |
mnemonic | implied #8 8 8,x 16 16,x | performs:
----------------+---------------------------------+-----------------------
anc | 0b* | A = A & arg, then C=N
anc (ana, anb) | 0b* | A = A & arg, then C=N
asr (alr) | 4b | A = A & arg, then lsr
arr | 6b | A = A & arg, then ror
sbx (axs, sax) | cb | X = (A & X) - arg
@ -48,7 +48,7 @@ These five are said to be unstable:
top (nop, skw) | 0c** 0c 1c | skips next two bytes
jam (kil, hlt) | 02 | crash (wait for reset)
These two are somewhat unstable, because they involve an arbitrary value:
ane (xaa) | 8b*** | A = (A | ??) & X & arg
ane (xaa, axm) | 8b*** | A = (A | ??) & X & arg
lxa (lax, atx) | ab*** | A,X = (A | ??) & arg
Example:
@ -133,4 +133,7 @@ For more information about what these opcodes do, see these documents:
Extra Instructions Of The 65XX Series CPU, Adam Vardy, 27 Sept. 1996
6502 Undocumented Opcodes, by Freddy Offenga, 5/17/1997
AAY64 (All About Your 64)
NMOS 6510 Unintended Opcodes
and the most comprehensive work is:
"No More Secrets - NMOS 6510 Unintended Opcodes"
Download it from https://csdb.dk/release/?id=185341
or ask google for the latest version.