Path: news1.icaen!news.uiowa.edu!chi-news.cic.net!math.ohio-state.edu!howland.erols.net!newsxfer.itd.umich.edu!uunet!in1.uu.net!128.250.1.21!munnari.OZ.AU!metro!metro!news.uow.edu.au!news.uow.edu.au!not-for-mail
From: david@wraith.cs.uow.edu.au (David E A Wilson)
Newsgroups: comp.sys.apple2.programmer
Subject: Re: Apple IIGS Programming Manual or Docs?
Date: 14 Mar 1997 12:00:13 +1100
Organization: University of Wollongong, NSW, Australia.
Lines: 141
Message-ID: <5ga7ut$3je$1@wraith.cs.uow.edu.au>
References: <19970301023601.VAA14010@ladder02.news.aol.com>
NNTP-Posting-Host: wraith.cs.uow.edu.au
X-Newsreader: NN version 6.5.0 #10
Brad Buchner writes:
>Dark_Dude writes:
>
>>I have a list of opcodes for the 65816, written by Eric Shepherd. If someone
>>would like to see the list, I could post it as a message here (I suppose).
>>Anyone interested?
>>
>> -= Doede =-
>
>I would like to see the list.
>
>BradBuchner@delphi.com
Here is the table I used in my 65816 disassembler (reformatted)
00 "brk" "ora" "cop" "ora" "tsb" "ora" "asl" "ora"
Imm (ZP,x) Imm SRel ZP ZP ZP [ZP]
08 "php" "ora" "asl" "phd" "tsb" "ora" "asl" "ora"
Imp ImmAcc Acc Imp Abs Abs Abs LAbs
10 "bpl" "ora" "ora" "ora" "trb" "ora" "asl" "ora"
Rel (ZP),y (ZP) (SRel) ZP ZP,x ZP,x [ZP],y
18 "clc" "ora" "inc" "tcs" "trb" "ora" "asl" "ora"
Imp Abs,y Acc Imp Abs Abs,x Abs,x LAbs,x
20 "jsr" "and" "jsl" "and" "bit" "and" "rol" "and"
Abs (ZP,x) LAbs SRel ZP ZP ZP [ZP]
28 "plp" "and" "rol" "pld" "bit" "and" "rol" "and"
Imp ImmAcc Acc Imp Abs Abs Abs LAbs
30 "bmi" "and" "and" "and" "bit" "and" "rol" "and"
Rel (ZP),y (ZP) (SRel) ZP,x ZP,x ZP,x [ZP],y
38 "sec" "and" "dec" "tsc" "bit" "and" "rol" "and"
Imp Abs,y Acc Imp Abs,x Abs,x Abs,x LAbs,x
40 "rti" "eor" "wdm" "eor" "mvp" "eor" "lsr" "eor"
Imp (ZP,x) Imp SRel Bnk,Bnk ZP ZP [ZP]
48 "pha" "eor" "lsr" "phk" "jmp" "eor" "lsr" "eor"
Imp ImmAcc Acc Imp Abs Abs Abs LAbs
50 "bvc" "eor" "eor" "eor" "mvn" "eor" "lsr" "eor"
Rel (ZP),y (ZP) (SRel) Bnk,Bnk ZP,x ZP,x [ZP],y
58 "cli" "eor" "phy" "tcd" "jmp" "eor" "lsr" "eor"
Imp Abs,y Imp Imp LAbs Abs,x Abs,x LAbs,x
60 "rts" "adc" "per" "adc" "stz" "adc" "ror" "adc"
Imp (ZP,x) LRel SRel ZP ZP ZP [ZP]
68 "pla" "adc" "ror" "rtl" "jmp" "adc" "ror" "adc"
Imp ImmAcc Acc Imp (Abs) Abs Abs LAbs
70 "bvs" "adc" "adc" "adc" "stz" "adc" "ror" "adc"
Rel (ZP),y (ZP) (SRel) ZP,x ZP,x ZP,x [ZP],y
78 "sei" "adc" "ply" "tdc" "jmp" "adc" "ror" "adc"
Imp Abs,y Imp Imp (Abs,x) Abs,x Abs,x LAbs,x
80 "bra" "sta" "brl" "sta" "sty" "sta" "stx" "sta"
Rel (ZP,x) LRel SRel ZP ZP ZP [ZP]
88 "dey" "bit" "txa" "phb" "sty" "sta" "stx" "sta"
Imp ImmAcc Imp Imp Abs Abs Abs LAbs
90 "bcc" "sta" "sta" "sta" "sty" "sta" "stx" "sta"
Rel (ZP),y (ZP) (SRel) ZP,x ZP,x ZP,y [ZP],y
98 "tya" "sta" "txs" "txy" "stz" "sta" "stz" "sta"
Imp Abs,y Imp Imp Abs Abs,x Abs,x LAbs,x
A0 "ldy" "lda" "ldx" "lda" "ldy" "lda" "ldx" "lda"
ImmIdx (ZP,x) ImmIdx SRel ZP ZP ZP [ZP]
A8 "tay" "lda" "tax" "plb" "ldy" "lda" "ldx" "lda"
Imp ImmAcc Imp Imp Abs Abs Abs LAbs
B0 "bcs" "lda" "lda" "lda" "ldy" "lda" "ldx" "lda"
Rel (ZP),y (ZP) (SRel) ZP,x ZP,x ZP,y [ZP],y
B8 "clv" "lda" "tsx" "tyx" "ldy" "lda" "ldx" "lda"
Imp Abs,y Imp Imp Abs,x Abs,x Abs,y LAbs,x
C0 "cpy" "cmp" "rep" "cmp" "cpy" "cmp" "dec" "cmp"
ImmIdx (ZP,x) Imm SRel ZP ZP ZP [ZP]
C8 "iny" "cmp" "dex" "wai" "cpy" "cmp" "dec" "cmp"
Imp ImmAcc Imp Imp Abs Abs Abs LAbs
D0 "bne" "cmp" "cmp" "cmp" "pei" "cmp" "dec" "cmp"
Rel (ZP),y (ZP) (SRel) (ZP) ZP,x ZP,x [ZP],y
D8 "cld" "cmp" "phx" "stp" "jml" "cmp" "dec" "cmp"
Imp Abs,y Imp Imp (Abs) Abs,x Abs,x LAbs,x
E0 "cpx" "sbc" "sep" "sbc" "cpx" "sbc" "inc" "sbc"
ImmIdx (ZP,x) Imm SRel ZP ZP ZP [ZP]
E8 "inx" "sbc" "nop" "xba" "cpx" "sbc" "inc" "sbc"
Imp ImmAcc Imp Imp Abs Abs Abs LAbs
F0 "beq" "sbc" "sbc" "sbc" "pea" "sbc" "inc" "sbc"
Rel (ZP),y (ZP) (SRel) Abs ZP,x ZP,x [ZP],y
F8 "sed" "sbc" "plx" "xce" "jsr" "sbc" "inc" "sbc"
Imp Abs,y Imp Imp (Abs,x) Abs,x Abs,x LAbs,x
Imp Implied by instruction (eg INX)
Imm one byte immediate value
ImmAcc one or two byte immediate value depending on M flag
ImmIdx one or two byte immediate value depending on X flag
Acc Accumulator (eg ROL A (or just ROL in some assemblers))
ZP Zero Page
ZP,x Zero Page with x index
ZP,y Zero Page with y index
(ZP) Zero Page Indirect
(ZP,x) ZP indexed indirect
(ZP),y ZP indirect indexed
Abs Absolute
Abs,x Absolute with x index
Abs,y Absolute with y index
(ABS) Absolute indirect
(Abs,x) Absolute indexed indirect
Rel Relative (branches)
LRel Long Relative
[ZP] like (ZP) only with 3 byte address in zero page
[ZP],y like (ZP),y only with 3 byte address in zero page
LAbs Long Absolute
LAbs,x Long Absolute with x index
SRel Stack relative
(SRel) Stack relative indirect
Bnk,Bnk Src and Dest banks
Hope this is of use.
--
David Wilson Dept CompSci Uni Wollongong Australia david@cs.uow.edu.au