比这篇新的文章: GRUB4DOS 修改时间
比这篇旧的文章: Codee#23022

GRUB4DOS 批处理,修改系统日期

语言: Batchfile, 标签: grub4dos date 2011/10/07发布 7个月前更新
作者: chenall, 点击714次, 评论(0), 收藏者(0), , 打分:

背景
主题: 字体:
01 !BAT
02 ::datefunc for grub4dos by chenall 2011-10-08
03 setlocal
04 debug off
05 set edi=0x60000
06 set esi=0x60004
07 set ebp=0x60008
08 set esp=0x6000C
09 set ebx=0x60010
10 set bx=0x60010
11 set edx=0x60014
12 set dx=0x60014
13 set ecx=0x60018
14 set cx=0x60018
15 set eax=0x6001C
16 set ax=0x6001C
17 set gs=0x60020
18 set fs=0x60024
19 set es=0x60028
20 set ds=0x6002c
21 set ss=0x60030
22 set eip=0x60034
23 set cs=0x60038
24 set eflags=0x60003c
25 ::时钟服务(Clock Service——INT 1AH)
26 ::04H —读取日期
27 call :BIOS_INT 1A ax=0x400
28 set date=%*
29 if exist date && goto :SET_DATE
30 call Fn.0 0 "%%04X%%04X" *%cx% *%dx% | set date=
31 echo -n The current date is: %date:~0,4%-%date:~4,2%-%date:~6%
32 set /p date=Enter the new date: (yyyy-mm-dd)
33
34 :SET_DATE 调用BIOS中断修改日期
35 ::05H —设置日期
36 call :BIOS_INT 1A ax=0x500 cx=0x%date:~0,4% dx=0x%date:~5,2%%%date:~8,2%
37 exit
38
39 :BIOS_INT
40 ::初始化系统参数
41 echo -n > (md)0x300+1
42 write %cs% -1
43 write %ss% -1
44 write %esp% -1
45 write %eflags% -1
46 write %ds% -1
47 write %es% -1
48 write %fs% -1
49 write %gs% -1
50 write %eip% 0xFFFF%1CD
51 shift 1
52
53 ::设置参数
54 :参数
55 if "%2"=="" goto :realmode_run
56 write %%%1% %2
57 shift 1
58 shift 1
59 goto :参数
60 :realmode_run
61 call Fn.53 0x60000
62 exit


所有评论,共0条:( 我也来说两句)


发表评论

注册登录后再发表评论