|
发表于 2010-11-16 23:11:39
|
显示全部楼层
累加器进栈指令 PHA
( W2 `8 Y9 l' I2 ~4 L4 y( {3 E8 j3 O$ x# Y& p# Y1 G
PHA是隐含寻址方式的单字节指令,操作码是 48
/ P# C8 I& R3 n. u! ?2 m% z7 u2 I* q" h, X N9 k5 u' \# V- e
功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
0 A" v+ T- a% X1 k5 Z' `1 J/ P0 z( B6 Q: x3 j
累加器出栈指令 PLA
5 L9 o, m& q/ ~! J) ~9 r' O" h6 s6 V# d/ x5 W& z% D9 ? D
PLA是隐含寻址方式的单字节指令,操作码是 681 E0 }3 Q& F& Q8 e9 I+ \% |3 g
. O4 v w4 I4 g; @( i! ]! |) } 功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
+ d% K, K8 b, G3 ` c/ Y/ [! g% d$ `* b% z" f
比较指令% X1 e6 y3 N6 l+ I' _
% y: T6 \. t% E$ O& _# I) x( G. N
CMP--累加器和存储器比较5 Q) k7 d: a1 L% ?8 q* Q, F& U) |8 H5 b
% s N$ [7 R/ P3 q+ i# P4 s
CMP #$data C9 立即寻址
. R" q4 m; k. z, Q* U7 Q8 R6 L* g, V A3 ?- q g7 K7 s7 ]
JMP--无条件转移指令
* q5 W! k5 g" m5 B1 Y' H
0 J" S: r% @; w7 z符号码格式 指令操作码 寻址方式
8 o5 L) I! A9 TJMP $data16 4C 绝对寻址
3 P3 P8 u3 R% d! F' s1 a: _/ @! f* O
2. 条件转移指令
1 J5 q; ]$ |3 l. Z. u
. O% F' g) e% ~5 p% [9 IBEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续
3 H" Y- ^/ ]" IBNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
$ E4 @3 z; O: p' X3 R! W+ w _BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
% S6 p& P Z: d. a HBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
; Q6 |( y% G N0 v# N$ bBMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 / w; {. o! D1 l4 w
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续
3 |* F' f p0 r) P bBVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续 2 P4 R# {- h9 v2 M
BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 4 |; _; n! f2 P/ B9 S2 {
. z/ C$ v' t3 E& [$ Z' U( O ]) L
STA--将累加器的内容送入存储器 A--M! C1 Z" [( \" ^
STA $addr16 8D 绝对寻址 |
|