gpt4 book ai didi

assembly - 可以在Linux上的代码中使用BIOS中断吗?

转载 作者:行者123 更新时间:2023-12-04 23:50:33 26 4
gpt4 key购买 nike

我在Linux中使用汇编语言编写了一个简单程序(使用nasm),出于教育目的,我想使用BIOS中断代替linux系统调用,这可能吗?

最佳答案

简短的答案是,不行。

更长的答案是Linux支持virtual8086模式(int vm86(unsigned long fn, struct vm86plus_struct *v86)调用),该模式能够执行实模式代码(包括BIOS功能,如果设置正确)。然而; BIOS期望许多不同的硬件处于特定/默认状态,Linux(像所有好的OS一样)控制硬件并将其置于BIOS可能无法期望的各种状态。因此,可能可以调用BIOS函数,但是您可以期望它们崩溃,导致未知行为和/或破坏Linux native 设备驱动程序的正常运行。

还要注意,BIOS功能无论如何都“次于” Linux的 native 设备驱动程序(换句话说,如果它确实起作用,那么您仍然不应该这样做)。现在许多系统都使用UEFI(在这种情况下根本不存在BIOS功能)。

关于assembly - 可以在Linux上的代码中使用BIOS中断吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23338332/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com