bios相关内容

如何将闪烁的光标添加到图形视频模式?

在VGA图形模式中,不会显示光标,但BIOS会跟踪其位置。对于每个可用的显示页面,BIOS将光标的列和行坐标(当然不是X和Y坐标)记录在光标保存区中,16字节从线性地址0450h开始。有趣的事实:BIOS还不必要地更新CRT控制器寄存器光标位置高和光标位置低。 从一开始,在图形屏幕上运行的应用程序就必须创建自己的光标,因此我完全意识到我也必须提供自己的光标。 但有一个小故障。显然,DO ..
发布时间:2022-07-22 14:53:33 其他开发

没有操作系统直接运行的程序的名称是什么?

当我尝试就该主题提出其他问题时,我很难正确表达我的问题,那么直接在相关机器上运行的程序的正确名称是什么? 这个术语既可以描述内核,也可以描述引导加载程序,因为它们在没有操作系统的情况下直接执行? 解决方案 C 标准将其称为“独立环境",这让我觉得这个术语与我见过的大多数其他术语一样好用.p> ..
发布时间:2022-01-11 23:33:19 其他开发

UEFI 是如何工作的?

我在研究引导加载程序时正好遇到了 UEFI 这个词.我可以理解一些关于 UEFI 的事情.但是,带有 UEFI 的系统在什么模式下(Real、Protected、Long)启动?如果正常的引导加载程序无法与 UEFI 一起工作,那么在处理 UEFI 时引导加载程序的替代方案是什么?除了汇编之外,我还需要任何其他编程来创建它吗? 解决方案 UEFI固件运行在64位平台的64位长模式和32位平 ..
发布时间:2022-01-11 23:25:12 其他开发

int 13h 42h 在 Bochs 中不加载任何东西

我将引导加载程序从 CHS 更改为 LBA,因此我将 int 13h 02h 替换为 int 13h 42h.它在 QEMU 中正常工作,但是,我在使用 Bochs 和我的笔记本电脑运行它时遇到了麻烦. 我使用 dd if=main.bin of=/dev/sdb bs=512 将引导加载程序写入 USB 闪存驱动器.笔记本电脑加载英特尔 UNDI 并给我以下错误:No bootable d ..
发布时间:2022-01-06 12:48:37 其他开发

在我的 BIOS 设置中没有启用 Hyper-V 的选项

我是 Windows Phone 8 应用程序开发的新手.我安装了 SDK 8.0.当我运行我的应用程序时,它显示一个错误,告诉我启用 Hyper-V.在搜索时,我发现了 this MSDN文档与 BIOS 中的解决方案.但是当进入我的 BIOS 设置时,就没有这样的选项可用. 有什么建议吗? 解决方案 步骤 1:在 BIOS 中启用虚拟化 您需要在 BIOS 管理菜单的 Se ..
发布时间:2021-12-30 12:24:46 C#/.NET

BIOS int 10h 在 QEMU 上打印垃圾

我在编写在 QEMU 中作为引导加载程序运行的 x86 实模式汇编程序时遇到问题.我正在尝试通过 BIOS 中断 0x10 打印文本.我的代码是: 打印:普萨.环形:mov AL, [SI]cmp AL, 0je .end调用printChar股份有限公司循环.结尾:波帕退打印字符:普萨移动啊,0x0E移动 BH, 0移动 BL, 0x0F整数 0x10波帕退 我使用 [ORG 0x7c00] ..
发布时间:2021-12-18 09:34:24 其他开发

如何将 bin 文件(512 字节)写入软盘的第一个扇区(扇区 0)?

如何将 .bin 文件写入软盘/虚拟软盘/软盘映像的第一个扇区? 我正在尝试启动一个简单的 512 字节引导加载程序.到处都显示“512 字节"的大小,所以我应该已经很好了. 附加信息: 引导加载程序只显示一个字符串,我正在学习简单汇编.一些工作在 Windows 中完成,一些在 Ubuntu 14.04(可信赖的塔尔)(如果这很重要). 即使有引导加载程序标志,它也无法启 ..
发布时间:2021-12-18 09:21:10 其他开发

现代操作系统如何使用 BIOS?

