|
|
发表于 2010-11-16 23:11:39
|
显示全部楼层
累加器进栈指令 PHA
" j! c) T0 F5 a' h2 _, n( T& W
6 i: d4 L- b$ p2 C PHA是隐含寻址方式的单字节指令,操作码是 48& Z7 h7 e! [) n0 i; S6 P2 \
1 J5 \& L. \; S1 ?' w! g
功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1( k1 J, G' v1 o3 a3 n1 P: `# I. s- O
- n1 q5 |& ?$ e" h( {6 l, z累加器出栈指令 PLA3 i0 v/ q O# y1 B3 g% ^
+ F( Q& C9 l: B( D: k PLA是隐含寻址方式的单字节指令,操作码是 689 N) Y7 X( ?1 e" F3 B
' o- z" b) J' I' V5 {1 V$ T
功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
7 l1 O" K M% W0 y1 A
" W/ Y* K5 E3 u2 C; Q$ {% t5 R比较指令& g8 f# S2 f$ e* m' e+ s% x
9 [* p4 Y V# }CMP--累加器和存储器比较* J1 q' G0 e; |' A A# Q1 v
! m2 g5 h9 m9 Z% r7 [+ }$ ~. ]CMP #$data C9 立即寻址
5 E, v: B$ G$ S7 h* W9 P6 ]/ p* y$ a( V* d3 m" |6 g' i( Q4 j
JMP--无条件转移指令
# b% b4 c6 G( l. g+ z- M. X# m0 b- y2 C5 |1 E' I, V' m
符号码格式 指令操作码 寻址方式 : v! k2 H' j: l9 f7 N! G3 F1 T; r
JMP $data16 4C 绝对寻址
9 M( g7 D1 Y' s, [% z( o3 A/ U0 Y( ]& d- X7 l& f( H1 G
2. 条件转移指令
2 B) P% \6 A1 ?1 R5 Y
- U: Y @ r/ d+ N4 dBEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 " h: ^# P% X2 T9 p4 X
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续 ; O; j. f X7 j1 Y
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 $ R5 f, i# {* a% d) t7 p! n9 }
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 $ Y, s! q8 i( U# H+ _. v' N- k! z
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
7 ~, ^ n5 J: ~0 bBPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续
! ]6 o0 U8 ~# A* [BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续 9 y6 P# p" h2 J
BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 2 T5 g: |4 j$ N( M, Y& `
, F% U: ^- \; G, J: n7 X5 A5 _
STA--将累加器的内容送入存储器 A--M, T0 k1 s# j& J% U6 b8 {' q
STA $addr16 8D 绝对寻址 |
|