EMU618社区

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

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

[复制链接]

签到天数: 29 天

[LV.4]偶尔看看III

发表于 2012-9-25 17:42:38 | 显示全部楼层 |阅读模式
我在修改的过程中遇到一些只有2个字节的数据  s& G  R' k1 y+ d: ~! k# @/ k
例如 :      
" }+ I' U9 D, @3 q  E$ A C021:  85 16  STA$16                           85 16     两个& j# q4 n3 r4 W, d

! m; `/ P& |4 ]
+ W& Y& C0 ~2 M7 r& e然后我需要在这里修改成跳转,但是要跳转的地方需要3个字节l来修改:
9 T2 \. l4 J" I& L0 ]& |例如:
: s  _; g4 D2 y' V: K9 MC021:4C BFF0 JMP$F0BF                   4C BFF0   三个
4 @. G1 o; h6 i$ o: ~  \
% k. w8 p( F3 [; [1 x/ U( |' J9 h: V3 ^
连续的数据是:
# I2 F% S1 Z' m( D: u1 p) C$ Q, F8 V
# x. z: v% f; e& J8 ^C020:14 85 16 A5 15 85 17 A9 00 90 A5 95 D0 08 A5
# }9 l4 ?: p2 m3 d
7 \* k! g9 Z  y$ B5 k( ]
9 m7 ?: H. _8 m- u, x: x6 a这种情况下我改怎样修改,但是原数据只有2个字节,如果我这里改成3个字节会对后面连续的数据造成破坏,我应该怎样改呢?; @/ e  {% t3 @6 I- M; V
; O7 ]7 d3 |/ b) K; Q
不知道自己有没表达的清楚...希望大家能看懂我的意思..

该用户从未签到

发表于 2012-9-25 18:06:12 | 显示全部楼层
本帖最后由 money_114 于 2012-9-25 18:07 编辑 7 X. n9 V/ j' _8 L2 l
2 ]" Q1 {% V- d9 @4 f/ W1 l+ H3 }
就直接跳转, 然后在跳转地址这把前面修改的命令补全
: i2 h5 b3 N* D1 i4 o5 ?. m% ?; V' P4 \
跳转命令看这, 写的很清楚了6 y/ [# q0 Y5 h, w, U" n5 F
http://shinwa.kami.blog.163.com/ ... 047200822563622456/5 n& U6 |  x( `3 S; c8 A9 A# K
[发帖际遇]: money_114 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜

签到天数: 2027 天

[LV.Master]伴坛终老

发表于 2012-9-25 18:10:06 | 显示全部楼层
  1. C021:
    1 F, c) l+ o6 l8 [& ]3 I- ?' [
  2. 85 16 STA $16  ->4C BF F0 JMP $F0BF  f1 P( {' T) E  T5 ^5 L# Z
  3. A5 15 LDA $15  ->EA       NOP
    2 M" L6 _9 G7 H+ a" W: V; j# p
  4. 85 17 STA $179 E( e7 W0 m: L. i$ A
  5. A9 00 LDA #$00$ m+ d7 g# T. g( z2 E" W
  6. 2 k0 C, @9 w& _' J2 `$ `% i
  7. F0BF:
    ; c& U" B# b2 |0 X& n* H8 ?4 w  V
  8. 85 16 STA $160 a. W- W9 ?: X* ]
  9. A5 15 LDA $15
    ; W4 `6 {7 b+ ~2 z6 z/ a% W' h- B- N& u
  10. .
    8 E! x& J4 q4 q/ m2 Y: \! s
  11. ., t5 T& J; z$ E: S( P, d/ R
  12. ." U, ^% d( z. C4 C) E
  13. .
复制代码
[发帖际遇]: 疾风之狼 被钱袋砸中进医院,看病花了 1 个 柠檬. 幸运榜 / 衰神榜

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 19:51:21 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 19:54 编辑
/ {1 w3 H5 D5 i9 ^5 \: g
疾风之狼 发表于 2012-9-25 18:10

6 |# w# X" D6 g6 W) d; {% \) G( ?
3 @: d6 Z" z, K& b# N' j3 D+ e狼大,我按照你的方法,不知对不。
) {% y4 A' L5 D* x+ |
1 G% i( M2 I7 i3 T
1 ^6 p9 r+ u2 ~4 Z原数据+ m8 ~4 I3 O& y9 N6 {9 c: Q
C021:       85 16 A5 15 85 17
! ~0 \; T/ r6 p& X9 M9 k3 K, h" ?: Q4 U( Q1 p7 U1 W) ?" Y
修改后5 p+ X' Z1 C1 i- R8 z* c8 [
C021:       4C BF F0 15 85 17                  把连续的数据A5覆盖掉跳转到F0BF
! B6 v& h& D" G- z
; i  M0 \1 W6 C7 V* W5 `' S
! q- o1 i5 s3 Z/ R/ nF0BF:85 16  A5 15  4C 25 C0                重新写入原数据和后面被覆盖的A5然后跳回C025. T: `* P5 m. t2 R2 H! a
/ O8 Q* z+ P7 s- n

8 Z- e/ _! \9 {, L3 b# \
9 h2 ~/ V* m/ ]8 b5 a我之前也用这个方法测试过一次,不知为啥返回模拟器继续运行提示错误。

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 20:03:47 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 20:08 编辑
! i: Q; j! c+ U+ m( [+ F
$ M& J% y) u& T看了money的文章后,这次我把前面的几句指令也列举出来:
/ e4 v1 @; u0 r" Y5 j' O4 J! d9 PC01F: A5 14 LDA $14               :A=0x126 H8 O* J/ _* K) o  z! S
C021: 85 16 STA $16               :[0016]=A=0x12
, o1 K, l, r' [; [2 c. z1 v, `' |+ f$ R2 c( \3 y+ R
根据文章的内容我是不是应该从C01F这个地址开始修改呢。
$ j' ?. k) ]: A- D' D: v0 }我现在重新动手测试一下,有问题再来请教你们
0 \) y- K! \' D" ^
" s0 S( u. _# G6 V1 \* u" M) [7 g" y8 }9 \) C2 O7 d- I* m& G
经过我测试后发现可行,在C01F地址那开始修改,没有出现错误,再次感谢你的文章{:4_103:}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-3 01:41 , Processed in 1.074219 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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