Professional Documents
Culture Documents
}}
LSR LSRA 44 2 1 AA b7 b0 CC * 0 t * t
LSRB 54 2 1 BB 00 * 0 t * t
LSR 04 6 2 64 6+ 2+ 74 7 3 MM * 0 t * t
MUL 3D 11 1 A x B D ( non signé ) * * t * 9
NEG NEGA 40 2 1 (Compl. A ) + 1 A 8 t t t t
NEGB 50 2 1 (Compl. B ) + 1 B 8 t t t t
NEG 00 6 2 60 6+ 2+ 70 7 3 (Compl. M ) + 1 M 8 t t t t
NOP 12 2 1 Aucune opération ( No operation ) * * * * *
OR ORA 8A 2 2 9A 4 2 AA 4+ 2+ BA 5 3 AvMA * t t 0 *
ORB CA 2 2 DA 4 2 EA 4+ 2+ FA 5 3 BvMB * t t 0 *
ORCC 1A 3 2 CC v IMM CC 7
4
PSH PSHS 34 5+ 2 Sauvgarde les registres dans la pile S * * * * *
4
PSHU 36 5+ 2 Sauvgarde les registres dans la pile U * * * * *
4
PUL PULS 35 5+ 2 Restore les registres de la pile S * * * * *
PULU 37 5+ 4
2 RestoreCles registres de la pile U * * * * *
ROL ROLA
ROLB
49
59
2
2
1
1
A
B
M
} C b7
b7
b0
b0
*
*
t
t
t
t
t
t
t
t
ROR
ROL
RORA
RORB
09 6 2 69 6+ 2+ 79 7 3
46
56
2
2
1
1
A
B
M
} C b7 b0 *
*
*
t
t
t
t
t
t
t
*
*
t
t
t
ROR 06 6 2 66 6+ 2+ 76 7 3 * t t * t
RTI 3B 6/15 1 Retour de sous programme d’interruption 7
RTS 39 5 1 Retour de sous programme * * * * *
SBC SBCA 82 2 2 92 4 2 A2 4+ 2+ B2 5 3 A–M–CA 8 t t t t
SBCB C2 2 2 D2 4 2 E2 4+ 2+ F2 5 3 B–M–CB 8 t t t t
SEX 1D 2 1 ( B signé ) D ( sign extend B into D ) * t t 0 t
ST STA 97 4 2 A7 4+ 2+ B7 5 3 AM * t t 0 *
STB D7 4 2 E7 4+ 2+ F7 5 3 BM * t t 0 *
STD DD 5 2 ED 5+ 2+ FD 6 3 D M : M+1 * t t 0 *
STS 10 DF 6 3 10 EF 6+ 3+ 10 FF 7 4 S M : M+1 * t t 0 *
STU DF 5 2 EF 5+ 2+ FF 6 3 U M : M+1 * t t 0 *
STX 9F 5 2 AF 5+ 2+ BF 6 3 X M : M+1 * t t 0 *
STY 10 9F 6 3 10 AF 6+ 3+ 10 BF 7 4 Y M : M+1 * t t 0 *
SUB SUBA 80 2 2 90 4 2 A0 4+ 2+ B0 5 3 A–MA 8 t t t t
SUBB C0 2 2 D0 4 2 E0 4+ 2+ F0 5 3 B–MB 8 t t t t
SUBD 83 4 3 93 6 2 A3 6+ 2+ B3 7 3 D – M : M+1 D * t t t t
6
SWI SWI 3F 19 1 Interruption logicielle 1 * * * * *
6
SWI2 10 3F 20 2 Interruption logicielle 2 * * * * *
6
SWI3 11 3F 20 1 Interruption logicielle 3 * * * * *
SYNC 13 ≥4 1 Synchronisation de l’interruption * * * * *
TFR R1 , R2 1F 6 2 R1 R2 ( R1,R2 registres 8 ou 16 bits ) * * * * *
TST TSTA 4D 2 1 Test A * t t 0 *
TSTB 5D 2 1 Test B * t t 0 *
TST 0D 6 2 6D 6+ 2+ 7D 7 3 Test M * t t 0 *
Instructions de branchements de 6809, qui utilisent le mode d’adressage relatif
Notes :
Instruc.FormesModes d’adressages relatifDescriptions53210Op.~#HNZVCBCCBCC2432Branchement si C = 0*****LBCC10
245(6)4Longue branchement si C = 0*****BCSBCS2532Branchement si C = 1*****LBCS10 255(6)4Longue branchement si C = Op. Code opération ( Hexadécimal ).
1*****BEQBEQ2732Branchement si Z = 1*****LBEQ10 275(6)4Longue branchement si Z = 1*****BGEBGE2C32Branchement si ~ Nombre de cycles.
résult. ≥ 0 ( si N V = 0 )*****LBGE10 2C5(6)4Longue branchement si résult. ≥ 0 ( si N V = 0 ) # Nombre d’octets.
*****BGTBGT2E32Branchement si résult. > 0 ( si Z ^ [ N V ] = 0 )*****LBGT10 2E5(6)4Longue branchement si résult. > 0 ( si Z ^ AND ( ET logique ).
^ [ N V ] = 0 )*****BHIBHI2232Branchement si résult. > 0 ( si C v Z = 0 )*****LBHI10 225(6)4Longue branchement si résult. > v OR ( OU logique ).
0 (si C v Z = 0 )*****BHSBHS2432Branchement si résult. ≥ 0 ( si C = 0 )*****LBHS10 245(6)4Longue branchement si résult. ≥ 0 XOR ( OU exclusif ).
( si C = 0 )*****BLEBLE2F32Branchement si résult. ≤ 0 ( si Z v [ N V ] = 1 )*****LBLE10 2F5(6)4Longue branchement si : Concaténation.
résult. ≤ 0 ( si Z v [ N V ] = 1)*****BLOBLO2532Branchement si résult. < 0 ( si C = 1 )*****LBLO10 255(6)4Longue Non affecté.
branchement si résult. < 0 ( si C = 1 )*****BLSBLS2332Branchement si résult. ≤ 0 ( si C v Z = 1 )*****LBLS10 235(6)4Longue Transfert vers .
branchement si résult. ≤ 0 (si C v Z = 1 )*****BLTBLT2D32Branchement si résult. < 0 ( si N V = 1 )*****LBLT10 Echange
2D5(6)4Longue branchement si résult. < 0 ( si N V = 1 )*****BMIBMI2B32Branchement si N = 1*****LBMI10 2B5(6)4Longue CC Registre code condition.
branchement si N = 1*****BNEBNE2632Branchement si Z = 0*****LBNE10 265(6)4Longue branchement si Z = M Donnée en mémoire ou immédiate.
0*****BPLBPL2A22Branchement si N = 0*****LBPL10 2A5(6)4Longue branchement si N = 0*****BRABRA2032Branchement t Mise à 1 si vrai , mise à 0 si faux.
inconditionnel*****LBRA1653Longue branchement inconditionnel*****BRNBRN2132Branchement nul part ( équivalent à NOP )
*****LBRN10 2154Longue branchement nul part ( équivalent à NOP )*****BSRBSR8D72Branchement au sous E Bit d’état de sauvegarde des registres dans la pile.
programme*****LBSR1793Longue branchement au sous programme*****BVCBVC2832Branchement si V = 0*****LBVC10 F Bit de masquage de l’interruption FIRQ.
285(6)4Longue branchement si V = 0*****BVSBVS2932Branchement si V = 1*****LBVS10 295(6)4Longue branchement si V = H Bit de demi retenue ( Half carry ).
1***** I Bit de masquage de l’interruption IRQ.
N Bit de signe négatif.
Z Bit indiquant un résultat nul.
V Bit indiquant un dépassement ( Overflow ).
C Bit de retenue ( Carry ).
b7b6b5b4R2b3b2b1b0R10000D
Le code opération de l’instruction TFR R1 , R2 est constitué de 2 octets, le premier est $1F, le 2ème octet
( A:B ) (post-octet ) est déterminé à partir de tableau ci-contre de la manière suivante :
0001X0010Y0011U0100S0101P Exemple : TFR A, DP ( A DP )
C1000A1001B1010CC1011DP
R1 ( = A )R2 ( = DP )
b7b6b5b4b3b2b1b0100010118B
Remarque : la même opération est effectuée pour déterminer le 2ème octet (post-octet ) de l’instruction EXG
R1 , R2
ECOLE SUP’TEMA 3ème TELECOM
CONTROLE EN MICROPROCESSEUR
1) Exercice 1
on dispose d’une table de 10 données de 8 bits choisies arbitrairement. Proposer un programme de
recherche de la donnée maximale
2) Programmation du chenillard :
On considère que nous avons 8 diodes LED connectées sur le port B. L’allumage des
diodes est provoqué par un état ‘1’ sur le bit qui convient du registre ORB.
Le registre DDRB permet d’indiquer le sens de fonctionnement du port. Chacun des
bits peuvent être programmé individuellement. ‘0’ le bit fonctionne en sortie, ‘1’ le bit
fonctionne en entrée.
Le CRB est le registre de contrôle permet d’accéder soit au registre ORB soit au
registre DDRB.
2-1)- compléter le schéma ci-dessus en insérant les diodes
2-2)- Etablir un algorithme permettent l’initialisation du PIA :
2-3)- Etablir un algorithme ou organigramme permettant de faire clignoter toutes les
diodes du port B :
2-4)- Ecrire un sous programme de temporisation appelé DELAI qui permet de
programmer la période de clignotement à 500 ms
2-5)- Ecrire le programme complet en langage assembleur