Référence des instructions de l'assembleur du microprocesseur 6800 vue par opcode :
Mnémonique | Syntaxe | Mode | Octets | Code | Cycles | C | Z | S | O | Ac | I | Opération symbolique | Description |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ABA | ABA | ACC | 1 | 01Bh | 2 | x | x | x | x | x | - | [A] ← [A] + [B] | Cette instruction permet d'ajouter l'adressage de registre B dans l'adressage de registre A. |
ADC | ADC A data8 | IMM | 2 | 089h | 2 | x | x | x | x | x | - | [A] ← [A] + data8 + C | Cette instruction permet d'ajouter le contenu de la mémoire et le drapeau de retenue dans le registre accumulateur. |
ADC A addr8 | DIR | 2 | 099h | 3 | [A] ← [A] + [addr8] + C | ||||||||
ADC A data8,X | IDX | 2 | 0A9h | 5 | [A] ← [A] + [data8 + [X]] + C | ||||||||
ADC A addr16 | EXT | 3 | 0B9h | 4 | [A] ← [A] + [addr16] + C | ||||||||
ADC B #data8 | IMM | 2 | 0C9h | 2 | [B] ← [B] + data8 + C | ||||||||
ADC B addr8 | DIR | 2 | 0D9h | 3 | [B] ← [B] + [addr8] + C | ||||||||
ADC B data8,X | IDX | 2 | 0E9h | 5 | [B] ← [B] + [data8 + [X]] + C | ||||||||
ADC B addr16 | EXT | 3 | 0F9h | 4 | [B] ← [B] + [addr16] + C | ||||||||
ADD | ADD A #data8 | IMM | 2 | 08Bh | 2 | x | x | x | x | x | - | [A] ← [A] + data8 | Cette instruction permet d'ajouter le contenu de la mémoire dans le registre accumulateur. |
ADD A addr8 | DIR | 2 | 09Bh | 3 | [A] ← [A] + [addr8] | ||||||||
ADD A data8,X | IDX | 2 | 0ABh | 5 | [A] ← [A] + [data8 + [X]] | ||||||||
ADD A addr16 | EXT | 3 | 0BBh | 4 | [A] ← [A] + [addr16] | ||||||||
ADD B #data8 | IMM | 2 | 0CBh | 2 | [B] ← [B] + data8 | ||||||||
ADD B addr8 | DIR | 2 | 0DBh | 3 | [B] ← [B] + [addr8] | ||||||||
ADD B data8,X | IDX | 2 | 0EBh | 5 | [B] ← [B] + [data8 + [X]] | ||||||||
ADD B addr16 | EXT | 3 | 0FBh | 4 | [B] ← [B] + [addr16] | ||||||||
AND | AND A #data8 | IMM | 2 | 084h | 2 | - | x | x | 0 | - | - | [A] ← [A] ∩ data8 | Cette instruction permet d'effectuer un «Et binaire» d'un registre accumulateur avec opérande. |
AND A addr8 | DIR | 2 | 094h | 3 | [A] ← [A] ∩ [addr8] | ||||||||
AND A data8,X | IDX | 2 | 0A4h | 5 | [A] ← [A] ∩ [data8 + [X]] | ||||||||
AND A addr16 | EXT | 3 | 0B4h | 4 | [A] ← [A] ∩ [addr16] | ||||||||
AND B #data8 | IMM | 2 | 0C4h | 2 | [B] ← [B] ∩ data8 | ||||||||
AND B addr8 | DIR | 2 | 0D4h | 3 | [B] ← [B] ∩ [addr8] | ||||||||
AND B data8,X | IDX | 2 | 0E4h | 5 | [B] ← [B] ∩ [data8 + [X]] | ||||||||
AND B addr16 | EXT | 3 | 0F4h | 4 | [B] ← [B] ∩ [addr16] | ||||||||
ASL | ASL A | ACC | 1 | 048h | 2 | x | x | x | x | - | - | Cette instruction permet d'effectuer un décalage arithmétique vers la gauche et fixe le bit 0 à 0. | |
ASL B | ACC | 1 | 058h | 2 | |||||||||
ASL data8,X | IDX | 2 | 068h | 7 | |||||||||
ASL addr16 | EXT | 3 | 078h | 6 | |||||||||
ASR | ASR A | ACC | 1 | 047h | 2 | x | x | x | x | - | - | Cette instruction permet d'effectuer un décalage arithmétique vers la droite et fixe le bit 7 avec le même. | |
ASR B | ACC | 1 | 057h | 2 | |||||||||
ASR data8,X | IDX | 2 | 067h | 7 | |||||||||
ASR addr16 | EXT | 3 | 077h | 6 | |||||||||
BCC | BCC disp | REL | 2 | 024h | 4 | - | - | - | - | - | - | SI C = 0 ALORS [PC] ← [PC] + disp + 2 FIN SI |
Cette instruction permet d'effectuer un branchement si le drapeau de retenue est effacé. |
BCS | BCS disp | REL | 2 | 025h | 4 | - | - | - | - | - | - | SI C = 1 ALORS [PC] ← [PC] + disp + 2 FIN SI |
Cette instruction permet d'effectuer un branchement si le drapeau de retenue est fixé. |
BEQ | BEQ disp | REL | 2 | 027h | 4 | - | - | - | - | - | - | SI Z = 1 ALORS [PC] ← [PC] + disp + 2 FIN SI |
Cette instruction permet d'effectuer un branchement si égale à zéro. |
BGE | BGE disp | REL | 2 | 02Ch | 4 | - | - | - | - | - | - | SI S XOR O = 0 ALORS [PC] ← [PC] + disp + 2 FIN SI |
Cette instruction permet d'effectuer un branchement si supérieur ou égale à 0. |
BGT | BGT disp | REL | 2 | 02Eh | 4 | - | - | - | - | - | - | SI Z U (S XOR O) = 0 ALORS [PC] ← [PC] + disp + 2 FIN SI |
Cette instruction permet d'effectuer un branchement si supérieur à 0. |
BHI | BHI disp | REL | 2 | 022h | 4 | - | - | - | - | - | - | SI C U Z = 0 ALORS [PC] ← [PC] + disp + 2 FIN SI |
Cette instruction permet d'effectuer un branchement si le contenu de l'accumulateur est supérieur au comparé. |
BIT | BIT A #data8 | IMM | 2 | 085h | 2 | - | x | x | 0 | - | - | [A] ∩ data8 | Cette instruction permet d'effectuer un «Et binaire» avec l'accumulateur en changeant seulement le registre d'état. |
BIT A addr8 | DIR | 2 | 095h | 3 | [A] ∩ [addr8] | ||||||||
BIT A data8,X | IDX | 2 | 0A5h | 5 | [A] ∩ [data8 + [X]] | ||||||||
BIT A addr16 | EXT | 3 | 0B5h | 4 | [A] ∩ [addr16] | ||||||||
BIT B #data8 | IMM | 2 | 0C5h | 2 | [B] ∩ data8 | ||||||||
BIT B addr8 | DIR | 2 | 0D5h | 3 | [B] ∩ [addr8] | ||||||||
BIT B data8,X | IDX | 2 | 0E5h | 5 | [B] ∩ [data8 + [X]] | ||||||||
BIT B addr16 | EXT | 3 | 0F5h | 4 | [B] ∩ [addr16] | ||||||||
BLE | BLE disp | REL | 2 | 02Fh | 4 | - | - | - | - | - | - | SI Z U (S XOR O) = 1 ALORS [PC] ← [PC] + disp + 2 FIN SI |
Cette instruction permet d'effectuer un branchement si inférieur ou égale à 0. |
BLS | BLS disp | REL | 2 | 023h | 4 | - | - | - | - | - | - | SI C U Z = 1 ALORS [PC] ← [PC] + disp + 2 FIN SI |
Cette instruction permet d'effectuer un branchement si le contenu de l'accumulateur est inférieur ou le même que le comparé. |
BLT | BLT disp | REL | 2 | 02Dh | 4 | - | - | - | - | - | - | SI S XOR O = 1 ALORS [PC] ← [PC] + disp + 2 FIN SI |
Cette instruction permet d'effectuer un branchement si inférieur à 0. |
BMI | BMI disp | REL | 2 | 02Bh | 4 | - | - | - | - | - | - | SI S = 1 ALORS [PC] ← [PC] + disp + 2 FIN SI |
Cette instruction permet d'effectuer un branchement si négatif. |
BNE | BNE disp | REL | 2 | 026h | 4 | - | - | - | - | - | - | SI Z = 0 ALORS [PC] ← [PC] + disp + 2 FIN SI |
Cette instruction permet d'effectuer un branchement si n'est pas égale à 0. |
BPL | BPL disp | REL | 2 | 02Ah | 4 | - | - | - | - | - | - | SI S = 0 ALORS [PC] ← [PC] + disp + 2 FIN SI |
Cette instruction permet d'effectuer un branchement si positif. |
BRA | BRA disp | REL | 2 | 020h | 4 | - | - | - | - | - | - | [PC] ← [PC] + disp + 2 | Cette instruction permet d'effectuer un branchement inconditionnel relatif au contenu du registre PC (Program Counter). |
BSR | BSR disp | REL | 2 | 08Dh | 8 | - | - | - | - | - | - | [[SP]] ← [PC(LO)], [[SP] - 1] ← [PC(HI)], [SP] ← [SP] - 2, [PC] ← [PC] + disp + 2 |
Cette instruction permet d'effectuer un branchement inconditionnel à la sous-routine situé relativement au contenu du registre PC (Program Counter). |
BVC | BVC disp | REL | 2 | 028h | 4 | - | - | - | - | - | - | SI O = 0 ALORS [PC] ← [PC] + disp + 2 FIN SI |
Cette instruction permet d'effectuer un branchement si le drapeau de débordement est effacé. |
BVS | BVS disp | REL | 2 | 029h | 4 | - | - | - | - | - | - | SI O = 1 ALORS [PC] ← [PC] + disp + 2 FIN SI |
Cette instruction permet d'effectuer un branchement si le drapeau de débordement est fixé. |
CBA | CBA | INH | 1 | 011h | 2 | x | x | x | x | - | - | [A] - [B] | Cette instruction permet de comparer le contenu des registres accumulateurs A et B. |
CLC | CLC | INH | 1 | 00Ch | 2 | 0 | - | - | - | - | - | C ← 0 | Cette instruction permet d'effacer le drapeau de retenue. |
CLI | CLI | INH | 1 | 00Eh | 2 | - | - | - | - | - | 0 | I ← 0 | Cette instruction permet d'effacer le drapeau d'interruption et active les interruptions. |
CLR | CLR A | ACC | 1 | 04Fh | 2 | 0 | 1 | 0 | 0 | - | - | [A] ← 0 | Cette instruction permet d'effacer l'opérande. |
CLR B | ACC | 1 | 05Fh | 2 | [B] ← 0 | ||||||||
CLR data8,X | IDX | 2 | 06Fh | 7 | [data8 + [X]] ← 0 | Cette instruction permet d'effacer l'emplacement mémoire. | |||||||
CLR addr16 | EXT | 3 | 07Fh | 6 | [addr16] ← 0 | ||||||||
CLV | CLV | INH | 1 | 00Ah | 2 | - | - | - | 0 | - | - | O ← 0 | Cette instruction permet d'effacer le drapeau de débordement. |
CMP | CMP A #data8 | IMM | 2 | 081h | 2 | x | x | x | x | - | - | [A] - data8 | Cette instruction permet de comparer le contenu de la mémoire et de l'accumulateur. |
CMP A addr8 | DIR | 2 | 091h | 3 | [A] - [addr8] | ||||||||
CMP A data8,X | IDX | 2 | 0A1h | 5 | [A] - [data8 + [X]] | ||||||||
CMP A addr16 | EXT | 3 | 0B1h | 4 | [A] - [addr16] | ||||||||
CMP B #data8 | IMM | 2 | 0C1h | 2 | [B] - data8 | ||||||||
CMP B addr8 | DIR | 2 | 0D1h | 3 | [B] - [addr8] | ||||||||
CMP B data8,X | IDX | 2 | 0E1h | 5 | [B] - [data8 + [X]] | ||||||||
CMP B addr16 | EXT | 3 | 0F1h | 4 | [B] - [addr16] | ||||||||
COM | COM A | ACC | 1 | 043h | 2 | 1 | x | x | 0 | - | - | [A] ← 0FFh - [A] | Cette instruction permet de calculer le complément de l'opérande. |
COM B | ACC | 1 | 053h | 2 | [B] ← 0FFh - [B] | ||||||||
COM data8,X | IDX | 2 | 063h | 7 | [data8 + [X]] ← 0FFh - [data8 + [X]] | Cette instruction permet de calculer le complément de l'emplacement mémoire. | |||||||
COM addr16 | EXT | 3 | 073h | 6 | [addr16] ← 0FFh - [addr16] | ||||||||
CPX | CPX addr8 | DIR | 2 | 09Ch | 4 | - | x | x | x | - | - | [X(HI)] - [addr8], [X(LO)] - [addr8 + 1] |
Cette instruction permet de comparer le contenu de la mémoire avec le registre d'index X. |
CPX data8,X | IDX | 2 | 0ACh | 6 | [X(HI)] - [data8 + [X]], [X(LO)] - [data8 + [X] + 1] |
||||||||
CPX #data16 | IMM | 3 | 08Ch | 3 | [X(HI)] - data16(HI), [X(LO)] - data16(LO) |
||||||||
CPX addr16 | EXT | 3 | 0BCh | 5 | [X(HI)] - [addr16(HI)], [X(LO)] - [addr16(LO)] |
||||||||
DAA | DAA | INH | 1 | 019h | 2 | x | x | x | x | - | - | Cette instruction permet d'effectuer l'ajustement décimal du registre accumulateur A. | |
DEC | DEC A | ACC | 1 | 04Ah | 2 | - | x | x | x | - | - | [A] ← [A] - 1 | Cette instruction permet de décrémenter une opérande. |
DEC B | ACC | 1 | 05Ah | 2 | [B] ← [B] - 1 | ||||||||
DEC data8,X | IDX | 2 | 06Ah | 7 | [data8 + [X]] ← [data8 + [X]] - 1 | Cette instruction permet de décrémenter un emplacement mémoire | |||||||
DEC addr16 | EXT | 3 | 07Ah | 6 | [addr16] ← [addr16] - 1 | ||||||||
DES | DES | INH | 1 | 034h | 4 | - | - | - | - | - | - | [SP] ← [SP] - 1 | Cette instruction permet de décrémenter le pointeur de pile. |
DEX | DEX | INH | 1 | 009h | 4 | - | x | - | - | - | - | [X] ← [X] - 1 | Cette instruction permet de décrémenter le registre d'index X. |
EOR | EOR A #data8 | IMM | 2 | 088h | 2 | - | x | x | 0 | - | - | [A] ← [A] XOR data8 | Cette instruction permet d'effectuer un «Ou exclusif binaire» d'un accumulateur avec le contenu de la mémoire. |
EOR A addr8 | DIR | 2 | 098h | 3 | [A] ← [A] XOR [addr8] | ||||||||
EOR A data8,X | IDX | 2 | 0A8h | 5 | [A] ← [A] XOR [data8 + [X]] | ||||||||
EOR A addr16 | EXT | 3 | $B8 | 4 | [A] ← [A] XOR [addr16] | ||||||||
EOR B #data8 | IMM | 2 | 0C8h | 2 | [B] ← [B] XOR data8 | ||||||||
EOR B addr8 | DIR | 2 | 0D8h | 3 | [B] ← [B] XOR [addr8] | ||||||||
EOR B data8,X | IDX | 2 | 0E8h | 5 | [B] ← [B] XOR [data8 + [X]] | ||||||||
EOR B addr16 | EXT | 3 | 0F8h | 4 | [B] ← [B] XOR [addr16] | ||||||||
INC | INC A | ACC | 1 | 04Ch | 2 | - | x | x | x | - | - | [A] ← [A] + 1 | Cette instruction permet d'incrémenter une opérande. |
INC B | ACC | 1 | 05Ch | 2 | [B] ← [B] + 1 | ||||||||
INC data8,X | IDX | 2 | 06Ch | 7 | [data8 + [X]] ← [data8 + [X]] + 1 | Cette instruction permet d'incrémenter l'emplacement mémoire. | |||||||
INC addr16 | EXT | 3 | 07Ch | 6 | [addr16] ← [addr16] + 1 | ||||||||
INS | INS | INH | 1 | 031h | 4 | - | - | - | - | - | - | [SP] ← [SP] + 1 | Cette instruction permet d'incrémenter le pointeur de pile. |
INX | INX | INH | 1 | 008h | 4 | - | x | - | - | - | - | [X] ← [X] + 1 | Cette instruction permet d'incrémenter le registre d'index X. |
JMP | JMP data8,X | IDX | 2 | 06Eh | 4 | - | - | - | - | - | - | [PC] ← data8 + [X] | Cette instruction permet de faire un branchement inconditionnel. |
JMP addr16 | EXT | 3 | 07Eh | 3 | [PC] ← addr16 | ||||||||
JSR | JSR data8,X | IDX | 2 | 0ADh | 8 | - | - | - | - | - | - | [[SP]] ← [PC(LO)], [[SP] - 1] ← [PC(HI)], [SP] ← [SP] - 2, [PC] ← data8 + [X] |
Cette instruction permet de faire un saut à une sous-routine. |
JSR addr16 | EXT | 3 | 0BDh | 9 | [[SP]] ← [PC(LO)], [[SP] - 1] ← [PC(HI)], [SP] ← [SP] - 2, [PC] ← addr16 |
||||||||
LDA | LDA A #data8 | IMM | 2 | 086h | 2 | - | x | x | 0 | - | - | [A] ← data8 | Cette instruction permet de charger l'accumulateur en mémoire. |
LDA A addr8 | DIR | 2 | 096h | 3 | [A] ← [addr8] | ||||||||
LDA A data8,X | IDX | 2 | 0A6h | 5 | [A] ← [data8 + [X]] | ||||||||
LDA A addr16 | EXT | 3 | 0B6h | 4 | [A] ← [addr16] | ||||||||
LDA B #data8 | IMM | 2 | 0C6h | 2 | [B] ← data8 | ||||||||
LDA B addr8 | DIR | 2 | 0D6h | 3 | [B] ← [addr8] | ||||||||
LDA B data8,X | IDX | 2 | 0E6h | 5 | [B] ← [data8 + [X]] | ||||||||
LDA B addr16 | EXT | 3 | 0F6h | 4 | [B] ← [addr16] | ||||||||
LDS | LDS addr8 | DIR | 2 | 09Eh | 4 | - | x | x | 0 | - | - | [SP(HI)] ← [addr8], [SP(LO)] ← [addr8 + 1] |
Cette instruction permet de charger le pointeur de pile. |
LDS data8,X | IDX | 2 | 0AEh | 6 | [SP(HI)] ← [data8 + [X]], [SP(LO)] ← [data8 + [X] + 1] |
||||||||
LDS #data16 | IMM | 3 | 08Eh | 3 | [SP(HI)] ← data16(HI), [SP(LO)] ← data16(LO) |
||||||||
LDS addr16 | EXT | 3 | 0BEh | 5 | [SP(HI)] ← [addr16(HI)], [SP(LO)] ← [addr16(LO)] |
||||||||
LDX | LDX addr8 | DIR | 2 | 0DEh | 4 | - | x | x | 0 | - | - | [X(HI)] ← [addr8], [X(LO)] ← [addr8 + 1] |
Cette instruction permet de charger le registre d'index. |
LDX data8,X | IDX | 2 | 0EEh | 6 | [X(HI)] ← [data8 + [X]], [X(LO)] ← [data8 + [X] + 1] |
||||||||
LDX #data16 | IMM | 3 | 0CEh | 3 | [X(HI)] ← data16(HI), [X(LO)] ← data16(LO) |
||||||||
LDX addr16 | EXT | 3 | 0FEh | 5 | [X(HI)] ← [addr16(HI)], [X(LO)] ← [addr16(LO)] |
||||||||
LSR | LSR A | ACC | 1 | 044h | 2 | x | x | 0 | x | - | - | Cette instruction permet d'effectuer un décalage logique vers la gauche et le bit 7 est fixé à 0. | |
LSR B | ACC | 1 | 054h | 2 | |||||||||
LSR data8,X | IDX | 2 | 064h | 7 | |||||||||
LSR addr16 | EXT | 3 | 074h | 6 | |||||||||
NEG | NEG A | ACC | 1 | 040h | 2 | x | x | x | x | - | - | [A] ← 0 - [A] | Cette instruction permet d'effectuer une négation de l'opérande. |
NEG B | ACC | 1 | 050h | 2 | [B] ← 0 - [B] | ||||||||
NEG data8,X | IDX | 2 | 060h | 7 | [data8 + [X]] ← 0 - [data8 + [X]] | Cette instruction permet d'effectuer une négation de l'emplacement mémoire. | |||||||
NEG addr16 | EXT | 3 | 070h | 6 | [addr16] ← 0 - [addr16] | ||||||||
NOP | NOP | INH | 1 | 001h | 2 | - | - | - | - | - | - | Cette instruction ne fait pas d'opération. | |
ORA | ORA A #data8 | IMM | 2 | 08Ah | 2 | - | x | x | 0 | - | - | [A] ← [A] U data8 | Cette instruction permet d'effectuer un «Ou binaire» d'un accumulateur avec le contenu de la mémoire. |
ORA A addr8 | DIR | 2 | 09Ah | 3 | [A] ← [A] U [addr8] | ||||||||
ORA A data8,X | IDX | 2 | 0AAh | 5 | [A] ← [A] U [data8 + [X]] | ||||||||
ORA A addr16 | EXT | 3 | 0BAh | 4 | [A] ← [A] U [addr16] | ||||||||
ORA B #data8 | IMM | 2 | 0CAh | 2 | [B] ← [B] U data8 | ||||||||
ORA B addr8 | DIR | 2 | 0DAh | 3 | [B] ← [B] U [addr8] | ||||||||
ORA B data8,X | IDX | 2 | 0EAh | 5 | [B] ← [B] U [data8 + [X]] | ||||||||
ORA B addr16 | EXT | 3 | 0FAh | 4 | [B] ← [B] U [addr16] | ||||||||
PSH | PSH A | ACC | 1 | 036h | 4 | - | - | - | - | - | - | [[SP]] ← [A], [SP] ← [SP] - 1 | Cette instruction permet d'empiler l'accumulateur dans la pile. |
PSH B | ACC | 1 | 037h | 4 | [[SP]] ← [B], [SP] ← [SP] - 1 |
||||||||
PUL | PUL A | ACC | 1 | 032h | 4 | - | - | - | - | - | - | [SP] ← [SP] + 1, [A] ← [[SP]] | Cette instruction permet de dépiler des données de la pile vers l'accumulateur. |
PUL B | ACC | 1 | 033h | 4 | [SP] ← [SP] + 1, [B] ← [[SP]] |
||||||||
ROL | ROL A | ACC | 1 | 049h | 2 | x | x | x | x | - | - | Cette instruction permet d'effectuer une rotation vers la gauche dans le bit de retenue. | |
ROL B | ACC | 1 | 059h | 2 | |||||||||
ROL data8,X | IDX | 2 | 069h | 7 | |||||||||
ROL addr16 | EXT | 3 | 079h | 6 | |||||||||
ROR | ROR A | ACC | 1 | 046h | 2 | x | x | x | x | - | - | Cette instruction permet d'effectuer une rotation vers la droite dans le bit de retenue. | |
ROR B | ACC | 1 | 056h | 2 | |||||||||
ROR data8,X | IDX | 2 | 066h | 7 | |||||||||
ROR addr16 | EXT | 3 | 076h | 6 | |||||||||
RTI | RTI | INH | 1 | 03Bh | 10 | x | x | x | x | x | x | [SR] ← [[SP] + 1], [B] ← [[SP] + 2], [A] ← [[SP] + 3], [X(HI)] ← [[SP] + 4], [X(LO)] ← [[SP] + 5], [PC(HI)] ← [[SP] + 6], [PC(LO)] ← [[SP] + 7], [SP] ← [SP] + 7 |
Cette instruction permet de retourner d'une interruption. |
RTS | RTS | INH | 1 | 039h | 5 | - | - | - | - | - | - | [PC(HI)] ← [[SP] + 1], [PC(LO)] ← [[SP] + 2], [SP] ← [SP] + 2 |
Cette instruction permet de retourner d'une sous-routine. |
SBA | SBA | INH | 1 | 010h | 2 | x | x | x | x | - | - | [A] ← [A] - [B] | Cette instruction permet de soustraire le contenu de l'accumulateur B de l'accumulateur A. |
SBC | SBC A #data8 | IMM | 2 | 082h | 2 | x | x | x | x | - | - | [A] ← [A] - data8 - C | Cette instruction permet de soustraire le contenu de la mémoire et du drapeau de retenue de l'accumulateur. |
SBC A addr8 | DIR | 2 | 092h | 3 | [A] ← [A] - [addr8] - C | ||||||||
SBC A data8,X | IDX | 2 | 0A2h | 5 | [A] ← [A] - [data8 + [X]] - C | ||||||||
SBC A addr16 | EXT | 3 | 0B2h | 4 | [A] ← [A] - [addr16] - C | ||||||||
SBC B #data8 | IMM | 2 | 0C2h | 2 | [B] ← [B] - data8 - C | ||||||||
SBC B addr8 | DIR | 2 | 0D2h | 3 | [B] ← [B] - [addr8] - C | ||||||||
SBC B data8,X | IDX | 2 | 0E2h | 5 | [B] ← [B] - [data8 + [X]] - C | ||||||||
SBC B addr16 | EXT | 3 | 0F2h | 4 | [B] ← [B] - [addr16] - C | ||||||||
SEC | SEC | INH | 1 | 00Dh | 2 | 1 | - | - | - | - | - | C ← 1 | Cette instruction permet de fixer le drapeau de retenue. |
SEI | SEI | INH | 1 | 00Fh | 2 | - | - | - | - | - | 1 | I ← 1 | Cette instruction permet de fixer le drapeau d'interruption et désactive les interruptions. |
SEV | SEV | INH | 1 | 00Bh | 2 | - | - | - | 1 | - | - | O ← 1 | Cette instruction permet de fixer le drapeau de débordement. |
STA | STA A addr8 | DIR | 2 | 097h | 4 | - | x | x | 0 | - | - | [addr8] ← [A] | Cette instruction permet d'entreposer l'accumulateur en mémoire. |
STA A data8,X | IDX | 2 | 0A7h | 6 | [data8 + [X]] ← [A] | ||||||||
STA A addr16 | EXT | 3 | 0B7h | 5 | [addr16] ← [A] | ||||||||
STA B addr8 | DIR | 2 | 0D7h | 4 | [addr8] ← [B] | ||||||||
STA B data8,X | IDX | 2 | 0E7h | 6 | [data8 + [X]] ← [B] | ||||||||
STA B addr16 | EXT | 3 | 0F7h | 5 | [addr16] ← [B] | ||||||||
STS | STS addr8 | DIR | 2 | 09Fh | 5 | - | x | x | 0 | - | - | [addr8] ← [SP(HI)], [addr8 + 1] ← [SP(LO)] |
Cette instruction permet d'entreposer le pointeur de pile. |
STS data8,X | IDX | 2 | 0AFh | 7 | [data8 + [X]] ← [SP(HI)], [data8 + [X] + 1] ← [SP(LO)] |
||||||||
STS addr16 | EXT | 3 | 0BFh | 6 | [addr16(HI)] ← [SP(HI)], [addr16(LO)] ← [SP(LO)] |
||||||||
STX | STX addr8 | DIR | 2 | 0DFh | 5 | - | x | x | 0 | - | - | [addr8] ← [X(HI)], [addr8 + 1] ← [X(LO)] |
Cette instruction permet d'entreposer le registre d'index X. |
STX data8,X | IDX | 2 | 0EFh | 7 | [data8 + [X]] ← [X(HI)], [data8 + [X] + 1] ← [X(LO)] |
||||||||
STX addr16 | EXT | 3 | 0FFh | 6 | [addr16(HI)] ← [X(HI)], [addr16(LO)] ← [X(LO)] |
||||||||
SUB | SUB A #data8 | IMM | 2 | 080h | 2 | x | x | x | x | - | - | [A] ← [A] - data8 | Cette instruction permet de soustraire le contenu de la mémoire de l'accumulateur. |
SUB A addr8 | DIR | 2 | 090h | 3 | [A] ← [A] - [addr8] | ||||||||
SUB A data8,X | IDX | 2 | 0A0h | 5 | [A] ← [A] - [data8 + [X]] | ||||||||
SUB A addr16 | EXT | 3 | 0B0h | 4 | [A] ← [A] - [addr16] | ||||||||
SUB B #data8 | IMM | 2 | 0C0h | 2 | [B] ← [B] - data8 | ||||||||
SUB B addr8 | DIR | 2 | 0D0h | 3 | [B] ← [B] - [addr8] | ||||||||
SUB B data8,X | IDX | 2 | 0E0h | 5 | [B] ← [B] - [data8 + [X]] | ||||||||
SUB B addr16 | EXT | 3 | 0F0h | 4 | [B] ← [B] - [addr16] | ||||||||
SWI | SWI | INH | 1 | 03Fh | 12 | - | - | - | - | - | 1 | [[SP]] ← [PC(LO)], [[SP] - 1] ← [PC(HI)], [[SP] - 2] ← [X(LO)], [[SP] - 3] ← [X(HI)], [[SP] - 4] ← [A], [[SP] - 5] ← [B], [[SP] - 6] ← [SR], [SP] ← [SP] - 7, [PC(HI)] ← [$FFFA], [PC(LO)] ← [$FFFB] |
Cette instruction permet d'effectuer une interruption logiciel, soit d'empiler les registres sur la pile, de décrémenter le pointeur de pile et de sauter à la sous-routine d'interruption. |
TAB | TAB | INH | 1 | 016h | 2 | - | x | x | 0 | - | - | [B] ← [A] | Cette instruction permet de transférer le registre A vers registre B. |
TAP | TAP | INH | 1 | 006h | 2 | x | x | x | x | x | - | [SR] ← [A] | Cette instruction permet de transférer le registre A vers le registre d'état. |
TBA | TBA | INH | 1 | 017h | 2 | - | x | x | 0 | - | - | [A] ← [B] | Cette instruction permet de transférer le registre B vers registre A. |
TPA | TPA | INH | 1 | 007h | 2 | - | - | - | - | - | - | [A] ← [SR] | Cette instruction permet de transférer le registre d'état vers le registre A. |
TST | TST A | ACC | 1 | 04Dh | 2 | 0 | x | x | 0 | - | - | [A] - 0 | Cette instruction permet d'effectuer un test de l'opérande. |
TST B | ACC | 1 | 05Dh | 2 | [B] - 0 | ||||||||
TST data8,X | IDX | 2 | 06Dh | 7 | [data8 + [X]] - 0 | Cette instruction permet d'effectuer un test de l'emplacement mémoire. | |||||||
TST addr16 | EXT | 3 | 07Dh | 6 | [addr16] - 0 | ||||||||
TSX | TSX | INH | 1 | 030h | 4 | - | - | - | - | - | - | [X] ← [SP] + 1 | Cette instruction permet de copier le contenu du pointeur de pile vers le registre d'index et de l'incrémenter. |
TXS | TXS | INH | 1 | 035h | 4 | - | - | - | - | - | - | [SP] ← [X] - 1 | Cette instruction permet de copier le contenu du registre d'index vers le pointeur de pile et de le décrémenter. |
WAI | WAI | INH | 1 | 03Eh | 9 | - | - | - | - | - | 1 | [[SP]] ← [PC(LO)], [[SP] - 1] ← [PC(HI)], [[SP] - 2] ← [X(LO)], [[SP] - 3] ← [X(HI)], [[SP] - 4] ← [A], [[SP] - 5] ← [B], [[SP] - 6] ← [SR], [SP] ← [SP] - 7 |
Cette instruction permet d'empiler les registres dans la pile, de décrémenter le pointeur de pile et d'attendre après une interruption. |
Dernière mise à jour : Mardi, le 24 juillet 2018