COURS ASSEMBLEUR 68HC11 1/10
SOMMAIRE 1 ) DÉFINITION
page 2
2 ) L’ÉDITION
page 3
2.1 ) LANGAGE DE L’ ASSEMBLEUR X68 C11 2.1.1) LA SYNTAXE DE L’ASSEMBLEUR X68C11 2.1.1.1) La!e" #$ %&'($e&&e 2.1.1.2) A*e++age 2.1.1. ) T,pe+ 2.1.1.- ) Op%*a&'#+
2.1.2 ) DRECTES D’ASSEMBLAGE 2.1.2.1) C#&*"e e +3age 2.1.2.2 ) D%4''&'#+ 2.1.2. ) M#e 2.2 ) NSTRUCTONS DU C 68HC11 2.2.1 ) ADRESSAGE 2.2.2 ) CHARGEMENT7 MMORSATON ET TRANS9ERT 2.2.3 ) MAN:ULATON ET TEST DE BTS 2.2.4 ) O:RATONS MATHMAT;UES 2.2.5.) O:RATONS LOG;UES 2.2.6 ) MULT:LCATON ET DSON 2.2.< ) DCALAGES ET ROTATONS 2.2.8 ) STRUCTURE
page 3
page page page page page page page -
page 5 page 5 page 6
page 6 page 6 page 6 page 7 page 7 page 8 page 8
page 8 2.2.9 ) NSTRUCTONS SUR LE REGSTRE D’TAT
page 8
3 ) INCLUSION DE FICHIER
page 9
4 ) ASSEMBLAGE
page 9
5) REGLAGE DES PARAMETRES DE COMMUNICATION
page 10
6 ) DEBUGGER
page 10
C#$*+ =C a++e>!"e$*.#
COURS ASSEMBLEUR 68HC11 2/10
1 ) DÉFINITION :#$* *%a"'+e* e& $&'"'+e* $ p*#g*a>>e7 '" e+& %e++a'*e e +$'?*e "’a"g#*'&@>e +$'?a&
C#$*+ =C a++e>!"e$*.#
COURS ASSEMBLEUR 68HC11 /10
2 ) L’ÉDITION E""e #+'+&e %*'*e $ p*#g*a>>e +$'&e ’'+&*$&'#+ ) "’a'e ’$ %'&e$* e &e&e. E""e $&'"'+e "e "agage e "’a++e>!"e$* X68C11e& "a +,&ae $ =C68HC11. O "ae "’%'&'# "’a'e ’$e #>>ae $ "#g''e" 'HC11.
Ue "'ge ’'+&*$&'# +e p*%+e&e +#$+ "a 4#*>e +$'?a&e ET;UETTE
CODE O:ERATORE
O:ERANDE
F F ’#>>e&a'*e’’
2.1 ) LANGAGE DE L’ ASSEMBLEUR X68C11
2.1.1 ) LA SYNTAXE DE L’ASSEMBLEUR X68C11 2.1.1.1) Lae! "# $%&'#e%%e
D'+&'g$e "e+ >a$+$"e+ e+ >'$+$"e+. " e+& e *Ig"e e "e+ >e&&*e $#$*+ e >a$+$"e. U "a!e" #'& J&*e %"a*% a+ +# champ label ( colonne 1 ) 7 +'# "e+ +a$&+ *e"a&'4+ +$* e "a!e" e p#$**#& pa+ J&*e a"$"%+ e& # 4#*%+ "’a*e++age %&e$. 2.1.1.2)A(e**age M"(e -+$e+% -//$(&a% E%e+(# D&e%
C"(e "p$a+(e
Lae! a!e# Lae! Lae!
,p$a+(e -/p!&&%e>e& #&e$e
a+ "’'+&*$&'# a!e# sur !u 16 "#$s su#%&'$ (’#'s$ru$#!'*
a*e+% !’"p$a+(e !#&//e !’a(e**e (e !’"p$a+(e !’a(e**e (e !’"p$a+(e
U&'"'+% "#*+($e "’#p%*ae e+& +'&$% e page 0. L’a*e++age '*e& pe$& J&*e a$>a&'($e e $&'"'+a& "e+ '*e&'?e+ A!+#"$&e’ e& *e"a&'?e’ "#*+ e+ *%+e*?a&'#+ e >%>#'*e. "’'e $&'"'+% e& "e %a"age. L’a*e++e e "’#p%*ae e+& a"$"%e pa*
Lae!
-+(e$
Le code opérande est ...
,*e%X
,*e%:
X ; ,*e%
C#$*+ =C a++e>!"e$*.#
COURS ASSEMBLEUR 68HC11 -/10 2.1.1.3 ) =>pe*
Bases D%'>a" Hea%'>a" O&a" B'a'*e ASC
? @ ’
ex LDAA LDAA LDAA LDAA LDAA
K5 K2A K25 K10010111 K’’
2.1.1.4 ) ,p$a%&"+* !e %>pe (# $*#!%a% ("&% e*%e "/pa%&!e !"#$
L’IN%T&'$TION %INON +rr+ur* ; 7 7 F
a*'&@>%&'($e e # +'g% #>p"%>e& Ep F 212 212
"a! "a! "a! "a!
K-6P5 K562/60 K-5
7 ET 7 OU "a! .X,R. X#* "a!
K-6Q90 K-6.XOR.90
K<<28/2 Le+ #p%*a&'#+ e &*a?a'""e& ($e +$* e+ e&'e*+ +a+ "'>'&e e '>e+'#7 a"#*+ '" 4a$& 4a'*e "e+ e& P a?a& "e+ / e& V p#$* ga*e* "a p*%'+'#. Le *%+$"&a& #'& J&*e #>pa&'!"e a?e +# $&'"'+a&'#. 2.1.2 ) DRECTES D’ASSEMBLAGE 2.1.2.1) C"+%!e (e *%"Hage
Drecte ,RG END ICB
IDB ICC
RMB
%*n+caton #*'g'e e+ "a!e"+ ORG 4' ’a++e>!"age END +3e e+ #&e&+ e >%>#'*e. MEM19CB MEM29CB Me++1 9CB #>>e 9CB +$* e+ >#&+ e MEM9DB 16 !'&+ +3e $e @aWe e Me++2 9CC a*a&I*e+ %"'>'&%e pa* $ Me++ 9CC >J>e a*a&I*e. *%+e*?e e+ !,&e+ e >%>#'*e TAB RMB
C#$*+ =C a++e>!"e$*.#
#xemples B600
55 217011010117E< a> @app, ’ 55AA /’> @app, / '&e++e >/+) -
COURS ASSEMBLEUR 68HC11 5/10
2.1.2.2 ) D$&+&%&"+*
Drecte EJU AR
%*n+caton %4''& $e #+&a&e #>>e E;U >a'+ *e%4''++a!"e e #$*+ e p*#g*a>>e. U&'"'+% "#*+ e+ %"a*a&'#+ e+ ?a*'a!"e+ "#a"e+ +3%e+ a+ "a p'"e.
CONST1 C:TR
#xemples E;U B600 AR 2
2.1.2.3 ) M"(e
Drecte
%*n+caton -NCLUDE pe*>e& ’'"$*e $ 4'@'e* DOS. U +e$" '?ea$ ’'"$+'#. ABS,LU=E :#$* ea*e* "e+ "a!e"+ ($' #'?e& J&*e a*e++%+ e '*e& +$* "a page 0 LAB1 RELA=-E
O pe$& + e pa++e* >a'+ a"#*+ "’a*e++age '*e& #'& J&*e ep"''&e.
#xemples NCLUDE 9CHER.EXT
ABSOLUTE ORG 0 ... ... RELATE
BRSET A7M7Re"
C#$*+ =C a++e>!"e$*.#
COURS ASSEMBLEUR 68HC11 6/10
2.2 ) -NS=RUC=-,NS DU KC 68C11 UN e# "/p!e% (e* &+*%#%&"+* e*% ("++$ e+ a++ee
2.2.1 ) ADRESSAGE Le* &+*%#%&"+* *"+% ("++$e* !’a&(e (e /+$/"+&'#e* Da+* !e* &+*%#%&"+* Oa(’ pe#% %e &e+ I',-r+'$ . a!e# I..-/#&$ . Lae! E$+'/u0 !u /#r+$ &u$!.&$#u+ +' &+ . ,*e%X I'/+- +$* X #$ Y a?e #44+e& #+&a& 8 !'&+7 # +'g%.
*e"’ *ep*%+e&e "’a*e++age *e"a&'4 e"$+'?e>e& *%+e*?% p#$* "e+ !*a@e>e&+. 2.2.2 ) CHARGEMENT7 MEMORSATON ET TRANS9ERT ,oncton M&*e 0 ’$ #&e& >%>#'*e e "’a$ A #$ B Cage "’a$ A #$ B D7 X 7 Y #$ S "’a$ A #$ B M$/"&*e D7 X7 Y #$ S A a+ B #$ "’'?e*+e =a+*e% A a+ CCR #$ "’'?e*+e S:P1 a+ X #$ Y XV1 #$ YV1 a+ S: Ea+ge D a?e X #$ Y =&e A7 B7 X #$ Y e "a p'"e P"#**e A7 B7 X #$ Y a+ "a p'"e
-némon/e CLR a CLR* LDA* a LD* a STA* a ST* a TAB #$ TBA TA: #$ T:A TS* T*S XGD* :UL* :SH*
2.2. ) MAN:ULATON ET TEST DE BTS ,oncton B&% =e*% A #$ B a?e "a >%>#'*e B&%* /&* %*# U Ba+e *& !'&+) %ga" %*# U
-némon/e
BT* a BCLR a7 >+3 BSET a7 >+3 BRCLR a7 >+37 *e" BRSET a7 >+37 *e"
C#$*+ =C a++e>!"e$*.#
COURS ASSEMBLEUR 68HC11 10
2.2.- ) O:ERATONS ARTHMET;UES ,oncton e "’a$ B A 7 A((&%&"+ X #$ Y # +'g%) ’$e >%>#'*e A #$ B 8 !'&+) D 16!'&+) a?e *e&e$e A #$ B >%>. A #$ B +a+ *e&e$e S"#*%a&% D 16!'&+) >%>. A #$ B a?e *e&e$e BA A#*%e/e+% ($&/a! e A ap*I+ $e a'&'#7 pa+ $e '*%>e&a&'#) -+$/e+%e $ #&e& >%>#'*e A #$ B S7 X #$ Y $ #&e& >%>#'*e D$$/e+%e A #$ B S7 X #$ Y ’$ #&e& >%>#'*e C"/p!$/e+% 2 e A #$ B AB C"/pae A #$ B $e >%>#'*e D7 X #$ Y "a >%>#'*e ’$ #&e& =e*% *& Q$" "# +$ga%& e A #$ B
-némon/e
AB* ADD* a ADC* a SUB* a SBC* a SBA DAA NC a NC* N* DEC a DEC* DE* NEG a NEG* CBA CM:* a C:* a TST a TST*
2.2.5 ) O:ERATONS LOG;UES ,oncton >%>#'*e E= A #$ B >%>#'*e ,U A #$ B >%>#'*e ,U EX A #$ B B&% %e*% >%>#'*e E= A #$ B C"/p!$/e+%e >%>#'*e A #$ B
-némon/e
AND* a ORA* a EOR* a BT* a COM a COM*
C#$*+ =C a++e>!"e$*.#
COURS ASSEMBLEUR 68HC11 8/10 2.2.6 ) MULT:LCATON ET DSON ,oncton M#!%&p!&a%&"+ A B Z D D&&*&"+ a%&"++a&e D X Z X F * Z D N$>7 D%#> e&'e*+ 16!'&+7 R%+$"& e& Re+&e 4*a&'#a'*e+ 16 !'&+ . D&&*&"+ e+%&e D X ZX F * Z D N$>7 D%#>7 R%+$"& e& Re+&e e&'e*+ 16!'&+
-némon/e
MUL 9D D
2.2.< ) DECALAGES ET ROTATONS ,oncton ga$@e
D$a!age A&%/$%&'#e
C
0
*#'&e C
ga$@e ASL) *#'&e
D$a!age !"g&'#e
≡
C
0
ga$@e
R"%a%&"+ C
*#'&e
’$ #&e& e A7 B #$ D ’$ #&e& eA #$ B ’$ #&e& e A7 B #$ D ’$ #&e& e A7 B #$ D ’$ #&e& e A #$ B ’$ #&e& e A #$ B
-némon/e ASL a ASL* ASR a ASR* LSL a LSL* LSR a LSR* ROL a ROL* ROR a ROR*
2.2.8 ) STRUCTURE ,oncton Ba+e $ +#$+Vp*#g*a>>e Sa#% $ +#$+Vp*#g*a>>e Re%"# (e *"#*p"ga//e Re%"# (’&+%e#p%&"+ -+%e#p%&"+ p*#g*a>>%e A%%e+%e (’&+%e#p%&"+ Pa* (’"p$a%&"+ A%e !’"!"ge
-némon/e
BSR *e" [SR a RTS RT S A NO: STO:
2.2. ) NSTRUCTONS SUR LE REGSTRE D’ETAT ,oncton M&*e Q$" $ !'& C7 7 M&*e #+ $ !'& C7 7
-némon/e
CL! SE!
C#$*+ =C a++e>!"e$*.#
COURS ASSEMBLEUR 68HC11 /10 2.2.10 ) SAUTS ET BRANCHEMENTS ,oncton Sa#% Ba+e
-némon/e
[M: a BRA *e" %"#"#* a/a&* BRN *e" +' +"+ e%e+#e C 0) BCC *e" e%e+#e C 1) BCS *e" 0) BNE *e" 0 T0 1) BE; *e" B:L *e" N 0) 0 0 N 1) BM *e" pa* (e ($pa**e/e+% 0) BC *e" BS *e" ($pa**e/e+% 1) Ap*I+ #p%*a&'# e #>pa*a'+# #$ +#$+&*a&'# +' BGE *e" +'g%) # +'g%) BHS *e" BCC +'g%) BGT *e" # +'g%) BH *e" BLE *e" +'g%) BLS *e" # +'g%) +'g%) BLT *e" # +'g%) BLO *e" BCS +' &%* 0 BRCLR a7>+37*e" BRSET a7>+37*e" &%* 1 ≡
≡
0) IN$L'%ION D# ,I$I#& :#$* '"$*e $ 4'@'e* >%>#'($e a+ ?#&*e p*#g*a>>e7 pa* ee>p"e "e 4'@'e* e #4'g$*a&'# e+ 6- #&e&+ $ =C68HC11 *eg'+&*.e($ )7 '" 4a$& a#$&e* "a "'ge +$'?a&e a+ ?#&*e p*#g*a>>e p#$* "a ?e*+'# '@11 NCLUDE ../REGSTR.E;U F&a!"e e+ *eg'+&*e+ e +#*&'e p#$* "a ?e*+'# '@12 NCLUDE REG/STR.E;U F&a!"e e+ *eg'+&*e+ e +#*&'e " 4a$& a$++' %4''* "e @e>' ’aI+ a$ 4'@'e* '"$+ pa* "a #>>ae
) !%%#-BL!3# " +’e44e&$e "’a'e ’$e #>>ae $ "#g''e" 'HC11. De$ 4'@'e*+ +#& g%%*%+ ’e&e+'#+ "+& e& S1.
C#$*+ =C a++e>!"e$*.#
COURS ASSEMBLEUR 68HC11 10/10
4) L!3# D#% 5!&!-#T% D# $O--'NI$!TION " +’e44e&$e "’a'e ’$e #>>ae $ "#g''e" 'HC11.
C@#' $ p#*& +%*'e e "’#*'a&e$* #>1 / #>2 ) C@#' e "a 4*%($ee $ ($a*&\ <<2800H\ C@#' $ &a"3e* B##&+&*ap e :ROM 9E00
6 ) D#B'33#& " +’e44e&$e "’a'e ’$e #>>ae $ "#g''e" 'HC11. Ue a'e e+& '+p#'!"e a+ "e "#g''e".
C#$*+ =C a++e>!"e$*.#