Hi!
ACME enthält neuerdings Unterstützung für die zusätzlichen Befehle des DTV2: Nach "!cpu c64dtv2" kann man auch BRA/SAC/SIR verwenden. Da Version 2 des DTV angeblich auch die undokumentierten ("illegalen") Opcodes der 6502-CPU unterstützt, sind im DTV2-Modus auch diese freigeschaltet. Nun ist die Frage: Welche der Illegals unterstützt das DTV2 wirklich?
Dies sind die derzeit von ACME verwendeten Mnemonics und davon erzeugten Opcodes (die Mnemonics in Klammern werden von anderen Assemblern/Hilfstexten verwendet):
Code
- | Adressierungsart |
- Mnemonic | 8 8,x 8,y 16 16,x 16,y (8,x) (8),y | Effekt:
- ----------------+--------------------------------------+-----------
- slo (aso) | 07 17 0f 1f 1b 03 13 | asl + ora
- rla | 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
- 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
- isc (isb, ins) | e7 f7 ef ff fb e3 f3 | inc + sbc
- las (lar, lae) | bb | A,X,S = {addr} & S
- Diese gelten als instabil auf 6510/8500/8502:
- tas (shs, xas) | 9b | S = A & X {addr} = A&X& {H+1}
- sha (axa, ahx) | 9f 93 | {addr} = A & X & {H+1}
- shx (xas, sxa) | 9e | {addr} = X & {H+1}
- shy (say, sya) | 9c | {addr} = Y & {H+1}
- | Adressierungsart |
- Mnemonic |implizit #8 8 8,x 16 16,x | Effekt:
- ----------------+---------------------------------+-----------------------
- anc | 0b | A = A & arg, dann C=N
- asr (alr) | 4b | A = A & arg, dann lsr
- arr | 6b | A = A & arg, dann ror
- sbx (axs, sax) | cb | X = (A & X) - arg
- dop (nop, skb) | 80 04 14 | überspringt ein Byte (Doppel-NOP)
- top (nop, skw) | 0c 1c | übersprint zwei Byte (Triple-NOP)
- jam (kil, hlt) | 02 | CPU-Aufhänger
- Diese beiden sind instabil bzw. temperaturabhängig:
- ane (xaa) | 8b | A = (A | ??) & X & arg
- lxa (lax, atx) | ab | A,X = (A | ??) & arg
Falls jemand handfeste Informationen bieten kann (in Ermangelung eines DTV2 kann ich es nicht selbst testen), würde ich mich über eine Rückmeldung freuen, um ggfs. bestimmte Mnemonics aus dem DTV2-Modus wieder entfernen zu können.