| 
 | 
 
 本帖最后由 sratlf 于 2014-4-30 15:14 编辑  
 
坛友2010guoguo发现的一个疑似bug  讨论过程可以见我的帖子#2544到#2549   同时感谢2010guoguo的辛苦测试 
在这个帖子里我重新整理下  有条件的也可以帮忙测试下  看是不是普遍问题  测试内容见我的帖子#2550测试文件见附件  是个批处理和img合并的文件  批处理见下(已精简没用内容)   
 
- !BAT
 
 - debug 1
 
 - set runs=%~nx0
 
 - set runpath=%~p0
 
  
- ::交换磁盘并更新,避免交换后ud内容丢失
 
 - read 0x82b8
 
 - read 0x82b9
 
 - map (hd0) (hd1)
 
 - calc *0x82b9=*0x82b9&0xffffff00|0x81
 
 - map (hd1) (hd0)
 
 - map --rehook
 
  
 
- ::分离img文件并map到fd3
 
 - set loadfile=%@root%%%runpath%%%runs%
 
 - map --mem=0x20000%loadfile% (rd)
 
 - cat --locate=\x1f\x8b --number=1 (rd)+1
 
 - calc *0x82d8=*0x82d8-%?%
 
 - calc *0x82d0=*0x82d0+%?%
 
 - map --mem (rd)+1 (3)
 
 - map --rehook
 
 - exit
 
  复制代码 
如果不执行 calc *0x82b9=*0x82b9&0xffffff00|0x81 这条命令更新ud位置  下面命令的执行都没有错误 
 
执行了以后  cat --locate=\x1f\x8b --number=1 (rd)+1  的结果在0107版和之前的版本(0724)上会出现差异  原图可以看帖子#2549 
0107版得到的结果为0x232e  之前版本得到的结果为0x24f   0107版在执行  map --mem (rd)+1 (3)  时报错  之前版本不会 
 
用同一个测试文件  我自己测试cdrom启动  两个版本得到的都是0x24f   没有任何报错   会不会是0107版的某些改动引起了bug 
 
 
更新:#2554正常版本的截图 
#2559  0107版出错的截图 
对比#2549的截图会发现   
1,不执行calc *0x82b9=*0x82b9&0xffffff00|0x81  更新ud位置的话  两个版本cat --locate得到的结果是相同的  可以正常执行map --mem (rd)+1 (3) 
2,更新ud位置的话  0107版以前的cat --locate得到的结果正常  0107版得到的结果始终为  0x232e 
 |   
 
 
 
 |