EMU618社区

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

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

[复制链接]

签到天数: 29 天

[LV.4]偶尔看看III

发表于 2012-9-25 17:42:38 | 显示全部楼层 |阅读模式
我在修改的过程中遇到一些只有2个字节的数据
, k  H) L( l$ M- W例如 :      
( y6 g3 g0 x+ a C021:  85 16  STA$16                           85 16     两个# v, E* R. M5 l! i

' H" `, ~- }* z2 f; t9 d- i: V
% `; a+ Q) o3 x- d然后我需要在这里修改成跳转,但是要跳转的地方需要3个字节l来修改:& ]( V1 J# X& |( }! ~' _
例如:
$ K  l) P7 p: G4 TC021:4C BFF0 JMP$F0BF                   4C BFF0   三个+ g) B' k/ x! C& M! S- e$ i
* l- h5 v3 R0 Y& o- @* F1 ~
6 p! i3 o) n/ ~7 ]0 E+ ]6 t
连续的数据是:
3 _  k  w4 x+ X: k" b5 p8 v/ {8 c, t4 n$ Q
C020:14 85 16 A5 15 85 17 A9 00 90 A5 95 D0 08 A5
: N/ j9 c  z+ t8 n; H  ?, b" G- S6 r, w$ E9 U
8 d/ A+ X' e8 Z5 q1 R! a
这种情况下我改怎样修改,但是原数据只有2个字节,如果我这里改成3个字节会对后面连续的数据造成破坏,我应该怎样改呢?
# Y5 s4 Y$ V: r2 s' ^+ O$ y, w: \3 r' m2 Y1 S
不知道自己有没表达的清楚...希望大家能看懂我的意思..

该用户从未签到

发表于 2012-9-25 18:06:12 | 显示全部楼层
本帖最后由 money_114 于 2012-9-25 18:07 编辑 5 ?, [# |8 R+ ~; P

- J" B' A3 `" P6 y就直接跳转, 然后在跳转地址这把前面修改的命令补全/ P3 ^2 ?% q1 Y1 w! x& B& O
: s( C" f# E& {/ y7 B
跳转命令看这, 写的很清楚了6 m  ~" K; l1 u4 z5 G' n
http://shinwa.kami.blog.163.com/ ... 047200822563622456/
% U' E6 \8 d0 u3 A" T, b1 e
[发帖际遇]: money_114 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜

签到天数: 2021 天

[LV.Master]伴坛终老

发表于 2012-9-25 18:10:06 | 显示全部楼层
  1. C021:
    * i4 Q/ \- n3 M- v* h' A* i
  2. 85 16 STA $16  ->4C BF F0 JMP $F0BF  f2 F. m% g2 |+ P8 Y+ F
  3. A5 15 LDA $15  ->EA       NOP
    ' r6 ]! y9 B8 j" i* \* r, g* Z4 K
  4. 85 17 STA $17
    . h8 I, N6 n/ E  t. Q
  5. A9 00 LDA #$00- c3 r4 R7 O3 E# c. N7 T' y

  6. + ~( i  r/ H9 h9 p5 K. R5 p0 H
  7. F0BF:7 ~- h, P2 I  N: |) u; ~. U& k. B
  8. 85 16 STA $16
    1 J" l& c4 D' f% Q
  9. A5 15 LDA $15
    2 N, c" r; G6 y  D7 K
  10. .
    & Q! I) ^  v7 z: F
  11. .- _* \7 j9 A! A& X0 S
  12. .
    2 ^2 m) f/ E" D2 z3 [6 o  x
  13. .
复制代码
[发帖际遇]: 疾风之狼 被钱袋砸中进医院,看病花了 1 个 柠檬. 幸运榜 / 衰神榜

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 19:51:21 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 19:54 编辑 0 O3 s/ j7 @( h& J/ _3 b: A
疾风之狼 发表于 2012-9-25 18:10
) _4 \5 q9 d, g+ O# k1 {4 O
9 V6 C6 ^6 x/ l9 U1 A
狼大,我按照你的方法,不知对不。) t- q5 s  a) A/ T/ A, Q  H9 ~% {4 n

3 H; u8 x  {$ x0 y1 D% o+ ^! J/ s* v: R
原数据
" r( }5 M: {  n& i1 u: K  rC021:       85 16 A5 15 85 17- k" u  y1 L$ F3 H+ c5 `

, S6 h: o6 `/ v修改后$ ^( `3 I( j# F
C021:       4C BF F0 15 85 17                  把连续的数据A5覆盖掉跳转到F0BF4 q0 ~: s0 |" O8 g7 L

# A) G9 \: N6 R0 [# j1 D  d, \  R; S1 g# g( u
F0BF:85 16  A5 15  4C 25 C0                重新写入原数据和后面被覆盖的A5然后跳回C0259 g' C5 R9 `; h; N" s3 X
  L# t) s: l: s  z# X6 s
2 B! @" B' Q" S! r3 z) D( ]* m* M

  @  {0 i$ _1 u7 z我之前也用这个方法测试过一次,不知为啥返回模拟器继续运行提示错误。

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 20:03:47 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 20:08 编辑 0 j5 t( e5 i3 X; Y6 Q
1 Z8 ]. r2 C: ~& c
看了money的文章后,这次我把前面的几句指令也列举出来:
3 c& f6 z8 d, E0 u" |/ D) o/ jC01F: A5 14 LDA $14               :A=0x12& `' L8 r" v3 V1 [, K, f# c  h! Q
C021: 85 16 STA $16               :[0016]=A=0x12, u% B5 r0 P5 {: f7 ~& Y9 r

5 Q. ?8 _$ e0 C$ W, Q3 s4 B2 n根据文章的内容我是不是应该从C01F这个地址开始修改呢。
- t1 c4 J+ v1 D2 z% W+ v3 J4 L我现在重新动手测试一下,有问题再来请教你们
+ D% Q' p$ t' W% i- l& E: ?5 S4 l' n4 N& E, G

; u1 K8 e/ U1 {- S经过我测试后发现可行,在C01F地址那开始修改,没有出现错误,再次感谢你的文章{:4_103:}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-7-27 15:52 , Processed in 1.079102 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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