|
|
发表于 2010-11-16 23:11:39
|
显示全部楼层
累加器进栈指令 PHA1 M- u% o. G u7 M, \% o
: T7 ~3 G( b4 e+ G- D
PHA是隐含寻址方式的单字节指令,操作码是 48/ s2 l# @3 w% F0 t$ }' E/ q: Z
0 O) ~. H3 I& D 功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
* R7 S' v `2 {7 k4 n) ]4 d5 K K$ x6 k
累加器出栈指令 PLA
! A5 O1 m7 K+ F
f, r6 m, L: |: O4 H PLA是隐含寻址方式的单字节指令,操作码是 68
" D, d. {/ o! B1 l# x3 |/ J
( U- Q3 v! |/ s5 j! m 功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A4 @4 S0 I; Y! D, \0 k" o
4 V. T& t/ k6 d比较指令/ j. u6 L: w8 L0 N2 g" U' O. j0 n
6 J3 N6 J$ w2 M8 i+ p/ n1 r. `CMP--累加器和存储器比较: }0 h' A2 k( o s% \3 f3 I
, W" f4 R& W: p/ V4 Q
CMP #$data C9 立即寻址
4 y5 j: a. y q8 F) U+ q' ^2 a+ P- a2 A: R7 {! |
JMP--无条件转移指令
* D ^5 {# B+ b( e/ y5 n+ }
N; u3 Z7 J$ e: x) [符号码格式 指令操作码 寻址方式 2 \/ E# ~/ B% z! E3 S& Y
JMP $data16 4C 绝对寻址 3 T/ }' B+ x0 M5 S- }
8 @+ A( C! D" @" N) `; ]
2. 条件转移指令! v5 S S: b: C" s2 k; P5 J4 J1 e
7 z0 M+ u" O0 \! W4 G
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续
2 K1 e0 P) `4 w4 ~: T. R! o* c! WBNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
+ z+ _% r' C) ] @. F) |( H eBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 7 i6 _" p! d" v( g, Y& x
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 }9 Z m4 g: i; l) B# Z* o
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 0 D: }# V* C- Z& N, ^
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 * ^" P# s' C' |' y
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续 2 m% K* U, b! b2 \
BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 3 H% N P S# T7 D- Z5 v
( X+ S2 |* Y9 x8 O8 ]STA--将累加器的内容送入存储器 A--M( F) `0 [/ S' k8 @- `3 M
STA $addr16 8D 绝对寻址 |
|