设为首页收藏本站

 找回密码
 立即注册
搜索
查看: 876|回复: 4

[求助] 某种特殊情况下该怎样解决?

[复制链接]

签到天数: 29 天

[LV.4]偶尔看看III

发表于 2012-9-25 17:42:38 | 显示全部楼层 |阅读模式
我在修改的过程中遇到一些只有2个字节的数据
* I6 T3 l+ u; f+ S4 {6 ?例如 :      
( f6 o1 V7 n1 H, d. ? C021:  85 16  STA$16                           85 16     两个  ?' E7 l, _& D% B; x4 \/ j. c' A

: |  X1 W1 E7 u( f9 Z5 ]* `1 e! t7 U6 X
然后我需要在这里修改成跳转,但是要跳转的地方需要3个字节l来修改:4 V8 H$ n7 L. x$ R+ z9 C" N' b
例如:7 N1 H) X& j8 T. t: Z1 V. z. U3 L
C021:4C BFF0 JMP$F0BF                   4C BFF0   三个4 \: h8 [3 U0 Q; y9 N1 A) c

, M/ V  A, R/ n9 c+ r
( h- E1 _/ `5 \" ^, T9 K连续的数据是:
7 D$ ]2 G% h4 c- V' S5 T1 S6 N; v# Y. J+ R1 S9 ?" X; ~. I5 e
C020:14 85 16 A5 15 85 17 A9 00 90 A5 95 D0 08 A5
- n9 u' h5 B2 Z7 @8 c" @
8 q. J8 A. W2 s, e1 N3 a$ F& _) @. {; S0 [/ _1 R1 I7 O+ ~. V
这种情况下我改怎样修改,但是原数据只有2个字节,如果我这里改成3个字节会对后面连续的数据造成破坏,我应该怎样改呢?
& F% r- v; Y" t! T( a
9 Y9 h& e7 a3 c' [不知道自己有没表达的清楚...希望大家能看懂我的意思..

该用户从未签到

发表于 2012-9-25 18:06:12 | 显示全部楼层
本帖最后由 money_114 于 2012-9-25 18:07 编辑
% ^% ]" O) g; A
% m9 \9 K5 V; G  V8 J% q1 \就直接跳转, 然后在跳转地址这把前面修改的命令补全/ v* G5 |0 \9 C; X
. f( I, B$ i: t* Q; \: h
跳转命令看这, 写的很清楚了2 i, k/ O0 @" M) `& l: f0 Z0 u1 {
http://shinwa.kami.blog.163.com/ ... 047200822563622456/0 r0 O' \' g8 h% X6 j( \: a1 E
[发帖际遇]: money_114 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 2053 天

[LV.Master]伴坛终老

发表于 2012-9-25 18:10:06 | 显示全部楼层
  1. C021:0 G! a& R! r( X% J5 I+ N' _
  2. 85 16 STA $16  ->4C BF F0 JMP $F0BF6 {' J3 f+ d5 P" K$ `: e1 C
  3. A5 15 LDA $15  ->EA       NOP
    - {" _% s) S' \$ z2 b2 J
  4. 85 17 STA $17, B$ [5 p: \# l0 b* D" q
  5. A9 00 LDA #$00
    . V9 t/ W9 ]; G# n: X9 z) v/ ~4 R

  6. 2 t) c; f* b4 \4 E
  7. F0BF:
      T5 S7 ~! ?# t' g; Y. G7 z6 f
  8. 85 16 STA $169 I* R2 g* Z) n, }, S
  9. A5 15 LDA $15! K; v8 z; ?' \) Q
  10. .
    - k& V) E. i, q9 x) ^! k
  11. .; l$ g- M6 E- o
  12. .3 P) b" O5 M$ q( ^3 I
  13. .
复制代码
[发帖际遇]: 疾风之狼 被钱袋砸中进医院,看病花了 1 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 19:51:21 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 19:54 编辑
- k  t( m, o& P; y
疾风之狼 发表于 2012-9-25 18:10
2 \2 n1 |  C1 i( A  B
2 I/ Z1 ^5 \9 A% Q* }4 G6 D
狼大,我按照你的方法,不知对不。2 ]5 A0 X; X: D9 o6 S6 H. t& I1 S, E' H

3 r2 W$ n- V) w1 I8 Y& i( i; y  H, ^3 g. W. ~
原数据; y+ T# t4 }! D7 y7 i' U, `! i% t' z, P5 |
C021:       85 16 A5 15 85 179 K: v+ e! K8 U9 T, O4 }/ i

& ~) {9 U9 ^+ }3 Q8 v7 I修改后
2 F$ e8 o7 t8 V6 N4 vC021:       4C BF F0 15 85 17                  把连续的数据A5覆盖掉跳转到F0BF% l9 [8 S. T. Q9 y1 g" X
+ ^) ]! z/ l0 n( k( X+ C8 L' w' H

9 j" ?. L4 ~7 ^3 f' h# IF0BF:85 16  A5 15  4C 25 C0                重新写入原数据和后面被覆盖的A5然后跳回C0251 e1 e/ \# G& S, l- v) h! S, W4 v
" z2 h/ l5 h' r' `7 D# K

4 \+ M$ F: M# K2 `  h0 H4 j0 K0 y/ r/ \
我之前也用这个方法测试过一次,不知为啥返回模拟器继续运行提示错误。
回复

使用道具 举报

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 20:03:47 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 20:08 编辑
+ e: R  r4 G0 V
* [* C! n) u/ z2 G! K看了money的文章后,这次我把前面的几句指令也列举出来:
5 z* Q  |& h4 TC01F: A5 14 LDA $14               :A=0x12
- c/ F2 t9 L1 zC021: 85 16 STA $16               :[0016]=A=0x12
/ D( q! s: i* _/ W& A9 K, R4 l6 S* L2 R" R
根据文章的内容我是不是应该从C01F这个地址开始修改呢。, ?" N  K5 K. p& I
我现在重新动手测试一下,有问题再来请教你们
9 h7 [6 J, k6 {6 l( g6 G* H- t
. `- X- N! {% u, W, F" U
' L$ C8 L8 O+ K' T! U! v经过我测试后发现可行,在C01F地址那开始修改,没有出现错误,再次感谢你的文章{:4_103:}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|国治模拟精品屋 ( 沪ICP备15012945号-1 )

GMT+8, 2026-8-26 12:34

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表