|
发表于 2010-11-16 23:11:39
|
显示全部楼层
累加器进栈指令 PHA
6 d% }3 _" r; ?; x1 H( T+ @% C( @2 G. T2 b
PHA是隐含寻址方式的单字节指令,操作码是 48
3 v: Z0 c0 [( P& P }% [2 J+ N6 }9 M k5 Z; F
功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1. c7 u( e: A' g0 F
, o! A9 g3 \; P2 `
累加器出栈指令 PLA
( l# V/ N8 H2 Y# \( ^% f9 r
" b8 x6 u; K8 ?! ?: E0 p PLA是隐含寻址方式的单字节指令,操作码是 68
% D% e# e3 F; Z: t4 t" s
1 l( Y+ {0 ]5 k8 N, H 功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
% g2 e( C1 \+ u" ~9 \$ c6 S! n6 u# ^$ Q: ^% U& ~# l- N% g* a
比较指令+ g' P5 ]' X- [) ], S+ _
: m" a( E |3 `2 Q* T9 V0 t+ u. K' NCMP--累加器和存储器比较; G+ M* L T; U/ X1 R: J$ a* i. v
0 p ], ~+ J3 }: M2 T( Z6 j2 t
CMP #$data C9 立即寻址
" U3 X) _" P" N8 M3 {" w/ i8 |* k
3 U! K, A- k) `6 s. ~JMP--无条件转移指令
% O: i6 L4 Y2 Z: T' U- Y! ~, M* e' b1 ^$ f2 @- O2 r9 j
符号码格式 指令操作码 寻址方式
, ?) _: S/ a0 K, p0 {; j i: M# gJMP $data16 4C 绝对寻址 h2 _6 Z- h' d6 z7 h" [, I
% w7 |, h* f6 [8 a
2. 条件转移指令
% g# `' m! t9 D+ k, Y7 F A: N1 @% R2 q4 a- G3 o @
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续
7 S7 F9 o/ ?9 IBNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续 ) O! Z4 o3 ~) \# F7 D
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 8 e+ {. g6 b# T$ M g# z
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 / q! T0 {6 T8 E; J; F, w
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 ' }' _" q0 Q. x" T
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 3 M) T' @" b2 e% p
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
`; _: W$ }8 xBVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续
- {7 T; O0 @- r- z5 U1 w, x6 R; O L& z" A+ h
STA--将累加器的内容送入存储器 A--M. ?8 t, J3 U, x* H1 h) q% u& n
STA $addr16 8D 绝对寻址 |
|