mirror of
https://github.com/uffejakobsen/acme.git
synced 2025-11-23 06:19:47 +00:00
disabled all indexed addressing for m65's "quad" mode, except for LDQ.
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@287 4df02467-bbd4-4a76-a152-e7ce94205b78
This commit is contained in:
@@ -186,13 +186,13 @@ quad mode introduces several new mnemonics:
|
||||
INQ/DEQ like INC/DEC
|
||||
BITQ like BIT
|
||||
ASRQ like ASR
|
||||
The new mnemonics support all the addressing modes of the original
|
||||
mnemonics with these exceptions:
|
||||
The new mnemonics support most of the addressing modes of the
|
||||
original mnemonics with these exceptions:
|
||||
- there is no immediate addressing
|
||||
- indirect-Z-indexed addressing becomes indirect addressing
|
||||
- all other indexed addressing modes are only really useful
|
||||
- all other indexed addressing modes can only really be used
|
||||
with read-modify-write instructions or LDQ, because otherwise
|
||||
a part of the 'Q' value will be used as the index.
|
||||
a part of the 'Q' value would be used as the index.
|
||||
CAUTION: The STQ instruction clobbers the N and Z flags!
|
||||
There is no "real" Q register, instead A/X/Y/Z are combined to form
|
||||
the Q register (A holds lsb, Z holds msb), except for read-modify-
|
||||
|
||||
@@ -8,61 +8,61 @@ file), so this file only contains information about the extensions.
|
||||
|
||||
"quad mode" allows 32-bit data operations using a virtual register called 'Q'.
|
||||
The mnemonics aslq/lsrq/rolq/rorq/inq/deq have five addressing modes.
|
||||
The mnemonics ldq/stq have nine addressing modes in quad mode, and a tenth
|
||||
when combined with long mode.
|
||||
The mnemonics cpq/adcq/sbcq/andq/eorq/orq have eight addressing modes in quad
|
||||
mode, and a ninth when combined with long mode.
|
||||
The mnemonic bitq has four addressing modes.
|
||||
The mnemonic ldq has eight addressing modes in quad mode, and a ninth when
|
||||
combined with long mode.
|
||||
The mnemonics stq/cpq/adcq/sbcq/andq/eorq/orq have three addressing modes in
|
||||
quad mode, and a fourth when combined with long mode.
|
||||
The mnemonic bitq has two addressing modes.
|
||||
The mnemonic asrq has three addressing modes.
|
||||
This mode is entered after a NEG:NEG (42 42) prefix, the following opcode is
|
||||
then taken from this table:
|
||||
|
||||
00 01 orq (zp, x) 02 03
|
||||
00 01 02 03
|
||||
04 05 orq zp 06 aslq zp 07
|
||||
08 09 0a aslq 0b
|
||||
0c 0d orq abs16 0e aslq abs16 0f
|
||||
10 11 orq (zp), y 12 orq (zp) 13
|
||||
14 15 orq zp, x 16 aslq zp, x 17
|
||||
18 19 orq abs16, y 1a inq 1b
|
||||
1c 1d orq abs16, x 1e aslq abs16, x 1f
|
||||
10 11 12 orq (zp) 13
|
||||
14 15 16 aslq zp, x 17
|
||||
18 19 1a inq 1b
|
||||
1c 1d 1e aslq abs16, x 1f
|
||||
|
||||
20 21 andq (zp, x) 22 23
|
||||
20 21 22 23
|
||||
24 bitq zp 25 andq zp 26 rolq zp 27
|
||||
28 29 2a rolq 2b
|
||||
2c bitq abs16 2d andq abs16 2e rolq abs16 2f
|
||||
30 31 andq (zp), y 32 andq (zp) 33
|
||||
34 bitq zp, x 35 andq zp, x 36 rolq zp, x 37
|
||||
38 39 andq abs16, y 3a deq 3b
|
||||
3c bitq abs16, x 3d andq abs16, x 3e rolq abs16, x 3f
|
||||
30 31 32 andq (zp) 33
|
||||
34 35 36 rolq zp, x 37
|
||||
38 39 3a deq 3b
|
||||
3c 3d 3e rolq abs16, x 3f
|
||||
|
||||
40 41 eorq (zp, x) 42 43 asrq
|
||||
40 41 42 43 asrq
|
||||
44 asrq zp 45 eorq zp 46 lsrq zp 47
|
||||
48 49 4a lsrq 4b
|
||||
4c 4d eorq abs16 4e lsrq abs16 4f
|
||||
50 51 eorq (zp), y 52 eorq (zp) 53
|
||||
54 asrq zp, x 55 eorq zp, x 56 lsrq zp, x 57
|
||||
58 59 eorq abs16, y 5a 5b
|
||||
5c 5d eorq abs16, x 5e lsrq abs16, x 5f
|
||||
50 51 52 eorq (zp) 53
|
||||
54 asrq zp, x 55 56 lsrq zp, x 57
|
||||
58 59 5a 5b
|
||||
5c 5d 5e lsrq abs16, x 5f
|
||||
|
||||
60 61 adcq (zp, x) 62 63
|
||||
60 61 62 63
|
||||
64 65 adcq zp 66 rorq zp 67
|
||||
68 69 6a rorq 6b
|
||||
6c 6d adcq abs16 6e rorq abs16 6f
|
||||
70 71 adcq (zp), y 72 adcq (zp) 73
|
||||
74 75 adcq zp, x 76 rorq zp, x 77
|
||||
78 79 adcq abs16, y 7a 7b
|
||||
7c 7d adcq abs16, x 7e rorq abs16, x 7f
|
||||
70 71 72 adcq (zp) 73
|
||||
74 75 76 rorq zp, x 77
|
||||
78 79 7a 7b
|
||||
7c 7d 7e rorq abs16, x 7f
|
||||
|
||||
80 81 stq (zp, x) 82 stq (zp, s), y 83
|
||||
80 81 82 83
|
||||
84 85 stq zp 86 87
|
||||
88 89 8a 8b
|
||||
8c 8d stq abs16 8e 8f
|
||||
90 91 stq (zp), y 92 stq (zp) 93
|
||||
94 95 stq zp, x 96 97
|
||||
98 99 stq abs16, y 9a 9b
|
||||
9c 9d stq abs16, x 9e 9f
|
||||
90 91 92 stq (zp) 93
|
||||
94 95 96 97
|
||||
98 99 9a 9b
|
||||
9c 9d 9e 9f
|
||||
|
||||
a0 a1 ldq (zp, x) a2 a3
|
||||
a0 a1 a2 a3
|
||||
a4 a5 ldq zp a6 a7
|
||||
a8 a9 aa ab
|
||||
ac ad ldq abs16 ae af
|
||||
@@ -71,23 +71,23 @@ b4 b5 ldq zp, x b6 b7
|
||||
b8 b9 ldq abs16, y ba bb
|
||||
bc bd ldq abs16, x be bf
|
||||
|
||||
c0 c1 cpq (zp, x) c2 c3
|
||||
c0 c1 c2 c3
|
||||
c4 c5 cpq zp c6 deq zp c7
|
||||
c8 c9 ca cb
|
||||
cc cd cpq abs16 ce deq abs16 cf
|
||||
d0 d1 cpq (zp), y d2 cpq (zp) d3
|
||||
d4 d5 cpq zp, x d6 deq zp, x d7
|
||||
d8 d9 cpq abs16, y da db
|
||||
dc dd cpq abs16, x de deq abs16, x df
|
||||
d0 d1 d2 cpq (zp) d3
|
||||
d4 d5 d6 deq zp, x d7
|
||||
d8 d9 da db
|
||||
dc dd de deq abs16, x df
|
||||
|
||||
e0 e1 sbcq (zp, x) e2 ldq (zp, s), y e3
|
||||
e0 e1 e2 ldq (zp, s), y e3
|
||||
e4 e5 sbcq zp e6 inq zp e7
|
||||
e8 e9 ea eb
|
||||
ec ed sbcq abs16 ee inq abs16 ef
|
||||
f0 f1 sbcq (zp), y f2 sbcq (zp) f3
|
||||
f4 f5 sbcq zp, x f6 inq zp, x f7
|
||||
f8 f9 sbcq abs16, y fa fb
|
||||
fc fd sbcq abs16, x fe inq abs16, x ff
|
||||
f0 f1 f2 sbcq (zp) f3
|
||||
f4 f5 f6 inq zp, x f7
|
||||
f8 f9 fa fb
|
||||
fc fd fe inq abs16, x ff
|
||||
|
||||
zp: 8-bit zeropage address
|
||||
abs16: 16-bit absolute address
|
||||
|
||||
Reference in New Issue
Block a user