签到天数: 2120 天 [LV.Master]伴坛终老
|
发表于 2010-11-16 23:01:52
|
显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}0 m8 {4 Q/ z; J# e: [9 O2 G. q1 _/ W/ o
7 @# Z- K* w4 R0 W还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。: J, q- m$ n, X- S
/ _* `& \* L5 i+ V8 n48 C9 20 D0 05 A9 7F 8D 1E 04 68 4C 7E FD- e5 g6 T. ~* a
* H3 [( g: d8 t, \
机械码 机械码指令解释
1 D8 ~# u. T; L- @5 b$ S8 U. Z- u4 @2 ^: Z; N
48 PHA A入栈(可以理解成保存寄存器A里的数据)$ j& X0 Q! s* Y3 M3 y
z" [" ?9 S% o. w% u# |, MC9 20 CMP #$20 对比寄存器A与20(20是SELECT的按键值)2 P, J" S) t8 s& A
- k4 H, l; \( L8 S& h: H" c
D0 05 BNE #$05 如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.3 l" S; a1 x1 j/ D# _
$ U9 o5 p7 F/ s
A9 7F LDA #$7F 把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)
7 a' A! S- D" l# r0 b3 ^& e
/ J" N% M+ q; T# J% o& C8D 1E 04 STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)
6 ` l; u1 k" ~, G, c$ Q* S+ i# ^6 n; E9 q
68 PLA A出栈(还原寄存器A在保存的时候的数据)
1 D; ~6 H8 C4 |! B: ?: J! o0 D% m3 i
4C 7E FD JMP $fd7e 跳转到地址fd7e,返回到原来的程序
: Q$ U" z4 l7 V6 `& n& b( D8 _% G+ I" h4 I9 k6 H" C
他博客里不是有上面机械码指令解释么? |
评分
-
2
查看全部评分
-
|