|
|
1.1 root 1: % 0: bit 0
2: % 1: bit 1
3: % c: condition code
4: % C: condition codes, except F
5: % f: direction
6: % i: immediate
7: % I: immediate, except 0
8: % j: immediate 1..8
9: % J: immediate 0..15
10: % s: source mode
11: % S: source reg
12: % d: dest mode
13: % D: dest reg
14: % r: reg
15: % z: size
16: %
17: % Actually, a sssSSS may appear as a destination, and
18: % vice versa. The only difference between sssSSS and
19: % dddDDD are the valid addressing modes. There is
20: % no match for immediate and pc-rel. addressing modes
21: % in case of dddDDD.
22: %
23: % Arp: --> -(Ar)
24: % ArP: --> (Ar)+
25:
26: 0000 0000 0011 1100: ORSR.B #1
27: 0000 0000 0111 1100: ORSR.W #1
28: 0000 0000 zzdd dDDD: OR.z #z,d[!Areg]
29: 0000 0010 0011 1100: ANDSR.B #1
30: 0000 0010 0111 1100: ANDSR.W #1
31: 0000 0010 zzdd dDDD: AND.z #z,d[!Areg]
32: 0000 0100 zzdd dDDD: SUB.z #z,d[!Areg]
33: 0000 0110 zzdd dDDD: ADD.z #z,d[!Areg]
34: 0000 1000 00ss sSSS: BTST #1,s[!Areg,Immd]
35: 0000 1000 01ss sSSS: BCHG #1,s[!Areg,Immd]
36: 0000 1000 10ss sSSS: BCLR #1,s[!Areg,Immd]
37: 0000 1000 11ss sSSS: BSET #1,s[!Areg,Immd]
38: 0000 1010 0011 1100: EORSR.B #1
39: 0000 1010 0111 1100: EORSR.W #1
40: 0000 1010 zzdd dDDD: EOR.z #z,d[!Areg]
41: 0000 1100 zzdd dDDD: CMP.z #z,d[!Areg]
42:
43: %0000 1110 zzdd dDDD MOVES
44:
45:
46: % A64 uses these... weird.
47: %0000 rrr1 00dd dDDD: MOVEP.W d[Areg-Ad16],Dr
48: %0000 rrr1 01dd dDDD: MOVEP.L d[Areg-Ad16],Dr
49: %0000 rrr1 10dd dDDD: MOVEP.W Dr,d[Areg-Ad16]
50: %0000 rrr1 11dd dDDD: MOVEP.L Dr,d[Areg-Ad16]
51: 0000 rrr1 00dd dDDD: BTST Dr,d[!Areg]
52: 0000 rrr1 01dd dDDD: BCHG Dr,d[!Areg]
53: 0000 rrr1 10dd dDDD: BCLR Dr,d[!Areg]
54: 0000 rrr1 11dd dDDD: BSET Dr,d[!Areg]
55:
56: 0001 DDDd ddss sSSS: MOVE.B s,d[!Areg]
57: 0010 DDDd ddss sSSS: MOVEA.L s,d[Areg]
58: 0010 DDDd ddss sSSS: MOVE.L s,d[!Areg]
59: 0011 DDDd ddss sSSS: MOVEA.W s,d[Areg]
60: 0011 DDDd ddss sSSS: MOVE.W s,d[!Areg]
61:
62: 0100 0000 zzdd dDDD: NEGX.z d[!Areg]
63: 0100 0000 11dd dDDD: MVSR2.W d[!Areg]
64: 0100 0010 zzdd dDDD: CLR.z d[!Areg]
65: 0100 0010 11dd dDDD: MVSR2.B d[!Areg]
66: 0100 0100 zzdd dDDD: NEG.z d[!Areg]
67: 0100 0100 11ss sSSS: MV2SR.B s[!Areg]
68: 0100 0110 zzdd dDDD: NOT.z d[!Areg]
69: 0100 0110 11ss sSSS: MV2SR.W s[!Areg]
70: 0100 1000 00dd dDDD: NBCD.B d[!Areg]
71: 0100 1000 01ss sSSS: SWAP.L s[Dreg]
72: 0100 1000 01ss sSSS: PEA.L s[!Dreg,Areg,Immd]
73: 0100 1000 10dd dDDD: EXT.W d[Dreg]
74: 0100 1000 10dd dDDD: MVMLE.W d[!Dreg,Areg]
75: 0100 1000 11dd dDDD: EXT.L d[Dreg]
76: 0100 1000 11dd dDDD: MVMLE.L d[!Dreg,Areg]
77: 0100 1010 zzdd dDDD: TST.z d
78: %0100 1010 11dd dDDD: TAS
79: 0100 1100 10ss sSSS: MVMEL.W s[!Dreg,Areg,Immd]
80: 0100 1100 11ss sSSS: MVMEL.L s[!Dreg,Areg,Immd]
81: 0100 1110 0100 JJJJ: TRAP #J
82: 0100 1110 0101 0rrr: LINK.L Ar,#1
83: 0100 1110 0101 1rrr: UNLK.L Ar
84: 0100 1110 0110 0rrr: MVR2USP.L Ar
85: 0100 1110 0110 1rrr: MVUSP2R.L Ar
86: 0100 1110 0111 0000: RESET
87: 0100 1110 0111 0001: NOP
88: 0100 1110 0111 0010: STOP #1
89: 0100 1110 0111 0011: RTE
90: 0100 1110 0111 0100: RTD #1
91: 0100 1110 0111 0101: RTS
92: 0100 1110 0111 0110: TRAPV
93: 0100 1110 0111 0111: RTR
94: 0100 1110 10ss sSSS: JSR.L s[!Dreg,Areg,Immd]
95: 0100 1110 11ss sSSS: JMP.L s[!Dreg,Areg,Immd]
96: 0100 rrr1 11ss sSSS: LEA.L s[!Dreg,Areg,Immd],Ar
97:
98: 0101 jjj0 zzdd dDDD: ADDA.z #j,d[Areg]
99: 0101 jjj0 zzdd dDDD: ADD.z #j,d[!Areg]
100: 0101 jjj1 zzdd dDDD: SUBA.z #j,d[Areg]
101: 0101 jjj1 zzdd dDDD: SUB.z #j,d[!Areg]
102: 0101 cccc 1100 1rrr: DBcc.W Dr,#1
103: 0101 cccc 11dd dDDD: Scc.B d[!Areg]
104:
105: 0110 0001 0000 0000: BSR.W #1
106: 0110 0001 IIII IIII: BSR.B #i
107: 0110 CCCC 0000 0000: Bcc.W #1
108: 0110 CCCC IIII IIII: Bcc.B #i
109:
110: 0111 rrr0 iiii iiii: MOVE.L #i,Dr
111:
112: 1000 rrr0 zzss sSSS: OR.z s[!Areg],Dr
113: 1000 rrr0 11ss sSSS: DIVU.W s[!Areg],Dr
114: 1000 rrr1 00dd dDDD: SBCD.B d[Dreg],Dr
115: 1000 rrr1 00dd dDDD: SBCD.B d[Areg-Apdi],Arp
116: 1000 rrr1 00dd dDDD: OR.B Dr,d[!Areg,Dreg]
117: 1000 rrr1 01dd dDDD: OR.W Dr,d[!Areg,Dreg]
118: 1000 rrr1 10dd dDDD: OR.L Dr,d[!Areg,Dreg]
119: 1000 rrr1 11ss sSSS: DIVS.W s[!Areg],Dr
120:
121: 1001 rrr0 zzss sSSS: SUB.z s,Dr
122: 1001 rrr0 11ss sSSS: SUBA.W s,Ar
123: 1001 rrr1 zzdd dDDD: SUBX.z d[Dreg],Dr
124: 1001 rrr1 zzdd dDDD: SUBX.z d[Areg-Apdi],Arp
125: 1001 rrr1 zzdd dDDD: SUB.z Dr,d[!Areg,Dreg]
126: 1001 rrr1 11ss sSSS: SUBA.L s,Ar
127:
128: 1011 rrr0 zzss sSSS: CMP.z s,Dr
129: 1011 rrr0 11ss sSSS: CMPA.W s,Ar
130: 1011 rrr1 11ss sSSS: CMPA.L s,Ar
131: 1011 rrr1 zzdd dDDD: CMPM.z d[Areg-Aipi],ArP
132: 1011 rrr1 zzdd dDDD: EOR.z Dr,d[!Areg]
133:
134: 1100 rrr0 zzss sSSS: AND.z s[!Areg],Dr
135: 1100 rrr0 11ss sSSS: MULU.W s[!Areg],Dr
136: 1100 rrr1 00dd dDDD: ABCD.B d[Dreg],Dr
137: 1100 rrr1 00dd dDDD: ABCD.B d[Areg-Apdi],Arp
138: 1100 rrr1 00dd dDDD: AND.B Dr,d[!Areg,Dreg]
139: 1100 rrr1 01dd dDDD: EXG.L Dr,d[Dreg]
140: 1100 rrr1 01dd dDDD: EXG.L Ar,d[Areg]
141: 1100 rrr1 01dd dDDD: AND.W Dr,d[!Areg,Dreg]
142: 1100 rrr1 10dd dDDD: EXG.L Dr,d[Areg]
143: 1100 rrr1 10dd dDDD: AND.L Dr,d[!Areg,Dreg]
144: 1100 rrr1 11ss sSSS: MULS.W s[!Areg],Dr
145:
146: 1101 rrr0 zzss sSSS: ADD.z s,Dr
147: 1101 rrr0 11ss sSSS: ADDA.W s,Ar
148: 1101 rrr1 zzdd dDDD: ADDX.z d[Dreg],Dr
149: 1101 rrr1 zzdd dDDD: ADDX.z d[Areg-Apdi],Arp
150: 1101 rrr1 zzdd dDDD: ADD.z Dr,d[!Areg,Dreg]
151: 1101 rrr1 11ss sSSS: ADDA.L s,Ar
152:
153: 1110 jjjf zz00 0RRR: ASf.z #j,DR
154: 1110 jjjf zz00 1RRR: LSf.z #j,DR
155: 1110 jjjf zz01 0RRR: ROXf.z #j,DR
156: 1110 jjjf zz01 1RRR: ROf.z #j,DR
157: 1110 rrrf zz10 0RRR: ASf.z Dr,DR
158: 1110 rrrf zz10 1RRR: LSf.z Dr,DR
159: 1110 rrrf zz11 0RRR: ROXf.z Dr,DR
160: 1110 rrrf zz11 1RRR: ROf.z Dr,DR
161: 1110 000f 11dd dDDD: ASfW.W d[!Dreg,Areg,PC8r,PC16]
162: 1110 001f 11dd dDDD: LSfW.W d[!Dreg,Areg,PC8r,PC16]
163: 1110 010f 11dd dDDD: ROXfW.W d[!Dreg,Areg,PC8r,PC16]
164: 1110 011f 11dd dDDD: ROfW.W d[!Dreg,Areg,PC8r,PC16]
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.