<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>http://wiki.foofun.cn//index.php?action=history&amp;feed=atom&amp;title=BIOS</id>
	<title>BIOS - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.foofun.cn//index.php?action=history&amp;feed=atom&amp;title=BIOS"/>
	<link rel="alternate" type="text/html" href="http://wiki.foofun.cn//index.php?title=BIOS&amp;action=history"/>
	<updated>2026-04-07T11:38:55Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>http://wiki.foofun.cn//index.php?title=BIOS&amp;diff=664&amp;oldid=prev</id>
		<title>2022年2月21日 (一) 14:23 Zhang3</title>
		<link rel="alternate" type="text/html" href="http://wiki.foofun.cn//index.php?title=BIOS&amp;diff=664&amp;oldid=prev"/>
		<updated>2022-02-21T14:23:39Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh-Hans-CN&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2022年2月21日 (一) 14:23的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l3&quot;&gt;第3行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第3行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;并且使操作系统和应用程序开发更容易（因为BIOS服务处理了大部分硬件级接口）。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;并且使操作系统和应用程序开发更容易（因为BIOS服务处理了大部分硬件级接口）。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;这些BIOS服务仍在使用（特别是在启动期间），通常称为“BIOS功能”。（译者注：这里的BIOS &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;functions不再翻译为“函数”，因为它们在BIOS里不是通过传统语言传参的方式调用的，而是通过设置寄存器和软中断的方式调用的。）&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;这些BIOS服务仍在使用（特别是在启动期间），通常称为“BIOS功能”。（译者注：这里的BIOS &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;functions不再翻译为“函数”，因为它们在BIOS里不是通过传统函数方式调用的，而是通过设置寄存器和软中断的方式调用的。）&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;在[[Real Mode|实模式]]中，可以使用[[Assembly|汇编]]语言通过[[software interrupts|软件中断]]轻松访问它们。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;在[[Real Mode|实模式]]中，可以使用[[Assembly|汇编]]语言通过[[software interrupts|软件中断]]轻松访问它们。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l18&quot;&gt;第18行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第18行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x10 = 视频显示功能（包括VESA/VBE）&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x10 = 视频显示功能（包括VESA/VBE）&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x13 = 大容量存储（磁盘、软盘）访问&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x13 = 大容量存储（磁盘、软盘）访问&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x15 = &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;内存大小功能&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x15 = &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;内存大小获取功能&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x16 = 键盘功能&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x16 = 键盘功能&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l48&quot;&gt;第48行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第48行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;(有关这些BIOS功能调用的更多详细信息，请参见 [[ATA_in_x86_RealMode _(BIOS)| ATA使用BIOS]])&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;(有关这些BIOS功能调用的更多详细信息，请参见 [[ATA_in_x86_RealMode _(BIOS)| ATA使用BIOS]])&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x13, AH = 0 -- &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;reset floppy&lt;/del&gt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;hard disk&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x13, AH = 0 -- &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;重置软盘&lt;/ins&gt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;硬盘&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x13, AH = 2 -- &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;read floppy&lt;/del&gt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;hard disk in CHS mode&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x13, AH = 2 -- &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;在CHS模式下读取软盘&lt;/ins&gt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;硬盘&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x13, AH = 3 -- &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;write floppy&lt;/del&gt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;hard disk in CHS mode&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x13, AH = 3 -- &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;在CHS模式下写入软盘&lt;/ins&gt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;硬盘&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x13, AH = 0x15 -- &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;detect second disk&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x13, AH = 0x15 -- &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;检测第二个磁盘&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x13, AH = 0x41 -- &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;test existence of INT 13 extensions&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x13, AH = 0x41 -- &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;测试INT 13扩展的存在性&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x13, AH = 0x42 -- &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;read hard disk in LBA mode&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x13, AH = 0x42 -- &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;在LBA模式下读取硬盘&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x13, AH = 0x43 -- &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;write hard disk in LBA mode&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x13, AH = 0x43 -- &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;以LBA模式写入硬盘&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(see &lt;/del&gt;[[Detecting Memory (x86)]&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;] for more detail on these BIOS function calls)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;（有关这些BIOS函数调用的更多详细信息，请参见&lt;/ins&gt;[[Detecting Memory (x86)&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|检测内存（x86）&lt;/ins&gt;]&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;）&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x12 -- &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;get low memory size&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x12 -- &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;获得低内存大小&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x15, EAX = 0xE820 -- &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;get complete memory map&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x15, EAX = 0xE820 -- &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;获取完整的内存映射&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x15, AX = 0xE801 -- &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;get contiguous memory size&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x15, AX = 0xE801 -- &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;获取连续内存大小&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x15, AX = 0xE881 -- &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;get contiguous memory size&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x15, AX = 0xE881 -- &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;获取连续内存大小&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x15, AH = 0x88 -- &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;get contiguous memory size&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x15, AH = 0x88 -- &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;获取连续内存大小&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x15, AH = 0xC0 -- &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Detect MCA bus&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x15, AH = 0xC0 -- &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;检测MCA总线&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x15, AX = 0x0530 -- &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Detect APM &lt;/del&gt;BIOS&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x15, AX = 0x0530 -- &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;检测APM &lt;/ins&gt;BIOS&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x15, AH = 0x5300 -- &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;APM detect&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x15, AH = 0x5300 -- &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;APM检测&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x15, AX = 0x5303 -- &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;APM connect using 32 bit&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x15, AX = 0x5303 -- &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;APM连接使用32位&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x15, AX = 0x5304 -- &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;APM disconnect&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x15, AX = 0x5304 -- &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;APM断开&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x16, AH = 0 -- &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;read keyboard scancode &lt;/del&gt;(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;blocking&lt;/del&gt;)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x16, AH = 0 -- &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;读取键盘扫描码&lt;/ins&gt;(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;阻塞&lt;/ins&gt;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x16, AH = 1 -- &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;read keyboard scancode &lt;/del&gt;(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;non-blocking&lt;/del&gt;)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x16, AH = 1 -- &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;读取键盘扫描代码 &lt;/ins&gt;(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;非阻塞&lt;/ins&gt;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x16, AH = 3 -- &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;keyboard repeat rate&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* INT 0x16, AH = 3 -- &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;键盘重复率&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Zhang3</name></author>
	</entry>
	<entry>
		<id>http://wiki.foofun.cn//index.php?title=BIOS&amp;diff=653&amp;oldid=prev</id>
		<title>2022年2月21日 (一) 02:33 Zhang3</title>
		<link rel="alternate" type="text/html" href="http://wiki.foofun.cn//index.php?title=BIOS&amp;diff=653&amp;oldid=prev"/>
		<updated>2022-02-21T02:33:17Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh-Hans-CN&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2022年2月21日 (一) 02:33的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l77&quot;&gt;第77行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第77行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ASM 提醒&lt;/del&gt;===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;汇编开发提醒&lt;/ins&gt;===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;每个BIOS功能（如RBIL中所述）都有一组特定的“结果”寄存器。 除了列出的那些寄存器之外，BIOS功能应该完美地保留所有其它寄存器值。 早期版本的Bochs (2.3以下) 对此有一个小问题。 所有32位扩展寄存器（即EBX、ECX）的下半部分都得到了适当的保留，但一些寄存器的上半部分被破坏。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;每个BIOS功能（如RBIL中所述）都有一组特定的“结果”寄存器。 除了列出的那些寄存器之外，BIOS功能应该完美地保留所有其它寄存器值。 早期版本的Bochs (2.3以下) 对此有一个小问题。 所有32位扩展寄存器（即EBX、ECX）的下半部分都得到了适当的保留，但一些寄存器的上半部分被破坏。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l87&quot;&gt;第87行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第87行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* 或者(对于有严重缺陷的BIOS)返回时不做任何更改。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* 或者(对于有严重缺陷的BIOS)返回时不做任何更改。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;尽量始终检查这些错误返回，因为在许多情况下，BIOS功能可能返回有效&lt;/del&gt;(但非常错误)的数据，而不是错误代码。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;尽量始终检查这些返回，因为在许多情况下，BIOS功能可能返回有效&lt;/ins&gt;(但非常错误)的数据，而不是错误代码。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 保护模式下的BIOS ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 保护模式下的BIOS ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Zhang3</name></author>
	</entry>
	<entry>
		<id>http://wiki.foofun.cn//index.php?title=BIOS&amp;diff=652&amp;oldid=prev</id>
		<title>2022年2月21日 (一) 02:31 Zhang3</title>
		<link rel="alternate" type="text/html" href="http://wiki.foofun.cn//index.php?title=BIOS&amp;diff=652&amp;oldid=prev"/>
		<updated>2022-02-21T02:31:03Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;http://wiki.foofun.cn//index.php?title=BIOS&amp;amp;diff=652&amp;amp;oldid=67&quot;&gt;显示更改&lt;/a&gt;</summary>
		<author><name>Zhang3</name></author>
	</entry>
	<entry>
		<id>http://wiki.foofun.cn//index.php?title=BIOS&amp;diff=67&amp;oldid=prev</id>
		<title>Zhang3：创建页面，内容为“BIOS（基本输入/输出系统）的创建是为了向早期的PC系统程序员提供通用的低级服务。 基本目标是：对操作系统和应用程序隐藏（尽可能多地）PC型号和硬件的变化， 并且使操作系统和应用程序开发更容易（因为BIOS服务处理了大部分硬件级接口）。  这些BIOS服务仍在使用（特别是在启动期间），通常称为“BIOS功能”。 在Real Mode中，可以使用Assembl…”</title>
		<link rel="alternate" type="text/html" href="http://wiki.foofun.cn//index.php?title=BIOS&amp;diff=67&amp;oldid=prev"/>
		<updated>2021-12-22T02:28:45Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“BIOS（基本输入/输出系统）的创建是为了向早期的PC系统程序员提供通用的低级服务。 基本目标是：对操作系统和应用程序隐藏（尽可能多地）PC型号和硬件的变化， 并且使操作系统和应用程序开发更容易（因为BIOS服务处理了大部分硬件级接口）。  这些BIOS服务仍在使用（特别是在启动期间），通常称为“BIOS功能”。 在&lt;a href=&quot;/index.php?title=Real_Mode&quot; title=&quot;Real Mode&quot;&gt;Real Mode&lt;/a&gt;中，可以使用Assembl…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;BIOS（基本输入/输出系统）的创建是为了向早期的PC系统程序员提供通用的低级服务。&lt;br /&gt;
基本目标是：对操作系统和应用程序隐藏（尽可能多地）PC型号和硬件的变化，&lt;br /&gt;
并且使操作系统和应用程序开发更容易（因为BIOS服务处理了大部分硬件级接口）。&lt;br /&gt;
&lt;br /&gt;
这些BIOS服务仍在使用（特别是在启动期间），通常称为“BIOS功能”。&lt;br /&gt;
在[[Real Mode]]中，可以使用[[Assembly]]语言通过[[software interrupts]]轻松访问它们。&lt;br /&gt;
&lt;br /&gt;
==BIOS功能==&lt;br /&gt;
&lt;br /&gt;
要访问BIOS功能，通常需要将AH[[CPU寄存器x86 | CPU寄存器]]（或AX或EAX）设置为特定值，然后执行以下操作：&lt;br /&gt;
整数操作码。 AH（或AX，或EAX）中的值与所选的特定中断数相结合，请求特定的中断&lt;br /&gt;
BIOS功能。 (其他CPU寄存器保存函数的任何“参数”，通常还保存函数的返回值。)&lt;br /&gt;
&lt;br /&gt;
通过指定中断号和值来创建BIOS函数列表是最简单的&lt;br /&gt;
用于选择函数的AH（或AX或EAX）。 在讨论中以这种方式提及特定BIOS功能也是最容易的。 例如&lt;br /&gt;
INT 0x13，AH=0是重置硬盘或软盘的BIOS函数。&lt;br /&gt;
&lt;br /&gt;
注：INT和AH值始终以十六进制表示法列出。 在INT操作码中意外使用十进制值&lt;br /&gt;
是使用BIOS功能时常见的错误源。&lt;br /&gt;
&lt;br /&gt;
在某种程度上，BIOS功能是按中断号组织的：&lt;br /&gt;
* INT 0x10 = 视频显示功能（包括VESA/VBE）&lt;br /&gt;
* INT 0x13 = 大容量存储（磁盘、软盘）访问&lt;br /&gt;
* INT 0x15 = 内存大小函数&lt;br /&gt;
* INT 0x16 = 键盘功能&lt;br /&gt;
&lt;br /&gt;
有关BIOS功能的详细列表，请访问[[RBIL]]。&lt;br /&gt;
&lt;br /&gt;
不幸的是，个人电脑行业从来都不善于维护标准。 所以每个PC制造商和每个BIOS&lt;br /&gt;
制造商随机制造了新的BIOS功能。 也可以“钩住”这些中断中的任何一个，并插入额外的中断&lt;br /&gt;
模拟BIOS功能的函数。 早期的PC硬件和软件制造商经常这样做。 因此，最终的结果是&lt;br /&gt;
数千个BIOS功能（或模拟）。 RBIL列表非常庞大，并且大部分都是只包含&lt;br /&gt;
与一些完全过时的计算机、BIOS或硬件或软件结合使用时工作。&lt;br /&gt;
&lt;br /&gt;
===共同功能===&lt;br /&gt;
&lt;br /&gt;
不幸的是，RBIL并没有明确指出哪些BIOS功能是“通用的”（从某种意义上说）。 也就是说，那些总是可用的，&lt;br /&gt;
而且每个人都使用。 部分原因是“标准”BIOS功能随着时间的推移而增长，因此，如果您回溯的时间足够长，您可以&lt;br /&gt;
通常会找到一台几乎不支持任何特定BIOS功能的计算机。&lt;br /&gt;
但肯定有一套是目前大多数操作系统中常用的。&lt;br /&gt;
&lt;br /&gt;
* INT 0x10, AH = 1 -- 设置光标&lt;br /&gt;
* INT 0x10, AH = 3 -- 光标位置&lt;br /&gt;
* INT 0x10, AH = 0xE -- 显示字符&lt;br /&gt;
* INT 0x10, AH = 0xF -- 获取视频页面和模式&lt;br /&gt;
* INT 0x10, AH = 0x11 -- 设置8x8字体&lt;br /&gt;
* INT 0x10, AH = 0x12 -- 检测EGA/VGA&lt;br /&gt;
* INT 0x10, AH = 0x13 -- 显示字符串&lt;br /&gt;
* INT 0x10, AH = 0x1200 -- 交替打印屏幕&lt;br /&gt;
* INT 0x10, AH = 0x1201 -- 关闭光标模拟&lt;br /&gt;
* INT 0x10, AX = 0x4F00 -- 视频内存大小&lt;br /&gt;
* INT 0x10, AX = 0x4F01 -- 获取模式信息呼叫&lt;br /&gt;
* INT 0x10, AX = 0x4F02 -- 选择VESA视频模式&lt;br /&gt;
* INT 0x10, AX = 0x4F0A -- VESA 2.0保护模式接口&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* INT 0x11 -- 硬件检测&lt;br /&gt;
&lt;br /&gt;
(see [[ATA_in_x86_RealMode_(BIOS)|ATA using BIOS]] for more detail on these BIOS function calls)&lt;br /&gt;
* INT 0x13, AH = 0 -- reset floppy/hard disk&lt;br /&gt;
* INT 0x13, AH = 2 -- read floppy/hard disk in CHS mode&lt;br /&gt;
* INT 0x13, AH = 3 -- write floppy/hard disk in CHS mode&lt;br /&gt;
* INT 0x13, AH = 0x15 -- detect second disk&lt;br /&gt;
* INT 0x13, AH = 0x41 -- test existence of INT 13 extensions&lt;br /&gt;
* INT 0x13, AH = 0x42 -- read hard disk in LBA mode&lt;br /&gt;
* INT 0x13, AH = 0x43 -- write hard disk in LBA mode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(see [[Detecting Memory (x86)]] for more detail on these BIOS function calls)&lt;br /&gt;
* INT 0x12 -- get low memory size&lt;br /&gt;
* INT 0x15, EAX = 0xE820 -- get complete memory map&lt;br /&gt;
* INT 0x15, AX = 0xE801 -- get contiguous memory size&lt;br /&gt;
* INT 0x15, AX = 0xE881 -- get contiguous memory size&lt;br /&gt;
* INT 0x15, AH = 0x88 -- get contiguous memory size&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* INT 0x15, AH = 0xC0 -- Detect MCA bus&lt;br /&gt;
* INT 0x15, AX = 0x0530 -- Detect APM BIOS&lt;br /&gt;
* INT 0x15, AH = 0x5300 -- APM detect&lt;br /&gt;
* INT 0x15, AX = 0x5303 -- APM connect using 32 bit&lt;br /&gt;
* INT 0x15, AX = 0x5304 -- APM disconnect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* INT 0x16, AH = 0 -- read keyboard scancode (blocking)&lt;br /&gt;
* INT 0x16, AH = 1 -- read keyboard scancode (non-blocking)&lt;br /&gt;
* INT 0x16, AH = 3 -- keyboard repeat rate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ASM notes===&lt;br /&gt;
&lt;br /&gt;
每个BIOS功能（如RBIL中所述）都有一组特定的“结果”寄存器。 除了列出的登记册，&lt;br /&gt;
BIOS函数应该完全保留所有其他寄存器值。 Bochs的早期版本（低于2.3）&lt;br /&gt;
这有点小问题。 所有32位扩展寄存器（即EBX、ECX）的下半部分都被正确保留，但&lt;br /&gt;
一些寄存器的高位字被破坏了。&lt;br /&gt;
&lt;br /&gt;
BIOS功能本身永远不会崩溃。如果出现任何错误，他们将：&lt;br /&gt;
* almost always set the carry flag (test with JC),&lt;br /&gt;
* sometimes return &amp;quot;ah = 0x86 (unsupported function)&amp;quot;,&lt;br /&gt;
* sometimes return &amp;quot;ah = 0x80 (invalid command)&amp;quot;&lt;br /&gt;
* or (for seriously buggy BIOSes) return with nothing changed.&lt;br /&gt;
&lt;br /&gt;
尝试始终测试这些错误返回，因为在许多情况下，BIOS功能可能会返回有效的错误&lt;br /&gt;
(but very wrong) data -- rather than an error code.&lt;br /&gt;
&lt;br /&gt;
==BIOS in Protected Mode==&lt;br /&gt;
&lt;br /&gt;
不幸的是，在[[Protected mode]]中，几乎所有BIOS功能都不可用，尽管如此，尝试调用它们仍会导致异常或错误&lt;br /&gt;
不可靠的响应（因为“段”值的处理方式不同）。 但有些较新的服务（如SMBios、PCI、PnP或VBE）&lt;br /&gt;
提供与32位保护模式兼容的接口。&lt;br /&gt;
&lt;br /&gt;
如果在CPU切换到保护模式后必须使用实模式BIOS功能，请参阅[[Virtual 8086 Mode]]，&lt;br /&gt;
或者退出保护模式，并立即返回[[实际模式]]。 这两种方法都存在严重问题，因此，任何对BIOS的调用都应在任何物理设备通过代码编程之前完成：&lt;br /&gt;
&lt;br /&gt;
* BIOS calls may use interrupts, which means that you need to forward IRQs or map the PIC back to its original configuration.&lt;br /&gt;
* BIOS calls may access devices that you have already configured - notably the PIT and PIC&lt;br /&gt;
* BIOS calls can enter protected mode on their own to access MMIO registers, which is beyond the limits of virtual 8086 mode.&lt;br /&gt;
* In real mode, you have no way of managing interrupts and your drivers may get stuck for interrupts being lost.&lt;br /&gt;
* In real mode, you have no control over time, performance and security guarantees.&lt;br /&gt;
&lt;br /&gt;
唯一的设备是视频BIOS，它通常不与主板捆绑在一起，因此也不能依赖BIOS服务。 大多数当前的操作系统（无论是商业操作系统还是业余操作系统）都使用v8086监视器或仿真器来支持没有本地驱动程序的图形设备。因此，许多BIOS都已针对这种设置进行了测试。&lt;br /&gt;
&lt;br /&gt;
==BIOS in Long Mode==&lt;br /&gt;
&lt;br /&gt;
就像在[[保护模式]]中一样，[[长模式]]中也无法使用BIOS功能。 不幸的是，没有[[虚拟8086模式]]来救援。 必须立即切换到[[实模式]]，或模拟CPU并通过软件解释操作码。 后一种方法的所有必要信息都可以在Intel和AMD文档中找到。&lt;br /&gt;
&lt;br /&gt;
==Additional Information from the BIOS==&lt;br /&gt;
&lt;br /&gt;
从BIOS中获得的大多数有用信息将来自调用BIOS函数。 然而，有一小部分&lt;br /&gt;
可以获取的附加信息的数量。&lt;br /&gt;
&lt;br /&gt;
一些BIOS检测/状态结果存储在[[内存映射（x86）#BIOS数据区.28BDA.29 | BIOS数据区]]中。&lt;br /&gt;
&lt;br /&gt;
Additional information is kept in the [[CMOS]] chip.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
=== Articles ===&lt;br /&gt;
* [[Real Mode OS Warning]]&lt;br /&gt;
* [[DMI]]&lt;br /&gt;
&lt;br /&gt;
=== 话题 ===&lt;br /&gt;
* [[Topic:23125|ASM example code about how to call BIOS function from Long Mode (by switching into RM and back again)]]&lt;br /&gt;
&lt;br /&gt;
=== 外部链接 ===&lt;br /&gt;
* [[wikipedia:BIOS | BIOS on Wikipedia]]&lt;br /&gt;
* [http://www.ctyme.com/intr/int.htm http://www.ctyme.com/intr/int.htm]&lt;br /&gt;
* [http://classiccomputers.info/down/IBM_PS2/documents/PS2_and_PC_BIOS_Interface_Technical_Reference_Apr87.pdf 1987 IBM BIOS Technical Reference]&lt;br /&gt;
&lt;br /&gt;
[[Category:X86]]&lt;br /&gt;
[[Category:BIOS]]&lt;br /&gt;
[[Category:Firmware]]&lt;br /&gt;
[[de:Basic Input Output System]]&lt;/div&gt;</summary>
		<author><name>Zhang3</name></author>
	</entry>
</feed>