|
发表于 2010-11-16 23:11:39
|
显示全部楼层
累加器进栈指令 PHA
/ v* e* Y, e( N3 d0 D
/ O* t$ h* [2 O PHA是隐含寻址方式的单字节指令,操作码是 48
8 K, g1 u9 S3 s% U
2 L8 A- x7 Z. x) r. r( N 功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1, m; I; G1 D+ p$ K6 X
4 c) ?9 z4 F2 L
累加器出栈指令 PLA' Z& F. K3 O6 r, X( c
T5 P3 q! o) T+ q
PLA是隐含寻址方式的单字节指令,操作码是 68
, G% J5 A* m$ r$ n% g W
0 x2 J- x0 @# U$ @1 V- [! O 功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A, B8 ?' U9 s; Y+ e: ?
, E0 ~! |, V, [& F- T* L" S
比较指令/ x& X8 Z' o6 h# B
/ ^- }, B5 C) E2 C
CMP--累加器和存储器比较* N- c1 w1 T+ O) [) ?/ y' z7 D+ w% S
+ ^ y* [2 R. l. tCMP #$data C9 立即寻址
" Y- z; ^: S- D+ j- J5 v- d: w. R, ~. R4 S- H- X
JMP--无条件转移指令
3 S0 K! i0 s: {3 x
) I/ m( C I4 J) F$ Q3 Q" k符号码格式 指令操作码 寻址方式 - R& ]; d& M: }% c0 k
JMP $data16 4C 绝对寻址
5 M8 }2 W* G, V# e' @/ ^) S) n0 o' R- h
2. 条件转移指令( ^7 f1 C$ k8 Z9 n2 o: |
- z5 B9 E' d/ U, S" F6 @0 h" O' [
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 8 Q6 q l- C% i* D* _
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续 - F: V: F P+ b( u( E
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 0 i4 m* L9 e/ c! o
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
6 j+ Z) `6 Y/ l. X/ kBMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
$ B; T/ K a1 z$ ~% _" eBPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 * R' u5 ]$ L* F, ]
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
+ V5 j8 B+ z7 D% J$ A4 JBVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 + I! f, z e7 i$ q8 o
! x) {. q3 U. O$ W/ u6 U$ [' DSTA--将累加器的内容送入存储器 A--M
/ E9 n V r8 eSTA $addr16 8D 绝对寻址 |
|