|
|
发表于 2010-11-16 23:11:39
|
显示全部楼层
累加器进栈指令 PHA
i! A# |& h. k5 `7 p& j7 c l0 x# _0 P) K4 ]' b
PHA是隐含寻址方式的单字节指令,操作码是 48
6 m* R; N0 t# e2 @4 P) u1 ~7 T; k7 \1 X9 Z
功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1. e) t; E2 {. o7 [9 d
9 `5 O; j$ D6 }; L G2 q累加器出栈指令 PLA
/ Q. w7 w q$ o! b- i
, u& O3 p9 q! ]# k: } PLA是隐含寻址方式的单字节指令,操作码是 68
$ o; q! r8 }9 f8 l% e6 l
& s' }) T# z. G( h, F% U 功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
5 T5 Q* [& z8 j1 k9 m! R7 N4 e4 z3 N8 K7 o6 r4 K. t
比较指令, L( M, E' P1 T8 }9 l1 K
2 Y1 @% n& O/ ]% y( c
CMP--累加器和存储器比较1 ?9 K0 Q& b7 z2 T; M
# {: v4 f) I9 vCMP #$data C9 立即寻址
* s5 a- `1 H4 [
l% R& E( b3 r& H( ]9 ~+ c zJMP--无条件转移指令
& J* _5 _3 Y5 R" Q# r0 l9 o7 \+ l! @+ W5 x9 n
符号码格式 指令操作码 寻址方式 7 O1 m- H. f( ]& H" I
JMP $data16 4C 绝对寻址 3 t0 Z2 W' N& [; a4 M
1 g: R: i9 g4 y' F# J, @" I2. 条件转移指令9 y. ^" v4 P8 _) L
6 C5 l+ d% D S0 y$ s
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 1 A2 C5 v2 \! B, ^# y( Z' H
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
# X& e3 K. P" d+ f% q" fBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
1 {7 u! a- N0 y3 o" p* hBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 1 n* Y0 j, j- o, `( ]
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 $ g. E* B! N2 d% d7 y
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续
: S8 F) R! z" M: ^, ~BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续 n8 M6 c' D0 D! \$ A: I6 ?# Z/ v
BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 ( Q S5 u+ O) @& a4 D
+ E# W# n2 N( S" _STA--将累加器的内容送入存储器 A--M( H3 s: J+ A9 u! P2 O; [( g
STA $addr16 8D 绝对寻址 |
|