|
发表于 2010-11-16 23:11:39
|
显示全部楼层
累加器进栈指令 PHA
# T& {* M( \. }2 o: g
+ p$ H( h, H$ A, { u/ I A2 _ PHA是隐含寻址方式的单字节指令,操作码是 48; d# f: @. k ~
- t( {' N7 o8 W m& f$ U( l 功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
$ H5 D# Z- k% N$ F, z! m
+ T; W. \2 c+ N+ P5 h) _+ y累加器出栈指令 PLA
. r2 r$ k; N( M5 z
; g/ P. g) M/ p PLA是隐含寻址方式的单字节指令,操作码是 686 Z" u; W6 B! j4 \3 z. W V0 g3 k' F
+ G2 r H( F8 a% s3 h
功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A% w% f- M/ C2 V
/ x4 ?6 ^1 T; m. p6 o
比较指令# V5 L/ ^6 x C# c) L
1 ~; O% D7 I; Q( j( ?
CMP--累加器和存储器比较
5 A4 v7 d# \2 x. d8 \
; J8 N$ ?1 v& t# vCMP #$data C9 立即寻址 * @) U" v) v% C C( |2 a6 D
- J' T v( ~0 aJMP--无条件转移指令, t. z3 y1 ?. O$ n Z
8 x/ e9 m, h7 u
符号码格式 指令操作码 寻址方式
6 M% Z' r9 [, z% N: x" JJMP $data16 4C 绝对寻址
" V) N" c" O5 f" t& [/ b- h5 Y% g: R, k+ E; a5 D
2. 条件转移指令+ a) j9 e( s1 U0 |2 t i
, V+ u% e4 i/ W0 e- ?2 R% U( E
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续
& s9 ]4 I2 P; {4 N" Y% WBNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
' x6 B1 ?9 P3 N1 dBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 # Y' q0 y8 X \: y
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 $ ^% N; q" V6 v/ S/ w) X
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
2 g( H/ i. h. T: X( ], ?# |BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续
' v6 L, z2 t$ B' k/ dBVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续 + Q0 Q3 ~9 F, ]7 V
BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 , Q+ u3 T5 O* T2 Q# K& N
6 k8 _2 |2 y( `+ i. C9 H% S( v! E# |
STA--将累加器的内容送入存储器 A--M
! t3 s: a0 s# KSTA $addr16 8D 绝对寻址 |
|