|
发表于 2010-11-16 23:11:39
|
显示全部楼层
累加器进栈指令 PHA4 M X8 Y; c! B' ?
% W0 ^9 j- b, v PHA是隐含寻址方式的单字节指令,操作码是 489 ]) U3 `$ r- x, }& e
% S0 I6 {- G, t2 _9 [
功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1, ?# }) c* T: q, O. i+ @! u
5 ~! E9 i6 R9 f0 z G
累加器出栈指令 PLA& m/ z& m8 X1 P# T! w
7 l$ Y0 u1 X6 G6 K! \8 d% l PLA是隐含寻址方式的单字节指令,操作码是 68
; i K. a9 h3 x6 M8 Z5 E6 ?: [5 c* _9 M$ b* G; [
功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A* ~& ]8 ~5 {0 c8 y* B
9 h9 g+ E8 I3 i& Z5 [比较指令1 Z, I* z6 f6 a+ i4 b
; q+ a) T! m" _, S: W& UCMP--累加器和存储器比较# H: Q0 K8 n0 D8 n: u/ D: @
J6 y# I i& p' d) Y: j) u
CMP #$data C9 立即寻址 , r' ] f4 \' [7 q- b; w
6 L5 T1 r2 [8 e8 S0 EJMP--无条件转移指令
6 F( N, B. i3 [3 c; C% E) d) ?9 `3 t) q
符号码格式 指令操作码 寻址方式
( e% ]! t; A' K1 h0 wJMP $data16 4C 绝对寻址 & a M1 ]( l0 W0 H: b) X
( d2 @% B% R# \! E- ]' u$ E2 ^; B
2. 条件转移指令# s; K7 t% M9 B
2 y* [) Q/ g- \9 T& [* [6 n6 j, d
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 " Z$ G7 v, Z$ a
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续 : [9 r7 |& w N+ M
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 1 W2 G) _" W4 u6 H7 P: L) o" F
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
3 y8 C, A2 [! ^, \* I# f1 hBMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
1 m/ X2 p1 v' t& Y# YBPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续
4 W; `2 p/ v6 b: z$ ]5 ~4 _BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续 4 o- ~* C$ O( r
BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续
+ D- N) p& U- z9 i! J; g& C. T0 Q& q; J: K, `. E# c: d
STA--将累加器的内容送入存储器 A--M
2 [$ x2 z" U4 s4 dSTA $addr16 8D 绝对寻址 |
|