无忧启动论坛
标题:
请教CALC只有数值是什么意思?(解决)
[打印本页]
作者:
icevan
时间:
2012-3-21 00:19
标题:
请教CALC只有数值是什么意思?(解决)
我查看HOTDLL的菜单时搞不明白里面的2条命令.
calc *0x8280 || chainloader /TANGO/03ONE && boot
这句是说前面的命令失败了就执行||后面的命令.但calc *0x8280这句是什么意思.我手动
执行后都会返回启动设备啊.什么情况下calc *0x8280才会失败呢?
calc *0x82b8 && calc *0x82b9&0xff || chainloader /TANGO/03ONE && boot
这句后面的calc倒是有个运算操作.不过前面的CALC还是不明白什么意思.
[
本帖最后由 icevan 于 2012-3-21 15:49 编辑
]
作者:
zhaohj
时间:
2012-3-21 11:00
原则上讲,不建议使用calc *0x8280,因为calc是64位计算的,有可能产生负数。
一定要用calc,最好用32位:calc *0x8280&0xffffffff
作者的本意是:
checkrange 0 read 0x8280 && chainloader /TANGO/03ONE && boot
或者
checkrange 1:-1 read 0x8280 || chainloader /TANGO/03ONE && boot
[
本帖最后由 zhaohj 于 2012-3-21 11:06 编辑
]
Snap1.jpg
(36 KB, 下载次数: 28)
下载附件
2012-3-21 11:06 上传
作者:
icevan
时间:
2012-3-21 13:25
谢谢
还是是懂非懂的。你的意思是说这里calc *0x8280只是为了判断
那个位置有没有内容?
calc 数值 运算符 数值。
calc *0x8280这里他是省略了什么?
作者:
sratlf
时间:
2012-3-21 14:11
标题:
回复 #3 icevan 的帖子
这个涉及到思路问题了
0x8280存放的是启动设备编号 比如fd0启动是0x0 ud启动是0x23 hdd启动是0x80等
command 1 || command 2 这个是命令1失败 执行命令2
这里如果0x8280值是0的话 那个calc 0 是会失败的 就会执行命令2
如果0x8280值不是0 命令1就不会失败 命令2就不会执行
也就是根据不同环境启动不同的引导文件
calc 一个值得时候 如果这个值是0或不存在 这条命令就会执行失败
作者:
icevan
时间:
2012-3-21 15:50
谢谢楼上各位的解答。
欢迎光临 无忧启动论坛 (http://wuyou.net./)
Powered by Discuz! X3.3