|
|
发表于 2010-11-16 23:11:39
|
显示全部楼层
累加器进栈指令 PHA
* K- z' z# f2 P
4 t/ G( ^$ e4 f, a- S% Z4 K PHA是隐含寻址方式的单字节指令,操作码是 487 r1 w& Y5 p& h
+ ^/ [: N/ T! m9 u* R+ Q* x 功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1* F0 H! B: i7 I% V3 H
! A' ?/ M4 m7 x V6 I0 v# a k- _
累加器出栈指令 PLA
, M. o/ f5 d4 @+ p. A O E* [. N: |* n+ s
PLA是隐含寻址方式的单字节指令,操作码是 688 f3 Q7 X8 H' [3 W" i' m$ t% {
" Y, o/ ?( C+ m6 C5 G 功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
4 _/ ?+ R M* K l% q! d. y) E/ E4 e4 V) v# p' ?9 ?
比较指令+ ?! y- q1 L x. F/ \" z
h1 b% Z/ _5 k; x; \4 BCMP--累加器和存储器比较' ?2 |) c y1 P- W
# @# {7 |4 t7 [9 O+ g4 ^# z1 R
CMP #$data C9 立即寻址
2 l( M2 {5 w: [9 K4 P+ p m1 Z+ \# l J
JMP--无条件转移指令1 P' m8 _, G+ [( E% R7 y& ^
( g& A) @1 R5 z. g% T2 S符号码格式 指令操作码 寻址方式
) q1 L1 W! n! Q0 ~ L9 AJMP $data16 4C 绝对寻址
) ?( }+ g7 V* Y( M/ \9 `; Q5 E, f) }( Z9 @
2. 条件转移指令; O) n1 v# t$ `! A9 q
/ w) a) W' c: z* x* q, Q- j! B5 @
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 % T( W9 J4 L5 }* a
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续 # F O! }5 e ]% Q9 i5 J
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 ; ], q3 K( r" L a2 Q* p
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
& L' f+ c3 p0 ` F- rBMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
2 W0 V9 {1 b2 p( k" `* kBPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续
( w; B' y- q& y' o+ fBVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
" ?* Z# Z1 t$ _# v2 y+ [BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 ! l( ] g; h+ o! s
( g7 A0 d& N1 d- y* c
STA--将累加器的内容送入存储器 A--M/ T; P" y! D( R4 U
STA $addr16 8D 绝对寻址 |
|