|
发表于 2010-11-16 23:11:39
|
显示全部楼层
累加器进栈指令 PHA- M. Q& N8 A$ x2 B* v2 S: o
- M: C4 D) {# I8 G+ d
PHA是隐含寻址方式的单字节指令,操作码是 48# f4 m5 M2 X `- X$ L0 h8 F: L# B7 `
- R8 F8 e& b5 w4 j0 o% j8 o3 X 功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减16 h9 f1 a4 s. W. w
, ? ~. v4 B: W c5 l累加器出栈指令 PLA1 U$ A( a' S7 g" a
. ` H0 g J; D" }: Z# x* B) J PLA是隐含寻址方式的单字节指令,操作码是 68
! K4 l+ U( w! p1 x5 a
, v9 T) S. f: Z' U: E! }( `6 C 功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A6 Q+ u; R# h& ~: i
T$ H! `- `. O0 t- L- P比较指令2 v+ E6 U4 {9 X/ k6 w$ x" b4 [9 [
6 W* u8 U' G6 e! t
CMP--累加器和存储器比较
" x% A4 |1 L/ D% w3 e* R" \. A% z8 Q# |4 a3 H1 |
CMP #$data C9 立即寻址
' {' b# t& \( u/ Y- n; `
# S* o' [, C# r+ w$ {* J7 mJMP--无条件转移指令
* J. g2 Q" i6 H, X& X5 F
& c. o( p P: C$ o符号码格式 指令操作码 寻址方式
% ?1 O, B, M9 H) KJMP $data16 4C 绝对寻址
B& o8 m; D& U+ o: _/ F& y# J5 j, q/ g3 ]1 R* E& [
2. 条件转移指令" c( A" u3 i/ g7 @ y- p" Z
{! {% n6 q/ x- y
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 3 s! A1 L: ^ S- K# p; B0 g
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续 + R8 v* N( q9 D" }+ h, L: ~
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 ! N7 b) j( U5 u: R
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 6 y* g5 E: a, C x% N: d
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
1 F0 M# S8 x2 f1 c1 K, ]5 aBPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 , f* C/ N6 O0 C/ ^( q
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
+ s! f3 v) x/ C. Z8 fBVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 1 Q( T* p' u5 s1 |( M6 d( {# g
2 j$ f" X4 i" e( s& b. _& f |1 aSTA--将累加器的内容送入存储器 A--M3 M- a5 y/ P1 b; C8 c/ e
STA $addr16 8D 绝对寻址 |
|