|
本帖最后由 2011yaya2007777 于 2014-12-22 11:58 编辑
0.46a 2012-02-27 至 2012-03-24 有 3 个补丁。似乎与读磁盘无关。
请 mdyblog 在其他电脑测试一下,状况是否一样,以便排除主板 BIOS 适应性问题。
编译器问题确实头痛。最近排除 issues 199 的问题,反编译了 grldr,明显发现有编译错的时候。
比如 C 代码是:
- if (name_len == 1) //如果名称长度=1
- {
- if ((name[0] == 0) || /* self 自己*/
- (name[0] == 1)) /* parent 父级*/
- goto ssss;
- }
- if (iso_type == 2)
- {
复制代码
编译后是:
- ;if (name_len == 1)
- ;{
- :0002E488 83FE01 cmp esi, 00000001 ;name_len=1?
- :0002E48B 7514 jne 0002E4A1
- ;if ((name[0] == 0) || (name[0] == 1))
- ;{
- :0002E48D 8B8DF0FDFFFF mov ecx, dword ptr [ebp+FFFFFDF0] ;name
- :0002E493 803901 cmp byte ptr [ecx], 01 ;name[0] > 1?
- :0002E496 0F87AD040000 ja 0002E949 ;是 错误!!!!!!!!
- :0002E49C E9FA030000 jmp 0002E89B ;name[0]=0 或 name[0]=1 转到 ssss
- ;}
- :0002E949 83F802 cmp eax, 00000002 ;iso_type=2?
- :0002E94C 0F85B7FBFFFF jne 0002E509 ;不是 错误!!!!!!!!!!!!!!!!!!!!!!!
- :0002E952 E94FFBFFFF jmp 0002E4A6 ;是
- ;if (iso_type == 2)
- ;{
- :0002E4A1 83F802 cmp eax, 00000002 ;iso_type=2?
- :0002E4A4 7535 jne 0002E4DB ;不是
- ;big_to_little (name, name_len);
- :0002E4A6 8B9DF0FDFFFF mov ebx, dword ptr [ebp+FFFFFDF0] ;name
复制代码 |
|