![]() Page réalisée par: Philippe Moreau UPJV |
Nous avons ici regroupé les instructions par types. On trouvera donc les opérateurs servant au transfert (et affectation), les opérateurs qui effectuent uniquement des tests (comparaison), les opérateurs arithmétiques, les opérateurs logiques, les instructions permettant décalages et rotations, les instructions permettant les ruptures de séquence (sauts et branchements) des opérateurs qui agissent sur des bits et enfin, des instructions plus spécifiques qui sont citées, mais dont on pourra se passer pour nos écritures de programmes.
Dans le tableau qui suit on trouvera:
- l'instruction (avec éventuellement [.f])
- le type d'opérande
- l'action réalisée
- Une colonne "Commentaires" qui permet de donner quelques précisions sur l'instruction, les formats possibles, les modes d'adressages autorisés etc...
Instruction | Opérande | Action | Commentaires | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CLR[.f] | Destination | Destination ← 0 | - Destination étant différent de An, Imm, ..(PC).. (..(PC).. fait référence aux adressages relatifs au PC) (.f = .b ou .w ou .l) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
MOVE[.f] | Source,Destination | Destination ← Source | - Source peut prendre toutes les formes d'adressages possibles - Destination étant différent de An, Imm, ..(PC).. (.f = .b ou .w ou .l) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
MOVEA[.f] | Source,An | An ← Source | - Source peut prendre toutes les formes d'adressages possibles. (.f = .w ou .l) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
MOVEM[.f] | Liste-Registres,<EA>1 <EA>,Liste-Registres2 | 1<EA> ←
Liste-Registres 2Liste-Registres ← <EA> | 1- <EA> ≠ Dn , An , (An)+ , Imm , ..(PC).. 2 - <EA> ≠ Dn , An , -(An) , Imm (Liste-Registres sous la forme : Da-Db/Ac-Ad faisant référence à tous les registres de Données numérotés de a à b et tous les registres d'Adresses numérotés de c à d) (.f = .w ou .l) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
MOVEQ | #n,Dn | Dn ← n | L'opération se fait sur 32 bits. n est signé et est donné sur 8 bits (étendu à 32) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
MOVE from CCR | CCR,<EA> | <EA> ← CCR | - avec <EA> ≠ An , Imm , ..(PC).. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
MOVE to CCR | <EA>,CCR | CCR ← <EA> | - avec <EA> ≠ An | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
MOVE from SR | SR,<EA> | <EA> ← SR | - avec <EA> ≠ An , Imm , ..(PC).. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
MOVE to SR | <EA>,SR | SR ← <EA> | - avec <EA> ≠ An | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
EXG(EXchanGe) | Dn,Dm | Dn ↔ Dm | - échange les contenus des deux registres de Données sur 32 bits | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
SWAP | Dn | - échange les 16 bits de poids forts avec les 16 bits de poids faibles dans le registre Dn | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
LEA | <EA>,An | An ← l'adresse donnée par EA | (LEA pour: Load Effective Address) (toujours sur
32 bits)
- <EA> peut prendre les formes (An), d(An), d(An,Xn), Abs.w, Abs.l, d(PC), d(PC,Xn) ATTENTION: An reçoit l'adresse donnée par EA et non le contenu ( LEA $2F78E,A0 ⇔ MOVE.L #$2F78E,A0 ) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Instruction | Opérande | Action | Commentaires | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
CMP[.f] | <EA>,Dn | Dn - <EA> | - cette action a pour effet d'affecter les bits du registre d'états - <EA> peut prendre toutes les formes. (.f = .b ou .w ou .l) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
CMPA[.f] | <EA>,An | An - <EA> | - <EA> peut prendre toutes les formes. (.f = .w ou .l) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
CMPI[.f] | #n,<EA> | <EA> - n | - <EA> peut prendre toutes les formes sauf : An, Imm, ..(PC).. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
CMPM[.f] | (An)+,(Am)+ | (Am)+ - (An)+ | (CMPM pour: CoMPare Memory) (.f = .b ou .w ou .l) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
TST[.f] | <EA> | <EA> - 0 | Compare Destination à zéro (ce qui a pour effet positionner les bits N et Z du
registre d'états V et C étant mis à 0). - avec <EA> ≠ An, Imm, ..(PC).. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Instruction | Opérande | Action | Commentaires | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
ABCD | Source(S),Destination(D) | D(DCB)← D(DCB)+S(DCB)+X |
- Où X est le bit du CCR (bit d'extension) - le format (non spécifié) est toujours sur 1 Octet. - Il n'existe que 2 écritures possibles pour le couple S,D : Dn,Dm ou -(An),-(Am) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
SBCD | Source(S),Destination(D) | D(DCB)← D(DCB)-S(DCB)-X | - X bit du CCR, format sur 1 Octet, mode d'adressages: Dn,Dm ou -(An),-(Am) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
ADD[.f] | <EA>,Dn ou Dn,<EA> | Dn ← Dn + <EA> ou <EA> ← <EA> + Dn |
- dans le cas <EA>,Dn : <EA> peut prendre toutes les formes - pour Dn,<EA> : <EA> prend toutes les formes exceptées Dn, An, Imm et ..(PC).. Rmq: Ce sont les instructions suivantes ADDA et ADDI qui permettent de compléter le nombre de couples "S,D" possibles. Toutefois, le logiciel d'assemblage que nous utilisons, permet la frappe de ADD à la place ADDA ou ADDI. (.f = .b ou .w ou .l) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
ADDA[.f] | <EA>,An | An ← An + <EA> | - où <EA> peut prendre toutes les formes. (.f = .w ou .l) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
ADDI[.f] | #n,<EA> | <EA> ← <EA> + n | - où <EA> ≠ An, Imm et ..(PC).. (.f = .b ou .w ou .l) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
ADDQ[.f] | #n,<EA> | <EA> ← <EA> + n | - où <EA> ≠ Imm, ..(PC).. (attention: 1≤n≤8) (.f = .b ou .w ou .l) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
ADDX[.f] | Dn,Dm ou -(An),-(Am) | Dm ← Dm + Dn + X ou -(Am) ← -(Am) + -(An) + X | - X bit du CCR, (.f = .b ou .w ou .l) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
SUB[.f] | <EA>,Dn ou Dn,<EA> | Dn ← Dn - <EA> ou <EA> ← <EA> - Dn |
- dans le cas <EA>,Dn : <EA> peut prendre toutes les formes - pour Dn,<EA> : <EA> prend toutes les formes exceptées Dn, An, #Imm et ..(PC).. (.f = .b ou .w ou .l) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
SUBA[.f] | <EA>,An | An ← An - <EA> | - où <EA> peut prendre toutes les formes. (.f = .w ou .l) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
SUBI[.f] | #n,<EA> | <EA> ← <EA> - n | - où <EA> ≠ An, Imm et ..(PC).. (.f = .b ou .w ou .l) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
SUBQ[.f] | #n,<EA> | <EA> ← <EA> - n | - où <EA> ≠ Imm, ..(PC).. (attention: 1≤n≤8) (.f = .b ou .w ou .l) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
SUBX[.f] | Dn,Dm ou -(An),-(Am) | Dm ← Dm - Dn - X ou -(Am) ← -(Am) - -(An) - X | - X bit du CCR, (.f = .b ou .w ou .l) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
MULU | <EA>,Dn | Dn(32bits) ← Dn(16bits) * <EA>(16bits) | - avec <EA> ≠ An - seuls les 16 bits de poids faible de Dn sont pris pour la multiplication, mais ensuite les 32 bits de Dn sont affectés. - les nombres sont considérés comme non-signés (U=Unsigned) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
MULS | <EA>,Dn | Dn(32bits) ← Dn(16bits) * <EA>(16bits) | - idem MULU avec des nombres signés (S=Signed) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
DIVU | <EA>,Dn | Dn(32bits) ← Dn(32bits) / <EA>(16bits) | - avec <EA> ≠ An - les 32 bits de Dn sont pris en compte pour la division, et ensuite les 16 bits de poids faible de Dn contiennent le Quotient, les 16 bits de poids fort contenant le Reste de la division entière. - les nombres sont considérés comme non-signés (U=Unsigned) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
DIVS | <EA>,Dn | Dn(32bits) ← Dn(32bits) / <EA>(16bits) | - idem DIVU avec des nombres signés (S=Signed) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
NEG[.f] | <EA> | <EA> ← - <EA> | - avec <EA> ≠ An , Imm , ..(PC).. , (.f = .b ou .w ou .l) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
NEGX[.f] | <EA> | <EA> ← - <EA> - X | - avec <EA> ≠ An , Imm , ..(PC).. , (.f = .b ou .w ou .l) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
NBCD | <EA> | <EA> ← - <EA>(DCB) - X | - toujours sur 8 bits avec <EA> ≠ An , Imm , ..(PC).. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
EXT[.f] | Dn | Dn(sur 2.f bits) ← Dn(sur f bits) | - (.f = .w ou .l), EXTention de signe (de 8 à 16 bits ou de 16 à 32 bits) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Instruction | Opérande | Action | Commentaires | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
AND[.f] | <EA>,Dn ou Dn,<EA> | Dn ← Dn ∧ <EA> ou <EA> ← <EA> ∧ Dn |
- pour <EA>,Dn : <EA> ≠ An - pour Dn,<EA> : <EA> ≠ Dn, An, Imm et ..(PC).. Rmq: le ET logique (∧) est fait bit à bit. (.f = .b ou .w ou .l) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
ANDI[.f] | #n,<EA> | <EA> ← <EA> ∧ n | - où <EA> ≠ An, Imm et ..(PC).. (.f = .b ou .w ou .l) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
ANDI to CCR | #n,CCR | CCR ← CCR ∧ n | - format .b | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
ANDI to SR | #n,SR | SR ← SR ∧ n | - format .w | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
OR[.f] | <EA>,Dn ou Dn,<EA> | Dn ← Dn ∨ <EA> ou <EA> ← <EA> ∨ Dn |
- pour <EA>,Dn : <EA> ≠ An - pour Dn,<EA> : <EA> ≠ Dn, An, Imm et ..(PC).. Rmq: le OU logique (∨) est fait bit à bit. (.f = .b ou .w ou .l) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
ORI[.f] | #n,<EA> | <EA> ← <EA> ∨ n | - où <EA> ≠ An, Imm et ..(PC).. (.f = .b ou .w ou .l) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
ORI to CCR | #n,CCR | CCR ← CCR ∨ n | - format .b | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
ORI to SR | #n,SR | SR ← SR ∨ n | - format .w | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
EOR[.f] | <EA>,Dn ou Dn,<EA> | Dn ← Dn ⊕ <EA> ou <EA> ← <EA> ⊕ Dn |
- pour <EA>,Dn : <EA> ≠ An - pour Dn,<EA> : <EA> ≠ Dn, An, Imm et ..(PC).. Rmq: le OU Exclusif (⊕) est fait bit à bit. (.f = .b ou .w ou .l) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
EORI[.f] | #n,<EA> | <EA> ← <EA> ⊕ n | - où <EA> ≠ An, Imm et ..(PC).. (.f = .b ou .w ou .l) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
EORI to CCR | #n,CCR | CCR ← CCR ⊕ n | - format .b | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
EORI to SR | #n,SR | SR ← SR ⊕ n | - format .w | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
NOT[.f] | <EA> | <EA> ← ¬ <EA> | - NON logique bit à bit (¬) = complément à 1
= inversion de tous les bits - avec <EA> ≠ An , Imm , ..(PC).. , (.f = .b ou .w ou .l) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Instruction | Opérande | Action | Commentaires | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
ASL[.f] | <EA> #n,Dn Dm,Dn | <EA> ← <EA> << 1 Dn ← Dn << n (1≤n≤8) Dn ← Dn << Dm | - Pour <EA>: <EA> ≠ Dn, An, Imm, et ..(PC).. , (.f = .b ou .w ou .l) - Arithmetic Shift Left: Décalage Arithmétique à Gauche | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
ASR[.f] | <EA> #n,Dn Dm,Dn | <EA> ← <EA> >> 1 Dn ← Dn >> n (1≤n≤8) Dn ← Dn >> Dm | - Pour <EA>: <EA> ≠ Dn, An, Imm, et ..(PC).. , (.f = .b ou .w ou .l) - Arithmetic Shift Right: Décalage Arithmétique à Droite | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
LSL[.f] | <EA> #n,Dn Dm,Dn | <EA> ← <EA> << 1 Dn ← Dn << n (1≤n≤8) Dn ← Dn << Dm | - Pour <EA>: <EA> ≠ Dn, An, Imm, et ..(PC).. , (.f = .b ou .w ou .l) - Logical Shift Left: Décalage Logique à Gauche | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
LSR[.f] | <EA> #n,Dn Dm,Dn | <EA> ← <EA> >>> 1 Dn ← Dn >>> n (1≤n≤8) Dn ← Dn >>> Dm | - Pour <EA>: <EA> ≠ Dn, An, Imm, et ..(PC).. , (.f = .b ou .w ou .l) - Logical Shift Right: Décalage Logique à Droite | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
ROL[.f] | <EA> #n,Dn Dm,Dn |
<EA> ← <EA> 1 Dn ← Dn n (1≤n≤8) Dn ← Dn Dm |
- Pour <EA>: <EA> ≠ Dn, An, Imm, et ..(PC).. , (.f = .b ou .w ou .l) - ROtate Left: Rotation à Gauche | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
ROR[.f] | <EA> #n,Dn Dm,Dn |
<EA> ← <EA> 1 Dn ← Dn n (1≤n≤8) Dn ← Dn Dm |
- Pour <EA>: <EA> ≠ Dn, An, Imm, et ..(PC).. , (.f = .b ou .w ou .l) - ROtate Right: Rotation à Droite | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
ROXL[.f] | <EA> #n,Dn Dm,Dn |
<EA> ← <EA> 1 Dn ← Dn n (1≤n≤8) Dn ← Dn Dm |
- Pour <EA>: <EA> ≠ Dn, An, Imm, et ..(PC).. , (.f = .b ou .w ou .l) - ROtate with X Left: Rotation à Gauche avec X | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
ROXR[.f] | <EA> #n,Dn Dm,Dn |
<EA> ← <EA> 1 Dn ← Dn n (1≤n≤8) Dn ← Dn Dm |
- Pour <EA>: <EA> ≠ Dn, An, Imm, et ..(PC).. , (.f = .b ou .w ou .l) - ROtate with X Right: Rotation à Droite avec X | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Instruction | Opérande | Action | Commentaires | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
BRA | Adr (souvent Label) | PC ← Adr | - BRanch Allways: Branchement sans Condition | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bxx | Adr (souvent Label) | PC ← Adr (si xx vérifié) |
- Branchement sous condition. Le tableau ci-dessous reprend et complète les cas déjà vus.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
JMP | Adr (souvent Label) | PC ← Adr | - JuMP: Aller à Adresse | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
BSR | Adr (souvent Label) | -(SP) ← PC ; PC ← Adr | - Branch Sub Routine: Aller exécuter le sous programme à l'adresse donnée | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
JSR | Adr (souvent Label) | -(SP) ← PC ; PC ← Adr | - Jump Sub Routine: Aller exécuter le sous programme à l'adresse donnée | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
RTS | rien | PC ← (SP)+ | - ReTurn from Subroutine: Retour suite à l'appel d'un sous programme | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBRA | Dn,Adr (souvent Label) | Dn ← Dn-1 Si Dn ≠ -1 Alors Aller à Adresse FinSi | - Decrement and BRAnch sans autre condition - Remarque: DBRA ⇔ DBF (voir ci-dessous) - DBRA est très utile pour implémenter les boucles définies | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBxx | Dn,Adr (souvent Label) | Si xx n'est pas vérifié Alors Dn ← Dn-1 Si Dn ≠ -1 Alors Aller à Adresse FinSi FinSi |
- Branchement sous condition et décrémentation.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
TRAP | #<N°vecteur> | -(SSP) ← PC -(SSP) ← SR PC ← (vecteur) | - provoque une interruption,
le N° de vecteur donne une référence à une adresse qui permet de choisir un morceau de programme à exécuter. - Dans notre environnement de développement, on utilise TRAP #15 pour appeler les routines système déjà écrites. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Instruction | Opérande | Action | Commentaires | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
BCHG | Dn,<EA> ou #n,<EA> | inverse un bit de destination (bit dont le N° est donné par source) | - Bit CHanGe, le bit Z du registre CCR prend la valeur inverse du bit avant changement. - <EA> ≠ An, Imm et ..(PC).. ; l'opération se fait sur 32 bits si <EA>=Dn et sur 8 bits si <EA>≠Dn | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
BCLR | Dn,<EA> ou #n,<EA> | met à 0 un bit de destination (bit dont le N° est donné par source) | - Bit CLeaR, le bit Z du registre CCR prend la valeur inverse du bit avant changement. - <EA> ≠ An, Imm et ..(PC).. ; l'opération se fait sur 32 bits si <EA>=Dn et sur 8 bits si <EA>≠Dn | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
BSET | Dn,<EA> ou #n,<EA> | met à 1 un bit de destination (bit dont le N° est donné par source) | - Bit SET, le bit Z du registre CCR prend la valeur inverse du bit avant changement. - <EA> ≠ An, Imm et ..(PC).. ; l'opération se fait sur 32 bits si <EA>=Dn et sur 8 bits si <EA>≠Dn | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
BTST | Dn,<EA> ou #n,<EA> | teste un bit de destination (bit dont le N° est donné par source) | - Bit TeST, le bit Z du registre CCR prend la valeur inverse du bit. - <EA> ≠ An, Imm ; l'opération se fait sur 32 bits si <EA>=Dn et sur 8 bits si <EA>≠Dn | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sxx | <EA> | Si xx est vérifié Alors les bits de <EA> ← 1 Sinon les bits de <EA> ← 0 FinSi |
- l'opération se fait sur 8 bits, <EA> ≠ AN, Imm et ..(PC).. .
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Instruction | Opérande | Action | Commentaires | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
NOP | rien | rien | - passe du temps | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
PEA | <EA> | -(SP) ← l'adresse donnée par EA | - Push Effective Address: mettre une
"adresse" sur la pile (toujours sur 32 bits) - <EA> peut prendre les formes (An), d(An), d(An,Xn), Abs.w, Abs.l, d(PC), d(PC,Xn) ATTENTION: <EA> est pris comme une adresse et non un mode d'adressage. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
LINK | An,#d | -(SP) ← An An ← SP SP ← SP+d | - d déplacement sur 16 bits - avec un déplacement négatif cela peut permettre d'allouer un emplacement mémoire sur la pile tout en conservant les informations nécessaires au bon fonctionnement de la pile ultérieurement | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
UNLK | An | SP ← An ; An ← (SP)+ | - UNLinK | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
RTD | #d | PC ← (SP)+ ; SP ← SP+d | - ReTurn and Deallocate - d déplacement sur 16 bits | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
RTR | rien | CC ← (SP)+ ; PC ← (SP)+ | - ReTurn and Restore Condition Code | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
TAS | <EA> | Teste <EA> et met le bit7 de <EA> à 1 | - Test And Set: agit sur N et Z
- <EA> ≠ An, Imm et ..(PC).. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
CHK | <EA>,Dn | Si Dn<0 OU Dn><EA> alors TRAP | - CHecK, Trap de numéro prédéfini, <EA> ≠ An | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
MOVE (USP) | USP,An An,USP | si Superviseur alors An ← USP USP ← An sinon TRAP | - Uniquement en mode Superviseur | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
MOVES[.f] | <EA>,Dn Rn,<EA> | si Superviseur alors Dn ← <EA> <EA> ← Dn sinon TRAP | - Uniquement en mode Superviseur - Rn = Dn ou An, <EA> ≠ Dn, An, Imm, ..(PC).. - (.f = .b ou .w ou .l) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Egalement, d'autres instructions accessibles uniquement en mode superviseur : ILLEGAL, MOVEC, RESET, RTE, STOP, TRAPV |