EMU618社区

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

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

[复制链接]

签到天数: 29 天

[LV.4]偶尔看看III

发表于 2012-9-25 17:42:38 | 显示全部楼层 |阅读模式
我在修改的过程中遇到一些只有2个字节的数据
/ {: D" K3 Q( s0 ~# z# P* U例如 :      
  H1 H9 j) j* T/ R C021:  85 16  STA$16                           85 16     两个
# ^) f4 K0 f/ q, f
6 D' ]3 t  }" }% r1 t
3 W/ |9 A( z2 C5 ~( d然后我需要在这里修改成跳转,但是要跳转的地方需要3个字节l来修改:2 B" M" l* S( k+ O7 V
例如:5 K1 d# s" D7 _( L7 w) \
C021:4C BFF0 JMP$F0BF                   4C BFF0   三个; a4 K9 K7 g& i" v1 q6 D% H6 g9 T

) d8 |& r, h+ F! w! K  g% `9 a, }  `* l5 {
连续的数据是:" F. l0 M& J( H0 `3 f

9 n: l8 f  A! R9 T& y5 NC020:14 85 16 A5 15 85 17 A9 00 90 A5 95 D0 08 A5: g6 W; C0 \" Z+ _
9 I; W/ u% B% s3 e) j$ s& k
$ I8 }4 ^3 ?9 i2 h
这种情况下我改怎样修改,但是原数据只有2个字节,如果我这里改成3个字节会对后面连续的数据造成破坏,我应该怎样改呢?
5 P/ p+ i2 t" h) ^7 n/ o& `+ [
- j4 N! m9 p5 L不知道自己有没表达的清楚...希望大家能看懂我的意思..

该用户从未签到

发表于 2012-9-25 18:06:12 | 显示全部楼层
本帖最后由 money_114 于 2012-9-25 18:07 编辑
( _: V2 v' u6 A0 a0 e& q( p' L' x$ v7 |. O. e" Z
就直接跳转, 然后在跳转地址这把前面修改的命令补全
. |; G, b0 M+ j/ b+ w* |
5 N4 l4 r$ x( l" ?" M跳转命令看这, 写的很清楚了
: f. Z; j6 ?- w" d+ @7 N3 S( qhttp://shinwa.kami.blog.163.com/ ... 047200822563622456/5 s7 W. q+ J& P  L+ m
[发帖际遇]: money_114 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜

签到天数: 2136 天

[LV.Master]伴坛终老

发表于 2012-9-25 18:10:06 | 显示全部楼层
  1. C021:
    / {9 Q- n  {4 n0 ?9 \; e0 S: V! b) `
  2. 85 16 STA $16  ->4C BF F0 JMP $F0BF
    4 y/ J1 c7 O8 R( S" T. h
  3. A5 15 LDA $15  ->EA       NOP
    . c. B+ ?3 J& L* t7 h8 _
  4. 85 17 STA $179 B' X9 H; w6 w* Z' a- e
  5. A9 00 LDA #$00. Q2 z! S- N, U$ Z6 f

  6. 5 ?& B. q! a# |8 F# D2 n
  7. F0BF:
    " b$ d! S% S% {! f  O, y
  8. 85 16 STA $16
    ! [0 W5 O8 v5 V& Q( c, n
  9. A5 15 LDA $155 Y9 v. V6 G3 t+ c: F: {
  10. .
    ; m& D* ^$ K. z, w: D4 `( i" ?6 {* }3 Y
  11. .
    : s* S- o$ w7 ^  U
  12. .8 a: O5 r+ U( j7 E- X  K/ l5 j
  13. .
复制代码
[发帖际遇]: 疾风之狼 被钱袋砸中进医院,看病花了 1 个 柠檬. 幸运榜 / 衰神榜

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 19:51:21 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 19:54 编辑 $ b2 f6 t* e4 O* y
疾风之狼 发表于 2012-9-25 18:10
4 k" u6 t2 i: t
4 W, |. U. {6 X* R- y3 {
狼大,我按照你的方法,不知对不。
- O, y' k  }, o; l# |* p: l" C' d2 ?* M8 [  d6 E! m! B
+ L' ?" N% Y5 o& H8 p' H' ?/ D  U
原数据' U* f$ ]7 k/ ?1 S$ y7 Q
C021:       85 16 A5 15 85 17
: _. U. T" R1 b: P' k
$ n* G! w3 n8 V# x2 h修改后! r  o- l& h0 o+ L  M
C021:       4C BF F0 15 85 17                  把连续的数据A5覆盖掉跳转到F0BF+ m- u; m8 w; a5 [- b8 w2 G
- {9 t) f3 [4 X% i$ D( }, U

. I+ Q4 J2 P6 O; j7 A, c+ oF0BF:85 16  A5 15  4C 25 C0                重新写入原数据和后面被覆盖的A5然后跳回C025
, D% n5 j1 [1 j, c0 W5 J) Y1 ?' b
! \, c3 A" M6 p+ d+ V4 G

( f  n) j( U0 k/ v8 ?3 }3 k我之前也用这个方法测试过一次,不知为啥返回模拟器继续运行提示错误。

签到天数: 29 天

[LV.4]偶尔看看III

 楼主| 发表于 2012-9-25 20:03:47 | 显示全部楼层
本帖最后由 rxlzh 于 2012-9-25 20:08 编辑 2 j  ~! k' s7 I9 g

0 M$ n: M1 F5 n. B看了money的文章后,这次我把前面的几句指令也列举出来:
5 S4 R4 ^1 \: @# G# L- e6 x; E1 u; qC01F: A5 14 LDA $14               :A=0x12: w  {" C" L; _( o
C021: 85 16 STA $16               :[0016]=A=0x12
  [  r6 H8 _# S- U5 H$ v: p( t" x2 A2 t3 l8 N4 W5 \# M+ V$ K+ Y
根据文章的内容我是不是应该从C01F这个地址开始修改呢。
% N+ v# P8 x8 x* Y  {  f7 y我现在重新动手测试一下,有问题再来请教你们
4 N& p$ \7 D- G: [2 e- O; x7 z1 `+ K4 ]  F, E2 z+ b7 S; C
# h# T. D1 t, J  j4 p
经过我测试后发现可行,在C01F地址那开始修改,没有出现错误,再次感谢你的文章{:4_103:}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-11-19 13:43 , Processed in 1.060547 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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