|
|
发表于 2010-11-16 23:11:39
|
显示全部楼层
累加器进栈指令 PHA
' h' K1 ]# Y1 e2 p- e
% Q1 j* g k9 U: v `, i9 H PHA是隐含寻址方式的单字节指令,操作码是 48
% f u/ y# D& g; T0 I0 i: ?( g" m; X! z$ A
功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减17 k! V' q. r) t# v% E. V' j0 i
& U* x, t/ Z" D- C9 p! I, s4 d累加器出栈指令 PLA! h% k: t+ B; c# f/ [. ~/ G
& v: `7 I6 A5 P2 E/ c
PLA是隐含寻址方式的单字节指令,操作码是 68
6 N& l( M' Q2 R, c0 c& B5 J
) S9 F; G9 ?3 g t 功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A) k/ j$ s$ P$ K: u
/ l" F; Z6 Z) r/ a# s& k比较指令% v$ U, b: a! i% J
: X6 d. q i8 ^. P2 H* |
CMP--累加器和存储器比较
# J9 a: Y$ u( Q7 X |) K. P% |+ S) q ?3 |3 ^% ^
CMP #$data C9 立即寻址 ! h/ t8 W4 U( I( i
! B3 m& _7 ?, P7 o6 F8 FJMP--无条件转移指令
+ Z: `# ?5 b' u+ z6 p( h, g4 { N3 y! h9 A- }; l
符号码格式 指令操作码 寻址方式
0 f( [7 l+ T& WJMP $data16 4C 绝对寻址
- J; Y% l' U: v* Q' f9 B) X3 m0 ~+ h
2. 条件转移指令/ G. S. |. t7 J; f9 j8 j- P
" ^ d. w! Z5 m8 C) K& s
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 8 b, V6 `7 I$ N( h7 r' q
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续 F' n' g. u, a: a
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
5 |0 w2 P0 S6 KBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 ; E' S% q9 [, P( Y8 @1 l- x
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 & Z$ J. f. \0 Z! V" d, L0 {
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 ! F0 D! Z4 C* x; ^0 O. ~( N7 d7 c
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
5 S3 E7 P; m/ M, x |! uBVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 % J# M0 ]" v/ H3 v+ l* i L
0 b* v& k! N! y; K% H, W* ]
STA--将累加器的内容送入存储器 A--M
/ f ?/ q3 d. b1 P! V" ]( jSTA $addr16 8D 绝对寻址 |
|