无忧启动论坛

标题: &&与||的实际应用,是否有错 [打印本页]

作者: rockrock99    时间: 2011-11-4 09:10
标题: &&与||的实际应用,是否有错
  1. title 09. Windows PE
  2. map --mem /BOOT/SCSI.IMA (fd0)
  3. map --mem /BOOT/SCSI.IMA (fd1)
  4. if exist (fd0)+1 && map --mem /BOOT/PE.ISO (0xff) || map /BOOT/PE.ISO (0xff) || map --mem /BOOT/PE.ISO (0xff)
  5. map --e820cycles=0
  6. if exist (hd2)+1 && map (hd2) (hd0) && map (hd0) (hd2)
  7. if exist (hd1)+1 && map (hd1) (hd0) && map (hd0) (hd1)
  8. map --hook
  9. rootnoverify (0xff)
  10. chainloader (0xff)

  11. title 10. MS-DOS v7.1
  12. if exist (fd0)+1 && map (fd0) (fd1)
  13. map /BOOT/MSDOS.IMA (fd0) || map --mem /BOOT/MSDOS.IMA (fd0)
  14. map --hook
  15. rootnoverify (fd0)
  16. chainloader (fd0)+1

  17. title 11. MaxDOS v8
  18. if exist (fd0)+1 && map (fd0) (fd1)
  19. map /BOOT/MAXDOS.IMA (fd0) || map --mem /BOOT/MAXDOS.IMA (fd0)
  20. map --hook
  21. rootnoverify (fd0)
  22. chainloader (fd0)+1
复制代码
以上问题主要是为了处理USB-ZIP问题
title 09:假如存在fd0,强制载入内存,否则按文件是否连续来选择
title 10&11:假如存在fd0,原fd0映射为fd1(这个比较简单,应该问题不大)

因为自己不熟悉这两个逻辑符的使用规则,特发帖请教,谢谢!

[ 本帖最后由 rockrock99 于 2011-11-4 09:34 编辑 ]
作者: zxw    时间: 2011-11-4 09:31
if exist (fd0)+1 && map --mem /BOOT/PE.ISO (0xff)  ! map /BOOT/PE.ISO (0xff) || map --mem /BOOT/PE.ISO (0xff)
作者: zhaohj    时间: 2011-11-4 09:44
title 09. Windows PE
if exist (fd0)+1 && map --mem /BOOT/PE.ISO (0xff) ! map /BOOT/PE.ISO (0xff) || map --mem /BOOT/PE.ISO (0xff)

这里解释为:如果存在(fd0)磁盘,则执行map --mem /BOOT/PE.ISO (0xff);不存在(即否则)则执行map /BOOT/PE.ISO (0xff) ,map失败则执行map --mem /BOOT/PE.ISO (0xff)

我想你应该是这个效果。
作者: rockrock99    时间: 2011-11-4 09:46
标题: 回复 #2 zxw 的帖子
"!"是什么逻辑符,查了readme都找不到说明<br />用USB-ZIP模式和USB-HDD模式对比测试了下,逻辑是没问题的,但会受手提电脑的内置读卡器影响,稍候再改下

回复 #3 zhaohj 的帖子
就是要这样的效果

[ 本帖最后由 rockrock99 于 2011-11-4 09:47 编辑 ]
作者: rockrock99    时间: 2011-11-4 10:00
这样就比较完美了

  1. title 09. Windows PE
  2. map --mem /BOOT/SCSI.IMA (fd0)
  3. map --mem /BOOT/SCSI.IMA (fd1)
  4. if exist (fd0)/GRLDR && map --mem /BOOT/PE.ISO (0xff) ! map /BOOT/PE.ISO (0xff) || map --mem /BOOT/PE.ISO (0xff)
  5. if exist (hd2)+1 && map (hd2) (hd0) && map (hd0) (hd2)
  6. if exist (hd1)+1 && map (hd1) (hd0) && map (hd0) (hd1)
  7. map --e820cycles=0
  8. map --hook
  9. rootnoverify (0xff)
  10. chainloader (0xff)

  11. title 10. MS-DOS v7.1
  12. if exist (fd0)/GRLDR && map (fd0) (fd1)
  13. map /BOOT/MSDOS.IMA (fd0) || map --mem /BOOT/MSDOS.IMA (fd0)
  14. map --hook
  15. rootnoverify (fd0)
  16. chainloader (fd0)+1

  17. title 11. MaxDOS v8
  18. if exist (fd0)/GRLDR && map (fd0) (fd1)
  19. map /BOOT/MAXDOS.IMA (fd0) || map --mem /BOOT/MAXDOS.IMA (fd0)
  20. map --hook
  21. rootnoverify (fd0)
  22. chainloader (fd0)+1
复制代码

作者: rockrock99    时间: 2011-11-4 11:21
标题: 回复 #5 rockrock99 的帖子
还是不完美,要是碰上了访问fd0(实际不存在fd0)就死机的BIOS Buggy,就会死翘翘了
作者: mygamexxx    时间: 2011-11-4 12:27
if exist 后面的 && 应该是要省略掉
作者: sratlf    时间: 2011-11-4 12:34
标题: 回复 #7 mygamexxx 的帖子
这里的&&是配合 ! 使用的




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3