签到天数: 1895 天 [LV.Master]伴坛终老
|
发表于 2010-11-16 23:01:52
|
显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}
' F4 H1 n$ A; S3 S- }; c1 \' P/ j, {, v2 b6 S
还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。
a; F9 |- ^6 ?
( U1 U2 b, w# A( A) g9 U48 C9 20 D0 05 A9 7F 8D 1E 04 68 4C 7E FD) E9 O' s# a O, D- o) B6 S8 b
F1 |& L, K- _* I9 u
机械码 机械码指令解释; z/ [1 V) Q1 \4 O+ q
0 H" ~7 D# H5 }* K& M2 |! P
48 PHA A入栈(可以理解成保存寄存器A里的数据)
0 X8 c. X$ d0 @9 o& N
: a7 z1 D2 a P$ V0 O1 AC9 20 CMP #$20 对比寄存器A与20(20是SELECT的按键值) y* \+ D7 ]" A2 I" \
7 A' ?: ]3 p& C8 s3 C
D0 05 BNE #$05 如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.
2 k }) Z4 p- i' Q2 I% b/ y: ~4 `# W* A! W' q
A9 7F LDA #$7F 把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)
- K2 @ k0 u1 T! W1 @; C/ c# _( E; Z) f
8D 1E 04 STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)
/ L/ z3 y9 u7 X2 q; G) K: t, g
) C) C: e& m2 D. B5 p# L `68 PLA A出栈(还原寄存器A在保存的时候的数据)
3 I/ {3 H$ k& R5 E, P7 M2 N( s9 @( Y" z
4C 7E FD JMP $fd7e 跳转到地址fd7e,返回到原来的程序 n) @! m, @" ~ F
' F, R3 l, o! B+ ]% o' ^( o4 v
他博客里不是有上面机械码指令解释么? |
评分
-
2
查看全部评分
-
|