|
|
发表于 2010-11-16 23:11:39
|
显示全部楼层
累加器进栈指令 PHA
+ C/ g3 q4 f& ^0 A) d8 R' g* E; O6 }/ E6 f" ]
PHA是隐含寻址方式的单字节指令,操作码是 489 Z6 H a% T/ W! E9 l& s
8 F' Y9 O* q; q5 V& Y7 X# v" E 功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
" B) Z! F3 e0 S
" }; T7 V3 U- \累加器出栈指令 PLA6 E" Y* @2 D% b. b: ^* y
/ a& B' v& |' `4 o0 @
PLA是隐含寻址方式的单字节指令,操作码是 68/ T' R* W0 q4 s' f1 x6 o
% M. [6 H9 @! H7 N. G
功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
# A; Z1 y# b2 u4 w0 c9 H! |5 i7 b7 B
比较指令/ \/ Q% i' @# s( j, l
+ p3 S) Z: ^: M: Z; |CMP--累加器和存储器比较4 A0 E- ]2 K7 Z. Y8 X& Q9 j
; T7 ~$ S" Q# k \. d
CMP #$data C9 立即寻址
. R, T5 Z+ C( C4 y* k1 X# ~
0 c9 ^& \8 w+ C, r1 BJMP--无条件转移指令
% k; N1 d" ?3 \# ~& B |
/ \6 J: Q* W: e$ k% B符号码格式 指令操作码 寻址方式
5 N- N0 h9 G' QJMP $data16 4C 绝对寻址 & J! J. h& ~& E$ L' I v
. B% y4 @( E1 i, l3 b2. 条件转移指令
' e& a/ Y% F. x. d! K7 f7 U+ x
& ?4 e' t8 W A2 @/ FBEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续
, z. B; E9 T9 H& q+ A4 I) sBNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续 " f/ j3 f3 D [4 D6 l# V, c
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 . |( [; U/ B3 s1 Q) g$ I- P, D5 x6 H
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 * Q& y# r3 F0 u
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 / Q; u% D: f9 I1 ^
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 ( {7 x( b B; {
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
$ r9 F( u G- y9 C" t" qBVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续
6 E x8 K0 l) U% N: l0 Y, S+ y- t D3 b5 p
STA--将累加器的内容送入存储器 A--M
% [7 C" Z+ |' X5 i S% n$ h. W7 `) qSTA $addr16 8D 绝对寻址 |
|