我在互联网的某个地方读到,在跳到0x7c00之前,BIOS加载到启动设备的"驱动器号"%dl.但这个"驱动器号码"是什么?连接到计算机的每台设备都由BIOS分配了一个号码?如果是这样,我怎么知道分配给哪个设备的号码?
读取我在%dl设置了位0x80和0x70时发现的GRUB源代码,它用0x80覆盖整个寄存器.这是为什么?这是代码:
jmp 3f /* grub-setup may overwrite this jump */
testb $0x80, %dl
jz 2f
3:
/* Ignore %dl different from 0-0x0f and 0x80-0x8f. */
testb $0x70, %dl
jz 1f
2:
movb $0x80, %dl
1:
Run Code Online (Sandbox Code Playgroud)
顺便说说.网络上的PC启动过程是否有详细的资源?特别是在将控件提供给引导加载程序之前BIOS的作用以及用于与之通信的标准代码(如"驱动器数").我希望编写自己的引导加载程序,我发现的所有内容都过于模糊,技术性不足以告知我的引导加载程序开始运行时计算机的确切状态.
假设我有两列,都由一个<div>块表示.两列都可能比另一列长,所以我想强制较小的一个像另一个一样大.
我的问题的例子:http://jsfiddle.net/TvnSJ/
如您所见,第二列较小.
我设法使用表来解决这个问题,但是我无法在它们之间添加边距.保证金很重要,所以我想知道另一个解决方案.
我试图使用bash中可用的扩展正则表达式运算符(?,*,+,@ ,!).手册说我只需用括号括起一个模式列表,然后在左括号前使用操作符.所以,如果我想要一个零或更多的模式:
if [[ "$1" =~ *(a) ]]
then
echo $1
fi
Run Code Online (Sandbox Code Playgroud)
但这不起作用.我究竟做错了什么?