EMU618社区

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

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

[复制链接]

签到天数: 29 天

[LV.4]偶尔看看III

发表于 2012-9-25 17:42:38 | 显示全部楼层 |阅读模式
我在修改的过程中遇到一些只有2个字节的数据) q+ ]2 u0 x2 s
例如 :      
2 r: [7 w  o' O3 J0 A- U C021:  85 16  STA$16                           85 16     两个
& W4 a% {/ Y6 I+ k7 I
  I. o" s& ~' u8 h' F
) k7 H9 u/ C! L' C) \然后我需要在这里修改成跳转,但是要跳转的地方需要3个字节l来修改:+ Q$ J* \8 x! M$ [& G, G6 T- X# i
例如:4 r+ o  z7 ?5 Y5 w# W
C021:4C BFF0 JMP$F0BF                   4C BFF0   三个2 Z. I  ~1 m5 O0 H4 J" w

7 \* x( C7 L: n9 ~3 i6 a- P4 @2 G0 a4 \  V# B
连续的数据是:
- O1 H7 j" H0 k) j+ d' D3 ^* \' _: F$ [* M1 {2 O
C020:14 85 16 A5 15 85 17 A9 00 90 A5 95 D0 08 A56 g* R. |+ W+ Z

$ K. v) [4 U; E' p0 Y( r/ J1 u+ |, x, t" T% P% A
这种情况下我改怎样修改,但是原数据只有2个字节,如果我这里改成3个字节会对后面连续的数据造成破坏,我应该怎样改呢?
4 L3 x4 V6 {" z2 b. \5 v9 Q
3 g5 h# y/ V1 m( I$ W不知道自己有没表达的清楚...希望大家能看懂我的意思..

该用户从未签到

发表于 2012-9-25 18:06:12 | 显示全部楼层
本帖最后由 money_114 于 2012-9-25 18:07 编辑
  O* E7 k6 T) n4 W6 z0 r
  W0 m7 b' j1 U( B$ D就直接跳转, 然后在跳转地址这把前面修改的命令补全& ^2 u' g$ _" ^& m) j: Z8 `( T$ w

1 H2 d' }6 n5 J3 \- q( f$ r跳转命令看这, 写的很清楚了2 {* b0 r2 W+ F+ A" V3 {
http://shinwa.kami.blog.163.com/ ... 047200822563622456/* ~/ i# Q) p6 C: b+ K4 ~( C5 C
[发帖际遇]: money_114 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜

签到天数: 2152 天

[LV.Master]伴坛终老

发表于 2012-9-25 18:10:06 | 显示全部楼层
  1. C021:9 M* w1 \  L: V7 H$ `7 @2 |
  2. 85 16 STA $16  ->4C BF F0 JMP $F0BF
    # u- Q; B$ G: ^' u  l
  3. A5 15 LDA $15  ->EA       NOP
    $ C1 }- X( L# h+ x; V9 j
  4. 85 17 STA $17
    % {& s% d. J2 H' \8 Y+ g) R; A+ P! e
  5. A9 00 LDA #$00
    3 W; B2 p3 n* s" m+ T
  6. ' a( J  O7 k8 d& u# B, L  R5 D
  7. F0BF:
      {& J/ z' \, n! x
  8. 85 16 STA $16
    5 N# o9 V) q  ?
  9. A5 15 LDA $15
    5 H- o9 N) i# B9 M6 r
  10. ./ \& Z2 a, ?/ A. L. {/ n- ]4 c
  11. .# W0 Y. D! b/ W4 J3 F: m! j
  12. .
    6 V; R/ U& T* Y) g, r1 }7 X
  13. .
复制代码
[发帖际遇]: 疾风之狼 被钱袋砸中进医院,看病花了 1 个 柠檬. 幸运榜 / 衰神榜

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 19:51:21 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 19:54 编辑
- f! i8 W: U" x. X
疾风之狼 发表于 2012-9-25 18:10

6 _+ s2 v+ S# F$ s9 r  W2 E' N: a! a6 O* H
狼大,我按照你的方法,不知对不。1 ?! V0 k1 P; @( [$ V7 R

" r& v1 w: y. r5 A% k
! u8 E- X+ ?# K. U8 F原数据
' G$ Y, D' V! UC021:       85 16 A5 15 85 17
! M. X5 T- e" x' q9 R. [5 t
/ L* @( c" O7 \& i' x- w修改后
, D' G# ]; F' f8 yC021:       4C BF F0 15 85 17                  把连续的数据A5覆盖掉跳转到F0BF& d7 Z2 i7 K/ k% d* y
! _7 ]! G& T- g! F" m1 f0 C' ?
7 O* J$ o7 T! \
F0BF:85 16  A5 15  4C 25 C0                重新写入原数据和后面被覆盖的A5然后跳回C025
2 J& Z: w9 q+ c6 P9 ?( [& b' d' i9 Q5 G7 ~$ H' A

9 s  @' M( u5 P, e, R
4 u) C7 f$ b+ j我之前也用这个方法测试过一次,不知为啥返回模拟器继续运行提示错误。

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 20:03:47 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 20:08 编辑
. B2 e! z' l3 |9 E3 B/ Z
7 X2 A. _* x1 o+ k' W( X看了money的文章后,这次我把前面的几句指令也列举出来:
, F7 ]" [' ^1 K- {3 |  ~9 J. p* q0 C) t9 BC01F: A5 14 LDA $14               :A=0x12
9 g/ @7 C+ q) s: o; g( ]C021: 85 16 STA $16               :[0016]=A=0x12
; M5 V5 C: G, ]) P, F7 [9 m9 f- H$ ]9 L$ _" q- `7 n  P. P
根据文章的内容我是不是应该从C01F这个地址开始修改呢。
6 C! J! R, Y* l5 }8 P& X' P我现在重新动手测试一下,有问题再来请教你们3 p  `8 I( n) I  |6 R  ~

7 R# i  p; z4 H4 k0 j3 }+ N: J: `8 H8 i& m% A5 D7 I8 h
经过我测试后发现可行,在C01F地址那开始修改,没有出现错误,再次感谢你的文章{:4_103:}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-6 18:45 , Processed in 1.057617 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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