|
发表于 2010-11-16 23:11:39
|
显示全部楼层
累加器进栈指令 PHA/ X. W3 r: G. M6 L: V1 Z, q
7 G+ f9 K: d' X# S2 L
PHA是隐含寻址方式的单字节指令,操作码是 48- B) r& D8 `( ?+ Y1 U
~. c. M9 y$ z/ D 功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减16 f- u E5 q* g( `8 T. g; V4 A6 \5 a
* h5 W2 Q: r0 y7 B累加器出栈指令 PLA; d; s: Y4 p" Z2 ~ j+ O+ \0 t% h
4 R: J8 j7 s2 I s
PLA是隐含寻址方式的单字节指令,操作码是 68
- f+ }; a! y1 j: m7 ?( H4 V
0 E' {( a4 Y; \$ E 功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A3 G+ L7 {- O2 V# |* A
1 w' n) N/ f; r" v: r$ l比较指令
5 s3 I0 V1 }5 k, E9 R8 ]! Y* w2 R$ ~2 t# M# U6 r* X: v
CMP--累加器和存储器比较
8 `% x0 l7 u1 `$ h- }& r! f9 L1 U
$ W0 o8 ^9 [ G7 }/ BCMP #$data C9 立即寻址 * v! z8 S; S+ p0 T- i8 Z
' N+ o( T- W; m5 e' v
JMP--无条件转移指令
! i% m* A# }5 m7 O, \
% S' J9 m. ?& E. J6 y/ U* x符号码格式 指令操作码 寻址方式 6 _& o$ @; L* ?' J- H' x0 I2 R
JMP $data16 4C 绝对寻址 ( ?* `& x" [" N( a+ R9 M9 @3 X
# O V# z4 ?: _& M2. 条件转移指令# _8 k$ b& E4 x: Y
: O6 U& Z& a0 [, a2 x' O) M: {
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 8 s9 j$ m2 c& t& K
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
" o1 Y7 B/ a2 u# |/ eBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
0 r6 M- b( j2 |+ y6 ^& ABCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
9 }* B; O$ v) g5 Y/ iBMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
& u$ n) m$ s3 L2 U0 f+ RBPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 % m. P: J1 P0 ~
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
; Y8 Z$ d% d4 n cBVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 1 @" o6 @, ^; P
( ^4 C/ u) @# Y0 TSTA--将累加器的内容送入存储器 A--M
7 M! D) z0 d4 ^$ z2 Z/ I. H5 GSTA $addr16 8D 绝对寻址 |
|