Académique Documents
Professionnel Documents
Culture Documents
Fettah
Benammou Jamila
TP 1 : Programmation du microcontrôleur 68HC11
On a le programme suivant :
ORG $FE00
CLRA
LDAA #$12
STAA $40
LDAA #$34
STAA $41
LDAA $40
ADDA $41
STAA $42
SWI
END
END
Les contenues avant et après exécution du programme :
Avant : Après :
($0040)=$FF ($0040)=$12
($0041)=$FF ($0041)=$34
($0042)=$FF ($0042)=$46
CLR $43
CLRA
LDAA #N1
STAA $40
LDAA #$N2
STAA $41
LDAA $40
ADDA $41
BCC TOTO
INC $43
SWI
END
Adresse Code machine ETIQUETTE Code mnémonique Mode Commentaire
d’adressage
Code Code Code Code
opération opérande opération opérande
ORG $FE00
(#$82)
END
Les contenues avant et après exécution du programme :
Avant : Après :
($0040)=$FF ($0040)=$11
($0041)=$FF ($0041)=$22
($0042)=$FF ($0042)=$33
($0043)=$00 ($0043)=$00
(CC)=11010000 (CC)=(11010001)
P EQU $0050
IP EQU $0051
LDX #D_TABLE
CLR P
CLR IP
BEQ FIN
LDAA ,X
ANDA #$11
BEQ PAIR
INC IP
INX
BRA BOUCLE
PAIR : INC P
INX
BRA BOUCLE
FIN : SWI
ORG $FE00
$fe03 7F 00 50 CLR P
$fe06 7F 00 51 CLR IP
$fe0e 97 00 LDAA ,X
$fe10 96 11 ANDA #$11 IMM
$fe14 24 00 51 INC IP I
ORG $FE00
LDAA #$00
LDX #$01
BOUCLE : STAA ,X
INX
CMPA #$FF
BEQ SAUT
INCA
BRA BOUCLE
SAUT: SWI
END
END
ORG $fE00
LDAA #$FF
LDX #$0200
BOUCLE1 STAA ,x
INX
CMPA #$80
BEQ SAUT1
DECA
BRA BOUCLE1
BOUCLE2 STAB ,X
INX
CMPB #$7f
BEQ SAUT2
INCB
BRA BOUCLE2
SAUT2 SWI
END
END
Soit le programme suivant qui permet de déterminer chacune des nombres
positifs, négatifs et nuls :
ORG $FE00
NP EQU $0050
LDX #D.TABLE
CLR NP
CLR NNE
CLR NNU
BEQ FIN
LDAA ,X
BMI Négatif
BEQ Null
INC NP
INX
BRA BOUCLE
INX
BRA BOUCLE
INX
BRA BOUCLE
FIN: SWI
ORG D.TABLE
FCB 2,0,-1,3,4,,8,-14,-15,7
END
END
CLR MIN
CLR MAX
LDX #TABLE
LDAA ,X
INX
STAA
MAX
STAA MIN
BEQ FIN1
CMPA MAX
BHI high
LDAA ,X
CMPA MIN
BLO low
INX
BRA BOUCLE
high LDAA ,X
INX
STAA MAX
BRA BOUCLE
low LDAA ,X
INX
STAA MIN
BRA BOUCLE
FIN1 SWI
ORG $0100
FCB $02,$02,$04,$05,$01,$07,$07,$00
END
Adresse Code machine ETIQUETTE Code mnémonique Mode Commentaire
d’adressage
Code Code Code Code
opération opérande opération opérande
LDX #$0100
LDY #$0200
Boucle LDAA ,X
STAA ,Y
INX
INY
CPX #$010A
BEQ FIN
BRA BOUCLE
FIN SWI
ORG $0100
FCB 2,3,4,5,6,8,1,2,0,14
END
END