|
|
发表于 2010-11-16 23:11:39
|
显示全部楼层
累加器进栈指令 PHA) T+ v, d% `: Z8 Q1 ~& {
' C" V F g# `3 m! F( V PHA是隐含寻址方式的单字节指令,操作码是 48* O2 P+ C" o0 @& E& W
% U, U4 ^, g _2 a8 S- n3 ]) z; j
功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1" M( n' W v" B/ A1 c' W/ [
" W+ p l. h/ s" A累加器出栈指令 PLA
# {3 {. [4 [" Y8 w! s8 ]. J" C
2 @3 q4 \6 H8 a0 e8 X PLA是隐含寻址方式的单字节指令,操作码是 688 x, y& ?0 T# `( ^
H% _3 S7 Y! \( Y: m+ q
功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
1 i' y' M8 y' D
" O) D* y7 x9 b4 {比较指令
$ \8 Z5 Z+ T v6 }' a9 X' G
7 n: E* E7 B$ f1 ^CMP--累加器和存储器比较( l0 e+ w+ Z- w
% W& x0 q/ _- z5 {CMP #$data C9 立即寻址 : q f0 N* h) {$ V1 `5 |: Q( k1 z
1 l2 b& z5 [$ {+ mJMP--无条件转移指令, o* M1 W/ G7 f7 ^. \0 z2 T$ W
' c4 L b# F; L; |5 t+ t符号码格式 指令操作码 寻址方式
9 M4 k: y7 j* MJMP $data16 4C 绝对寻址 6 \$ k2 G8 L0 A2 H2 d. ^" ^% F
% G1 J2 z, z2 R8 M7 U, z* a2. 条件转移指令& }; L# M9 Y& _$ |; {& ~
3 k W5 X" Y$ P# N8 y. e1 D2 l' E
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 5 Y. @ H0 M* Q- u% }
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
1 L9 s9 B. i! ^! L( l JBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
, Z" ^ ]$ M2 O, F5 ABCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 # O: S5 x9 p- c6 r3 ]
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 6 ?4 b# c8 }1 g) y8 `. @
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 ; e, G6 W# T u7 k6 h ^
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续 1 s4 G j$ E: X5 J5 ?
BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 8 G$ Z' X: z1 K @6 Q3 |1 o! o6 G
; z" K# j& z2 W) o uSTA--将累加器的内容送入存储器 A--M4 h- k" ~# C, w2 K4 L/ o$ f
STA $addr16 8D 绝对寻址 |
|