|
|
发表于 2010-11-16 23:11:39
|
显示全部楼层
累加器进栈指令 PHA
3 X; R( w. s, J0 H' X$ s. F( G% d4 E. h0 L- d* \
PHA是隐含寻址方式的单字节指令,操作码是 48
; Q0 W9 N& ~9 `- J( O: P0 b7 ^1 J$ u& @ m
功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
/ y+ G' W; r' Q+ b2 m; ~
( i8 ?- N% x I! C& a, M( w" O累加器出栈指令 PLA
0 ~* N k) ]5 g" w" K4 W
) a3 O. n$ {; [+ h PLA是隐含寻址方式的单字节指令,操作码是 68& c5 z* A- u1 H5 H
/ m3 T/ h1 j, A; I$ W6 j4 K 功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A+ Q7 I" }' a6 W
- |* ~0 d& T: b, W' C% q比较指令
' q9 W+ b) k/ |( }: Z1 q1 ]( `6 N" u6 m1 Z% R( C
CMP--累加器和存储器比较
0 [$ X. m% K: C2 W4 L0 f9 R" n. _% s9 P2 y a( z, u
CMP #$data C9 立即寻址
/ j1 f+ n7 Z7 `+ ^ z! x6 C/ M) ]* ^4 ^" h% [( e
JMP--无条件转移指令# T+ K# {# v& [7 \
4 F, o, E0 R9 y& z& o3 a
符号码格式 指令操作码 寻址方式
|" u& w k/ _, XJMP $data16 4C 绝对寻址 # r' [* B0 i8 x3 d% K
- M* f; S5 e" B9 y1 i
2. 条件转移指令
- h* W! l2 L% M
2 n/ _0 l3 P5 H3 i ~BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续
" P; c, h7 m! Q @& Y }! \BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
8 L4 b& t& N( ]' qBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 1 f- B$ ] \: }- h; S9 I
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 6 h, L4 A0 r0 f4 d' p8 y( {3 T$ u
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
5 s! C3 M3 p2 l0 Y8 QBPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 " r1 C F+ ]0 F0 h
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
& G( f8 ]1 `- x) w2 h7 ^" _5 oBVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 : e5 F7 N6 j; m8 g k
$ i; w) H) u/ j, i: q9 x9 I
STA--将累加器的内容送入存储器 A--M5 ]$ R+ m* Q9 \+ v; D
STA $addr16 8D 绝对寻址 |
|