bios相关内容
在VGA图形模式中,不会显示光标,但BIOS会跟踪其位置。对于每个可用的显示页面,BIOS将光标的列和行坐标(当然不是X和Y坐标)记录在光标保存区中,16字节从线性地址0450h开始。有趣的事实:BIOS还不必要地更新CRT控制器寄存器光标位置高和光标位置低。 从一开始,在图形屏幕上运行的应用程序就必须创建自己的光标,因此我完全意识到我也必须提供自己的光标。 但有一个小故障。显然,DO
..
我正在尝试从Bootloader编写引导加载程序。编写的代码是 BITS 16 start: mov ax, 07C0h ; Set up 4K stack space after this bootloader add ax, 288 ; (4096 + 512) / 16 bytes per paragraph mov ss, ax
..
我正在写内核,在写这么复杂的东西之前,我想对内核、Bootloader、寄存器、BIOS等做一些理论上的阅读不仅是有帮助的,而且是必要的。 This article说(我引用): The boot sector loader. This loads the first 512-byte sector from the boot disk into RAM and jumps to i
..
..
当我尝试就该主题提出其他问题时,我很难正确表达我的问题,那么直接在相关机器上运行的程序的正确名称是什么? 这个术语既可以描述内核,也可以描述引导加载程序,因为它们在没有操作系统的情况下直接执行? 解决方案 C 标准将其称为“独立环境",这让我觉得这个术语与我见过的大多数其他术语一样好用.p>
..
我正在使用 Bochs 2.4.5 编写引导扇区代码.我使用 INT 13H 从软盘读取扇区.但我发现如果要读取的扇区数 > 72,则 INT13 会失败.返回码是AH=1.下面是代码,这里是 INT13.返回码是 AH=1. 为什么 INT 13H 不能读取超过 72 个扇区? xorb %ah, %ahxorb %dl, %dlint $0x13 # 重置软盘movw $0x8000
..
我在研究引导加载程序时正好遇到了 UEFI 这个词.我可以理解一些关于 UEFI 的事情.但是,带有 UEFI 的系统在什么模式下(Real、Protected、Long)启动?如果正常的引导加载程序无法与 UEFI 一起工作,那么在处理 UEFI 时引导加载程序的替代方案是什么?除了汇编之外,我还需要任何其他编程来创建它吗? 解决方案 UEFI固件运行在64位平台的64位长模式和32位平
..
英特尔表示,复位后处理器处于实模式,软件初始化代码从 0xFFFFFFF0H 开始.我的问题: 如果处理器处于实模式,它如何访问内存 > 1MB (0xFFFFFFF0H) 这是如何发生的,或者当 RAM 在
..
我将引导加载程序从 CHS 更改为 LBA,因此我将 int 13h 02h 替换为 int 13h 42h.它在 QEMU 中正常工作,但是,我在使用 Bochs 和我的笔记本电脑运行它时遇到了麻烦. 我使用 dd if=main.bin of=/dev/sdb bs=512 将引导加载程序写入 USB 闪存驱动器.笔记本电脑加载英特尔 UNDI 并给我以下错误:No bootable d
..
我是 Windows Phone 8 应用程序开发的新手.我安装了 SDK 8.0.当我运行我的应用程序时,它显示一个错误,告诉我启用 Hyper-V.在搜索时,我发现了 this MSDN文档与 BIOS 中的解决方案.但是当进入我的 BIOS 设置时,就没有这样的选项可用. 有什么建议吗? 解决方案 步骤 1:在 BIOS 中启用虚拟化 您需要在 BIOS 管理菜单的 Se
..
我在编写在 QEMU 中作为引导加载程序运行的 x86 实模式汇编程序时遇到问题.我正在尝试通过 BIOS 中断 0x10 打印文本.我的代码是: 打印:普萨.环形:mov AL, [SI]cmp AL, 0je .end调用printChar股份有限公司循环.结尾:波帕退打印字符:普萨移动啊,0x0E移动 BH, 0移动 BL, 0x0F整数 0x10波帕退 我使用 [ORG 0x7c00]
..
如何将 .bin 文件写入软盘/虚拟软盘/软盘映像的第一个扇区? 我正在尝试启动一个简单的 512 字节引导加载程序.到处都显示“512 字节"的大小,所以我应该已经很好了. 附加信息: 引导加载程序只显示一个字符串,我正在学习简单汇编.一些工作在 Windows 中完成,一些在 Ubuntu 14.04(可信赖的塔尔)(如果这很重要). 即使有引导加载程序标志,它也无法启
..
BIOS 在现代操作系统中的作用是什么?开机后还能用吗?是否有某种 BIOS API? 解决方案 BIOS 仍然是在刚启动的 CPU 上运行的第一个东西,负责让主板硬件开启,设置基本的芯片组模式和寄存器,初始化一些硬件,并运行加载内核的代码. 加载内核后通常不会使用 BIOS,它依赖于 16 位执行环境,而不是现代内核在其中运行的 32 位或 64 位保护模式环境. 引导加载程
..
我正在尝试学习 x86 汇编.我正在尝试制作一个玩具操作系统.我尝试打印出输入的字符,但失败了.输入有问题吗?还是在输出中?我已将 AH 设置为 0x0E 并使用 int 0x10 但它仍然不起作用.为什么它不起作用? 注意:我对汇编很陌生,所以如果我在文本或代码中有错误,请不要说我有多笨. 字符:分贝 0移动啊,0整数 0x16移动啊,0x0emov al, [字符]整数 0x10jmp
..
我的主引导记录代码: ;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
..
使用 BIOS 中断 INT10 是个好主意吗?还是我应该考虑使用 coreboot、UFEI 或 openFirmware?这些兼容吗?我应该用什么来显示到屏幕上? 解决方案 你在这里混淆了几个完全不相关的事情. Coreboot 是 PC BIOS 的替代方案,并非适用于所有主板,必须由用户专门安装.它必须始终运行有效负载,这可能是 Linux 内核之类的东西,也可能是 SeaB
..
我正在查找我的 PC 提供的 BIOS 中断列表. 为了获得最常见的 BIOS 调用,有各种公共资源,但我希望能列出我的 PC 的所有(可能不是非常公开的)BIOS 调用. 有没有程序可以做到这一点,或者我可以用任何方式编写一个程序(最好用汇编或 C)? 我的目标是避免 BIOS 反汇编.我也知道 BIOS 的低级 API 相对相似,因此 API 调用列表也相似. 解决方案
..
我需要检查我的 CPU 中是否启用了 Intel 虚拟化技术.问题是 - 当我打开 BIOS 设置时,我什么也没看到.BIOS 版本为:W7235IMS V1.9 谢谢 解决方案 在C#中,你可以运行这个程序: ManagementClass managClass = new ManagementClass("win32_processor");ManagementObjectCo
..
这个问题的表述和UEFI的启动顺序是什么?一样,但似乎不是我想要的.我想从指令的角度了解 UEFI 序列. 例如,在 BIOS 启动模式的情况下,以简化的方式, 计算机电源已打开. 连接到主板的 BIOS 芯片内容执行 POST(开机自检)过程. BIOS 搜索 MBR(主引导记录),该 MBR(主引导记录)在预设的引导设备顺序中具有引导签名. 如果找到带有引导签名的 MBR,则
..
我正在开发一个简单的裸机操作系统,我的打印字符串功能仅适用于某些字符串(例如“Hello World")而不适用于其他字符串(例如“按 F1 寻求帮助") [ORG 0x7C00]msg db "按 F1 寻求帮助",0主要的:移动啊,00h整数 16 小时cmp AH, 0x3B帮帮忙jmp主帮助:mov si, msg电话打印jmp主;打印库,用“调用打印"调用;例子:;msg db "Fo
..