BIOS 在现代操作系统中的作用是什么?开机后还能用吗?是否有某种 BIOS API? 解决方案 BIOS 仍然是在刚启动的 CPU 上运行的第一个东西,负责让主板硬件开启,设置基本的芯片组模式和寄存器,初始化一些硬件,并运行加载内核的代码. 加载内核后通常不会使用 BIOS,它依赖于 16 位执行环境,而不是现代内核在其中运行的 32 位或 64 位保护模式环境. 引导加载程 ..
发布时间:2021-11-15 01:56:22 其他开发

我无法打印出汇编中的字符

我正在尝试学习 x86 汇编.我正在尝试制作一个玩具操作系统.我尝试打印出输入的字符,但失败了.输入有问题吗?还是在输出中?我已将 AH 设置为 0x0E 并使用 int 0x10 但它仍然不起作用.为什么它不起作用? 注意:我对汇编很陌生,所以如果我在文本或代码中有错误,请不要说我有多笨. 字符:分贝 0移动啊,0整数 0x16移动啊,0x0emov al, [字符]整数 0x10jmp ..
发布时间:2021-09-29 19:43:34 其他开发

加载引导加载程序的第二阶段和/或将控制权转移给它时出现问题

我的主引导记录代码: ;bit16;默认 16 位组织 0x7c00jmp 短启动没有bsOEM db "OS423 v.0.1" ;原始设备制造商字符串开始:;;CLSmov ah,06h ;函数06h(滚动屏幕)mov al,0 ;滚动所有行mov bh,0x0f ;属性(蓝底浅绿)mov ch,0 ;左上一行为零mov cl,0 ;左上列为零mov dh,24 ;左下一行是24mov dl ..
发布时间:2021-09-29 19:43:17 服务器开发

x86 上裸机程序的 BIOS

使用 BIOS 中断 INT10 是个好主意吗?还是我应该考虑使用 coreboot、UFEI 或 openFirmware?这些兼容吗?我应该用什么来显示到屏幕上? 解决方案 你在这里混淆了几个完全不相关的事情. Coreboot 是 PC BIOS 的替代方案,并非适用于所有主板,必须由用户专门安装.它必须始终运行有效负载,这可能是 Linux 内核之类的东西,也可能是 SeaB ..
发布时间:2021-09-29 19:38:25 其他开发

有没有办法以编程方式获取当前系统上存在的所有 BIOS 中断列表?

我正在查找我的 PC 提供的 BIOS 中断列表. 为了获得最常见的 BIOS 调用,有各种公共资源,但我希望能列出我的 PC 的所有(可能不是非常公开的)BIOS 调用. 有没有程序可以做到这一点,或者我可以用任何方式编写一个程序(最好用汇编或 C)? 我的目标是避免 BIOS 反汇编.我也知道 BIOS 的低级 API 相对相似,因此 API 调用列表也相似. 解决方案 ..
发布时间:2021-09-29 19:34:24 其他开发

如何启用英特尔虚拟化技术?

我需要检查我的 CPU 中是否启用了 Intel 虚拟化技术.问题是 - 当我打开 BIOS 设置时,我什么也没看到.BIOS 版本为:W7235IMS V1.9 谢谢 解决方案 在C#中,你可以运行这个程序: ManagementClass managClass = new ManagementClass("win32_processor");ManagementObjectCo ..
发布时间:2021-09-18 18:49:20 其他开发

UEFI 启动模式启动流程如何​​?

这个问题的表述和UEFI的启动顺序是什么?一样,但似乎不是我想要的.我想从指令的角度了解 UEFI 序列. 例如,在 BIOS 启动模式的情况下,以简化的方式, 计算机电源已打开. 连接到主板的 BIOS 芯片内容执行 POST(开机自检)过程. BIOS 搜索 MBR(主引导记录),该 MBR(主引导记录)在预设的引导设备顺序中具有引导签名. 如果找到带有引导签名的 MBR,则 ..
发布时间:2021-07-19 18:44:11 其他开发

我的汇编函数打印一些字符串,但不打印其他字符串

我正在开发一个简单的裸机操作系统,我的打印字符串功能仅适用于某些字符串(例如“Hello World")而不适用于其他字符串(例如“按 F1 寻求帮助") [ORG 0x7C00]msg db "按 F1 寻求帮助",0主要的:移动啊,00h整数 16 小时cmp AH, 0x3B帮帮忙jmp主帮助:mov si, msg电话打印jmp主;打印库,用“调用打印"调用;例子:;msg db "Fo ..
发布时间:2021-06-21 19:10:46 其他开发