|
|
发表于 2010-11-16 23:11:39
|
显示全部楼层
累加器进栈指令 PHA
. t- R9 e( a6 {, Q, d% g2 f& C
( r6 |: Q4 U9 u& {" Y4 ] PHA是隐含寻址方式的单字节指令,操作码是 48 ^/ ?$ n) b& I3 x& X0 B
$ q! N& N l) o% b p% k
功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
5 Q6 r" j3 B' w* u) s1 v
) n# ^- M" x3 q2 b7 k1 H累加器出栈指令 PLA
; A4 d2 S1 @( r
& L3 n4 o) S4 d- e: r- y) S! m PLA是隐含寻址方式的单字节指令,操作码是 68
3 G3 |6 U, F$ [( S$ m, Z% D' V( b& k
功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
/ Q. o/ _9 @$ [+ k1 g0 e; p+ D& c6 T% e# t7 `* ]
比较指令
' e7 `2 @( M9 d0 D( l+ _1 K6 E- M+ g0 `! R* H* |6 @ m
CMP--累加器和存储器比较
. j% g; R- R) w8 X
+ [9 k: _3 x; B" YCMP #$data C9 立即寻址 $ U, _4 E) y8 @: s
6 j# M* p/ ]; l+ y, `# UJMP--无条件转移指令: p5 O x6 B/ C, S3 w7 C! l* K
- C& g8 G3 J9 _" y/ k7 T9 h b- W符号码格式 指令操作码 寻址方式 ( F, C: q# Q0 _
JMP $data16 4C 绝对寻址
( u) I, P6 B% u" S
$ h, Z- G' N4 Q' Y' k, H2. 条件转移指令
" E7 A0 ?4 j1 E+ n, M# E
. m) _7 P* ?# x# t5 @BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 ! o4 R2 Q' k) l5 \9 q9 i
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
; O1 x: f7 I5 x# ^ I, g# \BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 / l; F8 X! h2 x1 L; \1 u
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
* Z; l3 z+ _# aBMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
$ h7 k" q" p* [8 lBPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 9 l* Q0 H5 t9 R6 p& I9 V: { u2 N
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
9 P, z. j% T( Y! }+ j! p( aBVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 . }6 c$ n' h% q7 {
2 X9 |, P/ Q8 mSTA--将累加器的内容送入存储器 A--M% F: v! F2 N- z) \# e$ Z( {4 f8 G4 d8 {
STA $addr16 8D 绝对寻址 |
|