|
|
发表于 2010-11-16 23:11:39
|
显示全部楼层
累加器进栈指令 PHA
- J* Y) A7 _* Y8 @0 G6 n/ J
# o+ k( m/ Q: \2 [9 X PHA是隐含寻址方式的单字节指令,操作码是 48
8 `# M6 Z6 E) D- b; ~- D3 K! r5 T1 {+ ?
功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
5 F# t3 ?: L+ Z! U! E8 k' \
$ ~* r8 N) }$ l4 w7 o# Q累加器出栈指令 PLA
0 i% H5 x- h: `* u3 Z% Q, x( W/ C3 Y3 W( d3 M
PLA是隐含寻址方式的单字节指令,操作码是 68& M; s2 {1 s, i* B S
& D0 y' R" d% F% M1 a! J# Y
功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
; k" }4 h* r* q4 s/ g3 \( m4 o6 y
d/ h: b. e! k2 \4 I比较指令, Q' n( v) @9 y/ ~; \
) c/ D n; N \' g8 m( m0 wCMP--累加器和存储器比较
( M1 Z% d+ \6 V* p0 ?9 H7 y
1 D: o9 j9 l! G7 V: C8 n" Q* aCMP #$data C9 立即寻址
4 p+ o- _; L7 E) |/ W
v9 }* v6 z) I: A) ^- K3 {( u8 GJMP--无条件转移指令
& W7 k7 j9 a/ e6 e1 Y- _# C$ _2 j5 A1 S
符号码格式 指令操作码 寻址方式
$ D3 d/ J# t3 a+ X6 E" nJMP $data16 4C 绝对寻址
$ h) `. O& @2 j$ z+ R- L+ x8 f3 `
: c2 `, e" Z, D6 J2. 条件转移指令
% Z5 u( i" W$ Y4 V; U1 x
$ c+ k6 ?: |8 s- y" C5 `3 X. _! MBEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 # z: `: K7 \0 v
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续 " Z0 h- Z5 T( s
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
' x4 r' f* b" z: X* @- MBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
# Q* s. J! H3 @; x& A1 UBMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 3 H; L6 w7 T( v3 \, {- G9 a+ z% q- L
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 # N4 f1 D* K/ H" y1 V# J# i5 l
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
" T) G" n |- x! GBVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续
7 \$ F1 q3 T# l% y8 S
+ f# b5 z/ M. G& p! V9 ^8 I* gSTA--将累加器的内容送入存储器 A--M
" I% a ]- ^; ]2 m x+ v7 tSTA $addr16 8D 绝对寻址 |
|