EMU618社区

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

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

[复制链接]

签到天数: 29 天

[LV.4]偶尔看看III

发表于 2012-9-25 17:42:38 | 显示全部楼层 |阅读模式
我在修改的过程中遇到一些只有2个字节的数据+ A; ?9 w2 n- C7 _, Y2 j
例如 :      + v5 r8 ?  w& T/ c
C021:  85 16  STA$16                           85 16     两个
" u* _% A6 B1 p4 E: \9 p! `" [7 I( b0 p9 m; U

2 a7 V) V% s/ O" G5 Z% D然后我需要在这里修改成跳转,但是要跳转的地方需要3个字节l来修改:
* V* L$ j* T* n- c5 Q4 w例如:! V3 P& p3 g' p
C021:4C BFF0 JMP$F0BF                   4C BFF0   三个$ i9 i0 e3 C+ [. H
+ Q0 z4 H' b0 ^% X: j
" A4 h! l; [& p0 ?% R
连续的数据是:
3 n# U6 P. d+ w8 p, r: E# ?+ X
4 }* [0 ^! e! mC020:14 85 16 A5 15 85 17 A9 00 90 A5 95 D0 08 A5+ ]6 x3 Z8 ]& o  p- ?( F

1 m) z9 T7 S8 A1 x" _- b9 V" Y( W6 p9 z! N+ v6 l- _
这种情况下我改怎样修改,但是原数据只有2个字节,如果我这里改成3个字节会对后面连续的数据造成破坏,我应该怎样改呢?  }, L( z5 |* v5 p0 V' _

  s" e' B7 [. R9 f5 X, L; t) u' I' n不知道自己有没表达的清楚...希望大家能看懂我的意思..

该用户从未签到

发表于 2012-9-25 18:06:12 | 显示全部楼层
本帖最后由 money_114 于 2012-9-25 18:07 编辑 . V' `3 T( Y( q. `

2 G2 Q* B: }  D3 c/ O* [- {就直接跳转, 然后在跳转地址这把前面修改的命令补全
; q1 g9 N. v) X5 A9 a' a/ H
! H3 P. l2 u& F% g跳转命令看这, 写的很清楚了
5 p3 S" B& [: G, Y5 bhttp://shinwa.kami.blog.163.com/ ... 047200822563622456/7 B9 a- A4 h: t) j. K2 y+ @1 c
[发帖际遇]: money_114 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜

签到天数: 2136 天

[LV.Master]伴坛终老

发表于 2012-9-25 18:10:06 | 显示全部楼层
  1. C021:
    % v! j1 G6 D; a% x$ E1 V* q
  2. 85 16 STA $16  ->4C BF F0 JMP $F0BF
    9 u" u' h5 s# M4 A
  3. A5 15 LDA $15  ->EA       NOP
    4 x! J& f1 D& F$ P3 n" z
  4. 85 17 STA $17  e$ t/ D* r' o0 Y4 E* a
  5. A9 00 LDA #$00, m1 F  ?. B4 q' \/ q3 \; A

  6. 9 F! o0 C+ E! y5 T  ^" v
  7. F0BF:
    & q: r' @! P: k2 Z# [6 r0 Q$ f; K
  8. 85 16 STA $16
    4 J! B+ K' x  F. N- h( P
  9. A5 15 LDA $15
    / h4 b" i6 u7 Q( c
  10. .0 i* ?$ J5 e& }: `3 ~* L
  11. .
      u/ Y1 c/ m% `4 {9 W% ~2 _! I1 ]: H( C
  12. .
      Y! N1 Q  `, R
  13. .
复制代码
[发帖际遇]: 疾风之狼 被钱袋砸中进医院,看病花了 1 个 柠檬. 幸运榜 / 衰神榜

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 19:51:21 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 19:54 编辑 ) l& B# @: p, B& T( E  ^$ _! ]! ~
疾风之狼 发表于 2012-9-25 18:10

6 g! H0 h8 F3 d! V  `
- }+ O/ @' D, u6 y狼大,我按照你的方法,不知对不。3 J) ~9 z/ j: L! Y
7 g! E; p2 w5 U; k% M8 Y' i

* F, d+ L$ h. h原数据8 z# a% y8 G3 G+ h* \  R
C021:       85 16 A5 15 85 17% {+ h, l2 }8 \0 [2 c
& M* v. w+ D7 r: S
修改后
; _: i( h' m) \5 t2 jC021:       4C BF F0 15 85 17                  把连续的数据A5覆盖掉跳转到F0BF- O5 ^% ?* y2 e6 c! J* R

2 R; h; r$ X, C4 y$ u: I6 f6 z/ R
F0BF:85 16  A5 15  4C 25 C0                重新写入原数据和后面被覆盖的A5然后跳回C025
# E) l5 {4 V3 ?# O: m  o" l" y8 g& b# @

$ f4 r: o# Y. v2 w$ @. g" k/ ^, T  R: @0 N
我之前也用这个方法测试过一次,不知为啥返回模拟器继续运行提示错误。

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 20:03:47 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 20:08 编辑 ' n* f. _1 Q: O* K" t

  R" L! ?/ ?; m3 L看了money的文章后,这次我把前面的几句指令也列举出来:( E5 C2 |" a0 n) P
C01F: A5 14 LDA $14               :A=0x12# t3 \" M5 D+ L' P, e
C021: 85 16 STA $16               :[0016]=A=0x12
, x! I" o& F, a7 D; t, J( X
0 H7 z7 t, `/ q+ d根据文章的内容我是不是应该从C01F这个地址开始修改呢。4 @  G$ V( F' H- i
我现在重新动手测试一下,有问题再来请教你们
& S0 z  U9 x% `5 g" Y7 e0 X$ e" E; `& J' M: w- M* D1 v- a) V; x; N

9 s  n; E& R. K1 \7 O+ O经过我测试后发现可行,在C01F地址那开始修改,没有出现错误,再次感谢你的文章{:4_103:}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-11-19 13:46 , Processed in 1.045899 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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