|
发表于 2010-11-16 23:11:39
|
显示全部楼层
累加器进栈指令 PHA
$ u6 j& f& p( i2 ?1 {8 S" `2 X- c8 q2 e7 ]& ~% w" X& U* [4 _, I2 `( j& Y
PHA是隐含寻址方式的单字节指令,操作码是 48; p, A- Y# R1 o* C' f8 r
$ H$ X2 o- H3 a" P/ l" x9 W& F) l; `
功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
, L: ?8 ]: x; T" M& u: `. w5 p! W" T7 N
累加器出栈指令 PLA
* W& p3 S* A5 c' k. A' R- m9 w8 T5 L, A
PLA是隐含寻址方式的单字节指令,操作码是 68 I+ `5 t$ K" T" O$ N+ n' D
9 r6 `" R( g0 N; A' b: y
功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
9 Z, I' ?# \% a1 A+ m# I
0 Z) H$ W( o: W8 X6 b$ [9 M4 [比较指令
) u$ v. x C) e/ |8 P9 J5 j: h) K) @$ Y
7 Y8 } n; _7 [& ?7 iCMP--累加器和存储器比较+ C7 I3 g7 W* d: K9 S3 w# i/ P
) A) N, ]) y( n1 aCMP #$data C9 立即寻址
1 w$ i A% a( @$ U
0 {5 t4 k# W F5 H; t9 FJMP--无条件转移指令
, a6 S7 c( V- v% O- g. N/ G4 _/ @; M. l2 ]5 V% Z6 \: c
符号码格式 指令操作码 寻址方式
2 n- |& z4 {, J- t9 u: CJMP $data16 4C 绝对寻址
) `1 }* b: Q, [1 f7 y. W; s" w: i; ^5 q. T6 O
2. 条件转移指令
' F* h2 D+ U! W% }& N, D2 I2 B& ~
0 B& t- ]: \- VBEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 6 N5 s3 k3 k& g+ @# e5 N
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
2 R* |: j2 @9 O4 ~$ e/ x/ oBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 , z6 _& p5 r+ [
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 6 Q& k2 r$ z+ e r- A
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
. c$ p$ ?" l0 kBPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 ' w+ I- k/ @; ]# ^2 o2 P+ ]2 S
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续 1 y% H# u# f: ?8 u6 n
BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续
+ D3 \' n3 y* A# i; o
6 \( { Y! X9 H! X6 @9 ~& JSTA--将累加器的内容送入存储器 A--M
^7 K8 W1 v6 oSTA $addr16 8D 绝对寻址 |
|