MC6809E/6809InstrBurgin

From The Dragon Archive
Revision as of 13:04, 21 August 2015 by Jedie (talk | contribs) (see also: http://archive.worldofdragon.org/phpBB3/viewtopic.php?f=5&t=5353)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Description Of The Motorola 6809 Instruction Set

#FILE: m6809.html
#REV: 1.1
#DATE: 01/06/95
#AUTHOR: Paul D. Burgin
#DISCLAIMER: All information provided as is etc.
#HISTORY: 1.0 30/01/94, 1.1 01/06/95
#XREF:
#SOURCE:
#COPYRIGHT: This information is copyrighted by Motorola Semiconductors Inc.

This file is intended to be a complete description of the 6809 instruction
set. Any additions, corrections and suggestions welcome.

Contents
========

[1]  Table Of 6809 Instructions
[2]  Indexed Addressing Post Byte Register Bit Assignments
[3]  Push/Pull Post Byte
[4]  Stacking Order
[5]  Transfer/Exchange Post Byte
[6]  Interrupt Vectors
[7]  Interrupt Functionality
[8]  Branch Instructions
[9]  References
[10] Acknowledgements

------------------------------------------------------------------------------

Subject: [1]  Table Of 6809 Instructions

 +-----------------------------------------------------------------+
 |                       Page 0 Instructions                       |
 +------------+-------------+--------------+---------------+-------+
 | Opcode     |             | Addressing   |               |       |
 | Hex   Dec  | Instruction | Mode         | Cycles  Bytes | HNZVC |
 +------------+-------------+--------------+-------+-------+-------+
 | 00    0000 | NEG         | DIRECT       |   6   |   2   | uaaaa |
 | 01    0001 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 02    0002 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 03    0003 | COM         | DIRECT       |   6   |   2   | -aa01 |
 | 04    0004 | LSR         | DIRECT       |   6   |   2   | -0a-s |
 | 05    0005 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 06    0006 | ROR         | DIRECT       |   6   |   2   | -aa-s |
 | 07    0007 | ASR         | DIRECT       |   6   |   2   | uaa-s |
 | 08    0008 | LSL/ASL     | DIRECT       |   6   |   2   | naaas |
 | 09    0009 | ROL         | DIRECT       |   6   |   2   | -aaas |
 | 0A    0010 | DEC         | DIRECT       |   6   |   2   | -aaa- |
 | 0B    0011 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 0C    0012 | INC         | DIRECT       |   6   |   2   | -aaa- |
 | 0D    0013 | TST         | DIRECT       |   6   |   2   | -aa0- |
 | 0E    0014 | JMP         | DIRECT       |   3   |   2   | ----- |
 | 0F    0015 | CLR         | DIRECT       |   6   |   2   | -0100 |
 | 10    0016 | PAGE1+      | VARIANT      |   1   |   1   | +++++ |
 | 11    0017 | PAGE2+      | VARIANT      |   1   |   1   | +++++ |
 | 12    0018 | NOP         | INHERENT     |   2   |   1   | ----- |
 | 13    0019 | SYNC        | INHERENT     |   2   |   1   | ----- |
 | 14    0020 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 15    0021 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 16    0022 | LBRA        | RELATIVE     |   5   |   3   | ----- |
 | 17    0023 | LBSR        | RELATIVE     |   9   |   3   | ----- |
 | 18    0024 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 19    0025 | DAA         | INHERENT     |   2   |   1   | -aa0a |
 | 1A    0026 | ORCC        | IMMEDIATE    |   3   |   2   | ddddd |
 | 1B    0027 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 1C    0028 | ANDCC       | IMMEDIATE    |   3   |   2   | ddddd |
 | 1D    0029 | SEX         | INHERENT     |   2   |   1   | -aa0- |
 | 1E    0030 | EXG         | INHERENT     |   8   |   2   | ccccc |
 | 1F    0031 | TFR         | INHERENT     |   7   |   2   | ccccc |
 | 20    0032 | BRA         | RELATIVE     |   3   |   2   | ----- |
 | 21    0033 | BRN         | RELATIVE     |   3   |   2   | ----- |
 | 22    0034 | BHI         | RELATIVE     |   3   |   2   | ----- |
 | 23    0035 | BLS         | RELATIVE     |   3   |   2   | ----- |
 | 24    0036 | BHS/BCC     | RELATIVE     |   3   |   2   | ----- |
 | 25    0037 | BLO/BCS     | RELATIVE     |   3   |   2   | ----- |
 | 26    0038 | BNE         | RELATIVE     |   3   |   2   | ----- |
 | 27    0039 | BEQ         | RELATIVE     |   3   |   2   | ----- |
 | 28    0040 | BVC         | RELATIVE     |   3   |   2   | ----- |
 | 29    0041 | BVS         | RELATIVE     |   3   |   2   | ----- |
 | 2A    0042 | BPL         | RELATIVE     |   3   |   2   | ----- |
 | 2B    0043 | BMI         | RELATIVE     |   3   |   2   | ----- |
 | 2C    0044 | BGE         | RELATIVE     |   3   |   2   | ----- |
 | 2D    0045 | BLT         | RELATIVE     |   3   |   2   | ----- |
 | 2E    0046 | BGT         | RELATIVE     |   3   |   2   | ----- |
 | 2F    0047 | BLE         | RELATIVE     |   3   |   2   | ----- |
 | 30    0048 | LEAX        | INDEXED      |   4   |   2   | --a-- |
 | 31    0049 | LEAY        | INDEXED      |   4   |   2   | --a-- |
 | 32    0050 | LEAS        | INDEXED      |   4   |   2   | ----- |
 | 33    0051 | LEAU        | INDEXED      |   4   |   2   | ----- |
 | 34    0052 | PSHS        | INHERENT     |   5   |   2   | ----- |
 | 35    0053 | PULS        | INHERENT     |   5   |   2   | ccccc |
 | 36    0054 | PSHU        | INHERENT     |   5   |   2   | ----- |
 | 37    0055 | PULU        | INHERENT     |   5   |   2   | ccccc |
 | 38    0056 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 39    0057 | RTS         | INHERENT     |   5   |   1   | ----- |
 | 3A    0058 | ABX         | INHERENT     |   3   |   1   | ----- |
 | 3B    0059 | RTI         | INHERENT     | 6/15  |   1   | ----- |
 | 3C    0060 | CWAI        | INHERENT     |  21   |   2   | ddddd |
 | 3D    0061 | MUL         | INHERENT     |  11   |   1   | --a-a |
 | 3E    0062 | RESET*      | INHERENT     |   *   |   1   | ***** |
 | 3F    0063 | SWI         | INHERENT     |  19   |   1   | ----- |
 | 40    0064 | NEGA        | INHERENT     |   2   |   1   | uaaaa |
 | 41    0065 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 42    0066 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 43    0067 | COMA        | INHERENT     |   2   |   1   | -aa01 |
 | 44    0068 | LSRA        | INHERENT     |   2   |   1   | -0a-s |
 | 45    0069 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 46    0070 | RORA        | INHERENT     |   2   |   1   | -aa-s |
 | 47    0071 | ASRA        | INHERENT     |   2   |   1   | uaa-s |
 | 48    0072 | LSLA/ASLA   | INHERENT     |   2   |   1   | naaas |
 | 49    0073 | ROLA        | INHERENT     |   2   |   1   | -aaas |
 | 4A    0074 | DECA        | INHERENT     |   2   |   1   | -aaa- |
 | 4B    0075 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 4C    0076 | INCA        | INHERENT     |   2   |   1   | -aaa- |
 | 4D    0077 | TSTA        | INHERENT     |   2   |   1   | -aa0- |
 | 4E    0078 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 4F    0079 | CLRA        | INHERENT     |   2   |   1   | -0100 |
 | 50    0080 | NEGB        | INHERENT     |   2   |   1   | uaaaa |
 | 51    0081 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 52    0082 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 53    0083 | COMB        | INHERENT     |   2   |   1   | -aa01 |
 | 54    0084 | LSRB        | INHERENT     |   2   |   1   | -0a-s |
 | 55    0085 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 56    0086 | RORB        | INHERENT     |   2   |   1   | -aa-s |
 | 57    0087 | ASRB        | INHERENT     |   2   |   1   | uaa-s |
 | 58    0088 | LSLB/ASLB   | INHERENT     |   2   |   1   | naaas |
 | 59    0089 | ROLB        | INHERENT     |   2   |   1   | -aaas |
 | 5A    0090 | DECB        | INHERENT     |   2   |   1   | -aaa- |
 | 5B    0091 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 5C    0092 | INCB        | INHERENT     |   2   |   1   | -aaa- |
 | 5D    0093 | TSTB        | INHERENT     |   2   |   1   | -aa0- |
 | 5E    0094 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 5F    0095 | CLRB        | INHERENT     |   2   |   1   | -0100 |
 | 60    0096 | NEG         | INDEXED      |   6   |   2   | uaaaa |
 | 61    0097 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 62    0098 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 63    0099 | COM         | INDEXED      |   6   |   2   | -aa01 |
 | 64    0100 | LSR         | INDEXED      |   6   |   2   | -0a-s |
 | 65    0101 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 66    0102 | ROR         | INDEXED      |   6   |   2   | -aa-s |
 | 67    0103 | ASR         | INDEXED      |   6   |   2   | uaa-s |
 | 68    0104 | LSL/ASL     | INDEXED      |   6   |   2   | naaas |
 | 69    0105 | ROL         | INDEXED      |   6   |   2   | -aaas |
 | 6A    0106 | DEC         | INDEXED      |   6   |   2   | -aaa- |
 | 6B    0107 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 6C    0108 | INC         | INDEXED      |   6   |   2   | -aaa- |
 | 6D    0109 | TST         | INDEXED      |   6   |   2   | -aa0- |
 | 6E    0110 | JMP         | INDEXED      |   3   |   2   | ----- |
 | 6F    0111 | CLR         | INDEXED      |   6   |   2   | -0100 |
 | 70    0112 | NEG         | EXTENDED     |   7   |   3   | uaaaa |
 | 71    0113 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 72    0114 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 73    0115 | COM         | EXTENDED     |   7   |   3   | -aa01 |
 | 74    0116 | LSR         | EXTENDED     |   7   |   3   | -0a-s |
 | 75    0117 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 76    0118 | ROR         | EXTENDED     |   7   |   3   | -aa-s |
 | 77    0119 | ASR         | EXTENDED     |   7   |   3   | uaa-s |
 | 78    0120 | LSL/ASL     | EXTENDED     |   7   |   3   | naaas |
 | 79    0121 | ROL         | EXTENDED     |   7   |   3   | -aaas |
 | 7A    0122 | DEC         | EXTENDED     |   7   |   3   | -aaa- |
 | 7B    0123 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 7C    0124 | INC         | EXTENDED     |   7   |   3   | -aaa- |
 | 7D    0125 | TST         | EXTENDED     |   7   |   3   | -aa0- |
 | 7E    0126 | JMP         | EXTENDED     |   3   |   3   | ----- |
 | 7F    0127 | CLR         | EXTENDED     |   7   |   3   | -0100 |
 | 80    0128 | SUBA        | IMMEDIATE    |   2   |   2   | uaaaa |
 | 81    0129 | CMPA        | IMMEDIATE    |   2   |   2   | uaaaa |
 | 82    0130 | SBCA        | IMMEDIATE    |   2   |   2   | uaaaa |
 | 83    0131 | SUBD        | IMMEDIATE    |   4   |   3   | -aaaa |
 | 84    0132 | ANDA        | IMMEDIATE    |   2   |   2   | -aa0- |
 | 85    0133 | BITA        | IMMEDIATE    |   2   |   2   | -aa0- |
 | 86    0134 | LDA         | IMMEDIATE    |   2   |   2   | -aa0- |
 | 87    0135 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 88    0136 | EORA        | IMMEDIATE    |   2   |   2   | -aa0- |
 | 89    0137 | ADCA        | IMMEDIATE    |   2   |   2   | aaaaa |
 | 8A    0138 | ORA         | IMMEDIATE    |   2   |   2   | -aa0- |
 | 8B    0139 | ADDA        | IMMEDIATE    |   2   |   2   | aaaaa |
 | 8C    0140 | CMPX        | IMMEDIATE    |   4   |   3   | -aaaa |
 | 8D    0141 | BSR         | RELATIVE     |   7   |   2   | ----- |
 | 8E    0142 | LDX         | IMMEDIATE    |   3   |   3   | -aa0- |
 | 8F    0143 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | 90    0144 | SUBA        | DIRECT       |   4   |   2   | uaaaa |
 | 91    0145 | CMPA        | DIRECT       |   4   |   2   | uaaaa |
 | 92    0146 | SBCA        | DIRECT       |   4   |   2   | uaaaa |
 | 93    0147 | SUBD        | DIRECT       |   6   |   2   | -aaaa |
 | 94    0148 | ANDA        | DIRECT       |   4   |   2   | -aa0- |
 | 95    0149 | BITA        | DIRECT       |   4   |   2   | -aa0- |
 | 96    0150 | LDA         | DIRECT       |   4   |   2   | -aa0- |
 | 97    0151 | STA         | DIRECT       |   4   |   2   | -aa0- |
 | 98    0152 | EORA        | DIRECT       |   4   |   2   | -aa0- |
 | 99    0153 | ADCA        | DIRECT       |   4   |   2   | aaaaa |
 | 9A    0154 | ORA         | DIRECT       |   4   |   2   | -aa0- |
 | 9B    0155 | ADDA        | DIRECT       |   4   |   2   | aaaaa |
 | 9C    0156 | CMPX        | DIRECT       |   6   |   2   | -aaaa |
 | 9D    0157 | JSR         | DIRECT       |   7   |   2   | ----- |
 | 9E    0158 | LDX         | DIRECT       |   5   |   2   | -aa0- |
 | 9F    0159 | STX         | DIRECT       |   5   |   2   | -aa0- |
 | A0    0160 | SUBA        | INDEXED      |   4   |   2   | uaaaa |
 | A1    0161 | CMPA        | INDEXED      |   4   |   2   | uaaaa |
 | A2    0162 | SBCA        | INDEXED      |   4   |   2   | uaaaa |
 | A3    0163 | SUBD        | INDEXED      |   6   |   2   | -aaaa |
 | A4    0164 | ANDA        | INDEXED      |   4   |   2   | -aa0- |
 | A5    0165 | BITA        | INDEXED      |   4   |   2   | -aa0- |
 | A6    0166 | LDA         | INDEXED      |   4   |   2   | -aa0- |
 | A7    0167 | STA         | INDEXED      |   4   |   2   | -aa0- |
 | A8    0168 | EORA        | INDEXED      |   4   |   2   | -aa0- |
 | A9    0169 | ADCA        | INDEXED      |   4   |   2   | aaaaa |
 | AA    0170 | ORA         | INDEXED      |   4   |   2   | -aa0- |
 | AB    0171 | ADDA        | INDEXED      |   4   |   2   | aaaaa |
 | AC    0172 | CMPX        | INDEXED      |   6   |   2   | -aaaa |
 | AD    0173 | JSR         | INDEXED      |   7   |   2   | ----- |
 | AE    0174 | LDX         | INDEXED      |   5   |   2   | -aa0- |
 | AF    0175 | STX         | INDEXED      |   5   |   2   | -aa0- |
 | B0    0176 | SUBA        | EXTENDED     |   5   |   3   | uaaaa |
 | B1    0177 | CMPA        | EXTENDED     |   5   |   3   | uaaaa |
 | B2    0178 | SBCA        | EXTENDED     |   5   |   3   | uaaaa |
 | B3    0179 | SUBD        | EXTENDED     |   7   |   3   | -aaaa |
 | B4    0180 | ANDA        | EXTENDED     |   5   |   3   | -aa0- |
 | B5    0181 | BITA        | EXTENDED     |   5   |   3   | -aa0- |
 | B6    0182 | LDA         | EXTENDED     |   5   |   3   | -aa0- |
 | B7    0183 | STA         | EXTENDED     |   5   |   3   | -aa0- |
 | B8    0184 | EORA        | EXTENDED     |   5   |   3   | -aa0- |
 | B9    0185 | ADCA        | EXTENDED     |   5   |   3   | aaaaa |
 | BA    0186 | ORA         | EXTENDED     |   5   |   3   | -aa0- |
 | BB    0187 | ADDA        | EXTENDED     |   5   |   3   | aaaaa |
 | BC    0188 | CMPX        | EXTENDED     |   7   |   3   | -aaaa |
 | BD    0189 | JSR         | EXTENDED     |   8   |   3   | ----- |
 | BE    0190 | LDX         | EXTENDED     |   6   |   3   | -aa0- |
 | BF    0191 | STX         | EXTENDED     |   6   |   3   | -aa0- |
 | C0    0192 | SUBB        | IMMEDIATE    |   2   |   2   | uaaaa |
 | C1    0193 | CMPB        | IMMEDIATE    |   2   |   2   | uaaaa |
 | C2    0194 | SBCB        | IMMEDIATE    |   2   |   2   | uaaaa |
 | C3    0195 | ADDD        | IMMEDIATE    |   4   |   3   | -aaaa |
 | C4    0196 | ANDB        | IMMEDIATE    |   2   |   2   | -aa0- |
 | C5    0197 | BITB        | IMMEDIATE    |   2   |   2   | -aa0- |
 | C6    0198 | LDB         | IMMEDIATE    |   2   |   2   | -aa0- |
 | C7    0199 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | C8    0200 | EORB        | IMMEDIATE    |   2   |   2   | -aa0- |
 | C9    0201 | ADCB        | IMMEDIATE    |   2   |   2   | aaaaa |
 | CA    0202 | ORB         | IMMEDIATE    |   2   |   2   | -aa0- |
 | CB    0203 | ADDB        | IMMEDIATE    |   2   |   2   | aaaaa |
 | CC    0204 | LDD         | IMMEDIATE    |   3   |   3   | -aa0- |
 | CD    0205 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | CE    0206 | LDU         | IMMEDIATE    |   3   |   3   | -aa0- |
 | CF    0207 | ILLEGAL     | ILLEGAL      |   1   |   1   | uuuuu |
 | D0    0208 | SUBB        | DIRECT       |   4   |   2   | uaaaa |
 | D1    0209 | CMPB        | DIRECT       |   4   |   2   | uaaaa |
 | D2    0210 | SBCB        | DIRECT       |   4   |   2   | uaaaa |
 | D3    0211 | ADDD        | DIRECT       |   6   |   2   | -aaaa |
 | D4    0212 | ANDB        | DIRECT       |   4   |   2   | -aa0- |
 | D5    0213 | BITB        | DIRECT       |   4   |   2   | -aa0- |
 | D6    0214 | LDB         | DIRECT       |   4   |   2   | -aa0- |
 | D7    0215 | STB         | DIRECT       |   4   |   2   | -aa0- |
 | D8    0216 | EORB        | DIRECT       |   4   |   2   | -aa0- |
 | D9    0217 | ADCB        | DIRECT       |   4   |   2   | aaaaa |
 | DA    0218 | ORB         | DIRECT       |   4   |   2   | -aa0- |
 | DB    0219 | ADDB        | DIRECT       |   4   |   2   | aaaaa |
 | DC    0220 | LDD         | DIRECT       |   5   |   2   | -aa0- |
 | DD    0221 | STD         | DIRECT       |   5   |   2   | -aa0- |
 | DE    0222 | LDU         | DIRECT       |   5   |   2   | -aa0- |
 | DF    0223 | STU         | DIRECT       |   5   |   2   | -aa0- |
 | E0    0224 | SUBB        | INDEXED      |   4   |   2   | uaaaa |
 | E1    0225 | CMPB        | INDEXED      |   4   |   2   | uaaaa |
 | E2    0226 | SBCB        | INDEXED      |   4   |   2   | uaaaa |
 | E3    0227 | ADDD        | INDEXED      |   6   |   2   | -aaaa |
 | E4    0228 | ANDB        | INDEXED      |   4   |   2   | -aa0- |
 | E5    0229 | BITB        | INDEXED      |   4   |   2   | -aa0- |
 | E6    0230 | LDB         | INDEXED      |   4   |   2   | -aa0- |
 | E7    0231 | STB         | INDEXED      |   4   |   2   | -aa0- |
 | E8    0232 | EORB        | INDEXED      |   4   |   2   | -aa0- |
 | E9    0233 | ADCB        | INDEXED      |   4   |   2   | aaaaa |
 | EA    0234 | ORB         | INDEXED      |   4   |   2   | -aa0- |
 | EB    0235 | ADDB        | INDEXED      |   4   |   2   | aaaaa |
 | EC    0236 | LDD         | INDEXED      |   5   |   2   | -aa0- |
 | ED    0237 | STD         | INDEXED      |   5   |   2   | -aa0- |
 | EE    0238 | LDU         | INDEXED      |   5   |   2   | -aa0- |
 | EF    0239 | STU         | INDEXED      |   5   |   2   | -aa0- |
 | F0    0240 | SUBB        | EXTENDED     |   5   |   3   | uaaaa |
 | F1    0241 | CMPB        | EXTENDED     |   5   |   3   | uaaaa |
 | F2    0242 | SBCB        | EXTENDED     |   5   |   3   | uaaaa |
 | F3    0243 | ADDD        | EXTENDED     |   7   |   3   | -aaaa |
 | F4    0244 | ANDB        | EXTENDED     |   5   |   3   | -aa0- |
 | F5    0245 | BITB        | EXTENDED     |   5   |   3   | -aa0- |
 | F6    0246 | LDB         | EXTENDED     |   5   |   3   | -aa0- |
 | F7    0247 | STB         | EXTENDED     |   5   |   3   | -aa0- |
 | F8    0248 | EORB        | EXTENDED     |   5   |   3   | -aa0- |
 | F9    0249 | ADCB        | EXTENDED     |   5   |   3   | aaaaa |
 | FA    0250 | ORB         | EXTENDED     |   5   |   3   | -aa0- |
 | FB    0251 | ADDB        | EXTENDED     |   5   |   3   | aaaaa |
 | FC    0252 | LDD         | EXTENDED     |   6   |   3   | -aa0- |
 | FD    0253 | STD         | EXTENDED     |   6   |   3   | -aa0- |
 | FE    0254 | LDU         | EXTENDED     |   6   |   3   | -aa0- |
 | FF    0255 | STU         | EXTENDED     |   6   |   3   | -aa0- |
 +------------+-------------+--------------+-------+-------+-------+

 +-----------------------------------------------------------------+
 |                       Page 1 Instructions^                      |
 +------------+-------------+--------------+---------------+-------+
 | Opcode     |             | Addressing   |               |       |
 | Hex   Dec  | Instruction | Mode         | Cycles  Bytes | HNZVC |
 +------------+-------------+--------------+-------+-------+-------+
 | 1021  4129 | LBRN        | RELATIVE     | 5(6)  |   4   | ----- |
 | 1022  4130 | LBHI        | RELATIVE     | 5(6)  |   4   | ----- |
 | 1023  4131 | LBLS        | RELATIVE     | 5(6)  |   4   | ----- |
 | 1024  4132 | LBHS/LBCC   | RELATIVE     | 5(6)  |   4   | ----- |
 | 1025  4133 | LBLO/LBCS   | RELATIVE     | 5(6)  |   4   | ----- |
 | 1026  4134 | LBNE        | RELATIVE     | 5(6)  |   4   | ----- |
 | 1027  4135 | LBEQ        | RELATIVE     | 5(6)  |   4   | ----- |
 | 1028  4136 | LBVC        | RELATIVE     | 5(6)  |   4   | ----- |
 | 1029  4137 | LBVS        | RELATIVE     | 5(6)  |   4   | ----- |
 | 102A  4138 | LBPL        | RELATIVE     | 5(6)  |   4   | ----- |
 | 102B  4139 | LBMI        | RELATIVE     | 5(6)  |   4   | ----- |
 | 102C  4140 | LBGE        | RELATIVE     | 5(6)  |   4   | ----- |
 | 102D  4141 | LBLT        | RELATIVE     | 5(6)  |   4   | ----- |
 | 102E  4142 | LBGT        | RELATIVE     | 5(6)  |   4   | ----- |
 | 102F  4143 | LBLE        | RELATIVE     | 5(6)  |   4   | ----- |
 | 103F  4159 | SWI2        | INHERENT     |  20   |   2   | ----- |
 | 1083  4227 | CMPD        | IMMEDIATE    |   5   |   4   | -aaaa |
 | 108C  4236 | CMPY        | IMMEDIATE    |   5   |   4   | -aaaa |
 | 108E  4238 | LDY         | IMMEDIATE    |   4   |   4   | -aa0- |
 | 1093  4243 | CMPD        | DIRECT       |   7   |   3   | -aaaa |
 | 109C  4252 | CMPY        | DIRECT       |   7   |   3   | -aaaa |
 | 109E  4254 | LDY         | DIRECT       |   6   |   3   | -aa0- |
 | 109F  4255 | STY         | DIRECT       |   6   |   3   | -aa0- |
 | 10A3  4259 | CMPD        | INDEXED      |   7   |   3   | -aaaa |
 | 10AC  4268 | CMPY        | INDEXED      |   7   |   3   | -aaaa |
 | 10AE  4270 | LDY         | INDEXED      |   6   |   3   | -aa0- |
 | 10AF  4271 | STY         | INDEXED      |   6   |   3   | -aa0- |
 | 10B3  4275 | CMPD        | EXTENDED     |   8   |   4   | -aaaa |
 | 10BC  4284 | CMPY        | EXTENDED     |   8   |   4   | -aaaa |
 | 10BE  4286 | LDY         | EXTENDED     |   7   |   4   | -aa0- |
 | 10BF  4287 | STY         | EXTENDED     |   7   |   4   | -aa0- |
 | 10CE  4302 | LDS         | IMMEDIATE    |   4   |   4   | -aa0- |
 | 10DE  4318 | LDS         | DIRECT       |   6   |   3   | -aa0- |
 | 10DF  4319 | STS         | DIRECT       |   6   |   3   | -aa0- |
 | 10EE  4334 | LDS         | INDEXED      |   6   |   3   | -aa0- |
 | 10EF  4335 | STS         | INDEXED      |   6   |   3   | -aa0- |
 | 10FE  4350 | LDS         | EXTENDED     |   7   |   4   | -aa0- |
 | 10FF  4351 | STS         | EXTENDED     |   7   |   4   | -aa0- |
 +------------+-------------+--------------+-------+-------+-------+

 +-----------------------------------------------------------------+
 |                       Page 2 Instructions^                      |
 +------------+-------------+--------------+---------------+-------+
 | Opcode     |             | Addressing   |               |       |
 | Hex   Dec  | Instruction | Mode         | Cycles  Bytes | HNZVC |
 +------------+-------------+--------------+-------+-------+-------+
 | 113F  4415 | SWI3        | INHERENT     |  20   |   2   | ----- |
 | 1183  4438 | CMPU        | IMMEDIATE    |   5   |   4   | -aaaa |
 | 118C  4492 | CMPS        | IMMEDIATE    |   5   |   4   | -aaaa |
 | 1193  4499 | CMPU        | DIRECT       |   7   |   3   | -aaaa |
 | 119C  4508 | CMPS        | DIRECT       |   7   |   3   | -aaaa |
 | 11A3  4515 | CMPU        | INDEXED      |   7   |   3   | -aaaa |
 | 11AC  4524 | CMPS        | INDEXED      |   7   |   3   | -aaaa |
 | 11B3  4531 | CMPU        | EXTENDED     |   8   |   4   | -aaaa |
 | 11BC  4540 | CMPS        | EXTENDED     |   8   |   4   | -aaaa |
 +------------+-------------+--------------+-------+-------+-------+

    Key
    ===

    a Affected.
    - Unaffected.
    u Undefined.
    d Changed directly.
    s Contains the carry from a shift operation.
    c Affected only if CC register selected.
    n Unaffected by LSL, undefined by ASL (according to Motorola)!

    * Undocumented
    + Not an instruction, but a prefix to page 1 or page 2 instructions.
    ^ Illegal instructions not listed.

------------------------------------------------------------------------------

Subject: [2]  Indexed Addressing Post Byte Register Bit Assignments

  +------------------------------------------------------------------------+
  |          INDEX ADDRESSING POST BYTE REGISTER BIT ASSIGNMENTS           |
  +-------------------------------+--------------------------------+-------+
  |    POST BYTE REGISTER BIT     |                                |  Add  |
  +---+---+---+---+---+---+---+---+          INDEXED MODE          +---+---+
  | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |                                | ~ | # |
  +---+---+---+---+---+---+---+---+--------------------------------+---+---+
  | 0 | R | R | F | F | F | F | F |      (+/- 4 bit offset),R      | 1 | 0 |
  +---+---+---+---+---+---+---+---+--------------------------------+---+---+
  | 1 | R | R | 0 | 0 | 0 | 0 | 0 |               ,R+              | 2 | 0 |
  +---+---+---+---+---+---+---+---+--------------------------------+---+---+
  | 1 | R | R | I | 0 | 0 | 0 | 1 |               ,R++             | 3 | 0 |
  +---+---+---+---+---+---+---+---+--------------------------------+---+---+
  | 1 | R | R | 0 | 0 | 0 | 1 | 0 |               ,-R              | 2 | 0 |
  +---+---+---+---+---+---+---+---+--------------------------------+---+---+
  | 1 | R | R | I | 0 | 0 | 1 | 1 |               ,--R             | 3 | 0 |
  +---+---+---+---+---+---+---+---+--------------------------------+---+---+
  | 1 | R | R | I | 0 | 1 | 0 | 0 |               ,R               | 0 | 0 |
  +---+---+---+---+---+---+---+---+--------------------------------+---+---+
  | 1 | R | R | I | 0 | 1 | 0 | 1 |             (+/- B),R          | 1 | 0 |
  +---+---+---+---+---+---+---+---+--------------------------------+---+---+
  | 1 | R | R | I | 0 | 1 | 1 | 0 |             (+/- A),R          | 1 | 0 |
  +---+---+---+---+---+---+---+---+--------------------------------+---+---+
  | 1 | X | X | X | 0 | 1 | 1 | 1 |              Illegal           | u | u |
  +---+---+---+---+---+---+---+---+--------------------------------+---+---+
  | 1 | R | R | I | 1 | 0 | 0 | 0 |      (+/- 7 bit offset),R      | 1 | 1 |
  +---+---+---+---+---+---+---+---+--------------------------------+---+---+
  | 1 | R | R | I | 1 | 0 | 0 | 1 |      (+/- 15 bit offset),R     | 4 | 2 |
  +---+---+---+---+---+---+---+---+--------------------------------+---+---+
  | 1 | X | X | X | 1 | 0 | 1 | 0 |              Illegal           | u | u |
  +---+---+---+---+---+---+---+---+--------------------------------+---+---+
  | 1 | R | R | I | 1 | 0 | 1 | 1 |             (+/- D),R          | 4 | 0 |
  +---+---+---+---+---+---+---+---+--------------------------------+---+---+
  | 1 | X | X | I | 1 | 1 | 0 | 0 |      (+/- 7 bit offset),PC     | 1 | 1 |
  +---+---+---+---+---+---+---+---+--------------------------------+---+---+
  | 1 | X | X | I | 1 | 1 | 0 | 1 |      (+/- 15 bit offset),PC    | 5 | 2 |
  +---+---+---+---+---+---+---+---+--------------------------------+---+---+
  | 1 | X | X | X | 1 | 1 | 1 | 0 |              Illegal           | u | u |
  +---+---+---+---+---+---+---+---+--------------------------------+---+---+
  | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 |             [address]          | 5 | 2 |
  +---+---+---+---+---+---+---+---+--------------------------------+---+---+

    Key
    ===

    ~ Additional clock cycles.
    # Additional post bytes.
    u Undefined.
    X Don't Care.
    F Offset.
    I Indirect field.
        0 = Non indirect
        1 = Indirect (add 3 cycles)
    R Register field.
       00 = X
       01 = Y
       10 = U
       11 = S

------------------------------------------------------------------------------

Subject: [3]  Push/Pull Post Byte

     +------+------+------+------+------+------+------+------+
     |  b7  |  b6  |  b5  |  b4  |  b3  |  b2  |  b1  |  b0  |
     +--+---+--+---+--+---+--+---+--+---+--+---+--+---+--+---+
        |      |      |      |      |      |      |      |
        |      |      |      |      |      |      |      +------- CC
        |      |      |      |      |      |      |
        |      |      |      |      |      |      +-------------- A
        |      |      |      |      |      |
        |      |      |      |      |      +--------------------- B
        |      |      |      |      |
        |      |      |      |      +---------------------------- DP
        |      |      |      |
        |      |      |      +----------------------------------- X
        |      |      |
        |      |      +------------------------------------------ Y
        |      |
        |      +------------------------------------------------- S/U
        |
        +-------------------------------------------------------- PC

------------------------------------------------------------------------------

Subject: [4]  Stacking Order

                  PULL ORDER

                      |
                      v

                      CC
                      A
                      B
                      DP
                     X Hi                      INCREASING MEMORY
                     X Lo
                     Y Hi                              |
                     Y Lo                              v
                    S/U Hi
                    S/U Lo
                    PCR Hi
                    PCR Lo

                      ^
                      |

                  PUSH ORDER

------------------------------------------------------------------------------

Subject: [5]  Transfer/Exchange Post Byte

        +------+------+------+------+------+------+------+------+
        |  b7       SOURCE          |        DESTINATION    b0  |
        +------+------+------+------+------+------+------+------+

                          +---------------------+
                          |   Register Field    |
                          +------+--------------+
                          | Bits |   Register   |
                          +------+--------------+
                          | 0000 |      D       |
                          | 0001 |      X       |
                          | 0010 |      Y       |
                          | 0011 |      U       |
                          | 0100 |      S       |
                          | 0101 |      PC      |
                          | 1000 |      A       |
                          | 1001 |      B       |
                          | 1010 |      CC      |
                          | 1011 |      DP      |
                          +------+--------------+

 Other operand values result in the constant $FF being transferred; this
 value is also used when there is an operation mixing 8 and 16 bit registers
 (these effects are undocumented).

------------------------------------------------------------------------------

Subject: [6]  Interrupt Vectors

                          +---------------------+
                          |   6809 Interrupts   |
                          +------+--------------+
                          | Addr |    Event     |
                          +------+--------------+
                          | FFFE |   Restart    |
                          | FFFC |   NMI        |
                          | FFFA |   SWI        |
                          | FFF8 |   IRQ        |
                          | FFF6 |   FIRQ       |
                          | FFF4 |   SWI2       |
                          | FFF2 |   SWI3       |
                          | FFF0 |   Reserved   |
                          +------+--------------+

------------------------------------------------------------------------------

Subject: [7]  Interrupt Functionality

 a) Interrupts have the following functions.

     SWI)  E = 1
           PSHS X,Y,D,U,DP,PC,CC
           F = 1
           I = 1
           PC = [$FFFA]
           {19 cycles}

     SWI2) E = 1
           PSHS X,Y,D,U,DP,PC,CC
           PC = [$FFF4]
           {20 cycles}

     SWI3) E = 1
           PSHS X,Y,D,U,DP,PC,CC
           PC = [$FFF2]
           {20 cycles}

     IRQ)  E = 1
           PSHS X,Y,D,U,DP,PC,CC
           F = 1
           I = 1
           PC = [$FFF8]
           {19 cycles}

     FIRQ) E = 0
           PSHS PC,CC
           F = 1
           I = 1
           PC = [$FFF6]
           {10 cycles}

     NMI*) E = 1
           PSHS X,Y,D,U,DP,PC,CC
           F = 1
           I = 1
           PC = [$FFFC]
           {19 cycles}

 b) An RTI instruction has the following function.

           PULS CC
           if (E = 0)
           then
              PULS PC
              {6 cycles}
           else
              PULS X,Y,D,U,DP,PC
              {15 cycles}

    *Not available until after S has been initialised.

