- 积分
- 431
- 实力分
- 点
- 金钱数
- 两
- 技术分
- 分
- 贡献分
- 分
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
;作用:指定时间段启动功能
;这段补丁和llhn做的按时段亮灯补丁的作用一样,代码已经精简到不能再精简,可以让一些功能按时段启动,...按时段启用答录机...按时段防火墙...
;还可以用其他系统时间如:分 日 年 周等的时段为条件,大家可以试试
;系统时间 RAM地址
;0D:25DC 分
;0D:25DE 时
;0D:25E0 日
;0D:25E2 月
;0D:25E4 年
;0D:25E6 周
;下面是以锁键关屏为例子:
;原来是把关屏函数DAC7C0DC直接挂在自动锁键入口上
;0x35E8E6:DAA36E77 DAC7C0DC;自动锁时关屏
;修改后的按时段关屏:把DAC7C0DC放在下面根据设定的时段执行功能:每天晚上22:00点后执行锁键关屏,早上7.00后,锁键不关屏
0x35E8E6: DAA36E77 DABF6006
0x1F0660: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 88D0D7400D00F2FDDE2546FD16009D03 ;16 hex=22:00点
0x1F0670: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 46FD07009D02DAC7C0DC98D0DB00FFFF ;07 hex=07:00点
;:重要记事是固定某个时间执行一个可单独使用的函数,这个补丁可以让原来某个补丁中包含的函数(或者一些参数之类也可以)在指定时段内变成调用另一个..
;---------------------------------------------------------------------------------------------------------------------------------------------------------
;用SFE反汇编看看,只用了一个寄存器和系统时间
1F0660: 88 D0 : mov [-r0], r13 r13进栈 保护寄存器
1F0662: D7 40 0D 00 : extp #0Dh, #1 extp指令 临时切换到系统的小时页
1F0666: F2 FD DE 25 : mov r13, 365DEh ; (000D:25DE) r13取得0D*4000+25DE的系统小时参数
1F066A: 46 FD 16 00 : cmp r13, #16h cmp比较指令 比对r13和#16h的大小
1F066E: 9D 03 : jmpr cc_NC, loc_1F0676 if r13>=16 then jump to 1F0676
1F0670: 46 FD 07 00 : cmp r13, #7 比对r13和#7h的大小
1F0674: 9D 02 : jmpr cc_NC, loc_1F067A if r13>=7 then jump to 1F067A
1F0676: DA C7 C0 DC : loc_1F0676:
1F0676: DA C7 C0 DC : calls 0C7h, loc_C7DCC0 calls C7DCC0 执行关屏
1F067A: 98 D0 : loc_1F067A:
1F067A: 98 D0 : mov r13, [r0+] 恢复r13的内容 还原寄存器
1F067C: DB 00 : rets rets执行返回
蓝色字体,就是告诉你前面有个跳的地方,是跳到这里
下面是非常常见的指令
mov
extp
cmp
jmpr |
评分
-
查看全部评分
|