爱技术

 找回密码
 注册会员

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 443|回复: 0
收起左侧

solo或者其它补丁高手进来帮帮忙,反汇编问题

[复制链接]
发表于 2005-8-7 00:00:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册会员 微信登录

x
那篇【教程】补丁基础教程(全文完)写的确实很棒,但是有个问题
你得文章提到:移植到2128的的6618“来电亮灯V2”
我把补丁拷贝到ultraedit里,然后保存成bin文件
用idag和ADIS16X反汇编得到得结果怎么和你不一样啊
我弄了半天还是一头雾水,不知道哪里错了
请赐教多谢多谢

附:

1:我得反汇编结果
00000 : 38 38             SUBC     R3,[R0]
00002 : 34 30 38 38       SUBC     3838H,30H
00006 : 35 30 45 36       SUBCB    3645H,30H
0000A : 46 38 31 31       CMP      38H,#3131H
0000E : 30 30             SUBC     R3,R0
00010 : 45 36             Invalid Opcode
00012 : 46 39 30 39       CMP      39H,#3930H
00016 : 30 30             SUBC     R3,R0
00018 : 44 37             Invalid Opcode
0001A : 34 30 34 30       SUBC     3034H,30H
0001E : 30 30             SUBC     R3,R0
00020 : 46 32 46 43       CMP      32H,#4346H
00024 : 38 45             SUBC     R4,#5
00026 : 32 46 34 30       SUBC     CC6,3034H
0002A : 39 38             SUBCB    RH1,[R0]
0002C : 32 44 30 46       SUBC     CC4,4630H
00030 : 45 44             Invalid Opcode
00032 : 30 34             SUBC     R3,R4
00034 : 46 30 44 39       CMP      30H,#3944H
00038 : 46 30 39 38       CMP      30H,#3839H
0003C : 46 30 38 44       CMP      30H,#4438H
00040 : 45 30             Invalid Opcode
00042 : 31 44             SUBCB    RL2,RL2
00044 : 34 30 43 38       SUBC     3843H,30H
00048 : 39 44             SUBCB    RL2,#4
0004A : 30 31             SUBC     R3,R1
0004C : 37 38 44 32       SUBCB    38H,#3244H
00050 : 34 30 43 39       SUBC     3943H,30H
00054 : 38 44             SUBC     R4,#4
00056 : 30 31             SUBC     R3,R1
00058 : 37 38 44 34       SUBCB    38H,#3444H
0005C : 34 38 44 30       SUBC     3044H,38H
00060 : 32 44 30 32       SUBC     CC4,3230H
00064 : 34 38 44 31       SUBC     3144H,38H
00068 : 32 44 30 32       SUBC     CC4,3230H
0006C : 44 41             Invalid Opcode
0006E : 43 36 31 32       CMPB     36H,3231H
00072 : 35 42 39 38       SUBCB    3839H,CC2
00076 : 35 30 39 38       SUBCB    3839H,30H
0007A : 34 30 46 30       SUBC     3046H,30H
0007E : 38 34             SUBC     R3,#4
00080 : 46 30 39 35       CMP      30H,#3539H
00084 : 44 42             Invalid Opcode
00086 : 30 30             SUBC     R3,R0
00088 : 00 00             ADD      R0,R0
0008A : 00 00             ADD      R0,R0

2,下面是你得原文



7D1C00: FFFFFFFFFFFF 88408850E6F8
7D1C06: FF 11 ;开始使用的时间(16进制,默认为17点)
7D1C07: FFFFFF 00E6F9
7D1C0A: FF 09 ;停止使用的时间(16进制,默认为9点)
7D1C0B: FFFFFFFFFF 00D7404000
7D1C10: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F2FC8E2F40982D0FED04F0D9F098F08D
7D1C20: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E01D40C89D0178D240C98D0178D448D0
7D1C30: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2D0248D12D02DAC6125B98509840F084
7D1C40: FFFFFFFF F095DB00
上面这段补丁每一行的新数据反汇编的结果如下,我在反汇编这一段的时候没有使用机器的地址,而是从00000开始的,大家注意里面的跳转。
00000 : 88 40             MOV      [-R0],R4   ;R4进栈,保护寄存器
00002 : 88 50             MOV      [-R0],R5   ;R5进栈
00004 : E6 F8 11 00       MOV      R8,#0011H   ;R8赋值 开始于晚17点
00008 : E6 F9 09 00       MOV      R9,#0009H   ;R9赋值  结束于早9点
0000C : D7 40 40 00       EXTP     #40H,#1    ; 取40*4000+2F8E处的系统参数,得到系统时间的小时数
00010 : F2 FC 8E 2F       MOV      R12,2F8EH   ;
00014 : 40 98             CMP      R9,R8        ; 比较R9-R8的值是大于0还是为0,
00016 : 2D 0F             JMPR     CC_Z,0036H    ; 如果为0,则说明R8和R9初始值相等则24小时有效,直接跳到暂时亮灯函数,即:000036
00018 : ED 04             JMPR     CC_UGT,0022H  ; 如果R9>R8则跳到00022
0001A : F0 D9             MOV      R13,R9        ; 结束时间赋给R13
0001C : F0 98             MOV      R9,R8          ; 开始时间R8的值赋给R9
0001E : F0 8D             MOV      R8,R13         ; 结束时间转赋给R8,现在R8是结束时间9,而R9为开始时间17
您需要登录后才可以回帖 登录 | 注册会员 微信登录

本版积分规则

小黑屋|Archiver|手机版|爱技术 ( 沪ICP备08115260号-3 )

GMT+8, 2024-5-17 20:45

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

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