------------------------------------------------------------------------------

Subject: [8]  Branch Instructions

  +-----------------------------------------------------------------------+
  |                        6809 BRANCH INSTRUCTIONS                       |
  +-------------+-----------------------------+---------------------------+
  | Instruction |         Description         |     Condition Formula     |
  +-------------+-----------------------------+---------------------------+
  |   BCC/BHS   | Higher Or Same              |             »C            |
  |   BCS/BLO   | Lower                       |              C            |
  |     BHI     | Higher                      |            »C*»Z          |
  |     BLS     | Lower Or Same               |            C + Z          |
  |     BNE     | Not Equal                   |             »Z            |
  |     BEQ     | Equal                       |              Z            |
  |     BGE     | Greater Or Equal (Signed)   |          N*V + »N*»V      |
  |     BLT     | Less Than (Signed)          |         N*»V + »N*V       |
  |     BGT     | Greater Than (Signed)       |       N*V*»Z + »N*»V*»Z   |
  |     BLE     | Less Than Or Equal (Signed) |       Z + N*»V + »N*V     |
  |     BPL     | Plus (Positive)             |             »N            |
  |     BMI     | Minus (Negative)            |              N            |
  |     BVC     | Overflow Clear              |             »V            |
  |     BVS     | Overflow Set                |              V            |
  |     BRA     | Always                      |              1            |
  |     BRN     | Never                       |              0            |
  +-------------+-----------------------------+---------------------------+

------------------------------------------------------------------------------

Subject: [9]  References

'Inside The Dragon' by Duncan Smeed & Ian Sommerville
'Programming The 6809' by Rodnay Zaks & William Labiak
'Language Of The Dragon' (author unknown).

------------------------------------------------------------------------------

Subject: [10] Acknowledgements

Thanks to Keiran Anscomb for details of some of the undocumented features.

----------------------------------------------------------------------------
[Image] Click here to return to information menu.
----------------------------------------------------------------------------
Page last modified 18 May 1996 16:33:34.