|
发表于 2010-11-16 23:11:39
|
显示全部楼层
累加器进栈指令 PHA( v7 f8 _8 ]" S- ?
- n x9 f& \# _0 Y/ w* z. l5 q, k% Y Y PHA是隐含寻址方式的单字节指令,操作码是 48' F X, A/ y8 S9 Q1 m& G1 V
1 M% w2 N+ m8 @' d6 `$ }0 b 功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
. C4 L1 A, d7 g) X* C3 u9 z- M# w' j
累加器出栈指令 PLA/ b9 W2 b% @$ w4 U3 d' y- q6 w& C: f
& v/ ^, L7 {, \0 s/ I. W$ Z PLA是隐含寻址方式的单字节指令,操作码是 680 L) ?9 ?, |2 d- V/ n9 p V0 e) Q
' ?$ i5 i, a, D$ A 功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
. e2 P4 i3 K$ ~7 K$ h) C6 Z6 t, ^1 i2 f9 b- g+ M8 L
比较指令
6 C# W, E' ]+ U. _/ y6 H8 X9 h& h) i2 [ ?+ k
CMP--累加器和存储器比较) h2 o3 e9 d" F1 B( _; C+ W
9 P2 Q F/ E, D6 \CMP #$data C9 立即寻址 5 O+ S, y& V2 V+ X5 [/ ?
S0 A" l# r( y% ?* R( G9 e9 A
JMP--无条件转移指令
3 Q R" z K8 G! T( E/ v2 q* f* q! g8 V6 S5 D: }+ [$ j
符号码格式 指令操作码 寻址方式 ! y# T/ d1 S9 Y& C1 d5 f( C+ E
JMP $data16 4C 绝对寻址 % m% @5 ]" Q" L! C) t& V
* B) j0 V. ^2 U2 f4 n1 [
2. 条件转移指令" a' m5 o2 K y8 S6 _
6 h, P* e Q; Y% m
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续
( I& s& K+ Y2 A( t2 ^3 A" N3 E0 ?BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
6 |3 U. m- V3 y5 Q- oBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
0 _6 i) w2 ?# [6 d, nBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
, A9 Z4 o, ~- V) N8 y) J' xBMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 * K0 G) C3 {" i& `1 C0 G' f
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续
s" y: c0 i/ u9 K8 a) P0 @8 rBVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
& N' x6 ]5 D6 w4 E% @: d" zBVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 " C$ I- N, x7 ^( s% `* S# n
9 x7 ^4 b! O7 ^STA--将累加器的内容送入存储器 A--M9 y# U6 O" A \/ e! t
STA $addr16 8D 绝对寻址 |
|