标签: bios

如何编程Bios以在特定日期和时间自动启动计算机

我想将BIOS设置为在特定日期和时间启动计算机.我可以直接在BIOS中完成,但我想在一个程序(用Delphi制作)中完成.

我知道我可以通过计划任务执行此操作,但我特别希望避免使用它们.

我看到其他程序能够做到这一点,所以它是可行的.

有谁知道如何实现这个......?

提前感谢您的回复.

delphi bios

2
推荐指数
1
解决办法
1709
查看次数

引导加载程序如何读取 DVD(cd)?

我有一个用汇编编写的第一阶段引导加载程序。我需要它从 dvd(或 cd)加载第二阶段引导加载程序。我只找到了从 floopy 或 hdd 读取的示例。那里使用的中断是 13h。在中断描述中,它说它可以读取软盘和硬盘。我曾尝试使用 13h 来读取 CD,就好像它是软盘一样,但它不起作用。

问题:软盘和 DVD 之间有区别吗(在访问它们的意义上),我可以使用 CHS(磁头,磁头,扇区)吗,它的扇区大小是多少,我可以使用 13h 指令正确读取 DVD。也许一些例子。我查看了 LILO 的源代码,发现那里只有 13h,所以它必须工作。谢谢。

assembly dvd bios bootloader

2
推荐指数
1
解决办法
1675
查看次数

x86 上裸机程序的 BIOS

使用 BIOS 中断是个好主意INT10吗?还是我应该考虑使用 coreboot、UFEI 或 openFirmware?这些兼容吗?我应该用什么来显示到屏幕上?

x86 bios bare-metal

2
推荐指数
1
解决办法
988
查看次数

通过 C++ 使用 BIOS 函数

我正在搜索有关通过 C++ 管理 BIOS 设置的信息。我不熟悉低级编程。我试图进行一项研究,但我对低级编程术语的缺乏知识终止了我的进步。

我需要在屏幕上绘制像素,更改为文本模式或视频模式等。可以用C++程序来实现吗?

有人可以给我一些可以指导我完成整个过程的信息吗?

c++ bios

2
推荐指数
1
解决办法
3878
查看次数

BIOS阅读部门

我已经考虑过为了学习而制作一个小操作系统,现在我正在使用bootloader.我希望能够用来int 0x13从软盘驱动器读取扇区,将它们放入内存,然后跳转到该代码.这是我到目前为止:

org 0x7c00
bits 16

main:
    call setup_segments

    mov ah, 2      ; function
    mov al, 1      ; num of sectors
    mov ch, 1      ; cylinder
    mov cl, 2      ; sector
    mov dh, 0      ; head
    mov dl, 0      ; drive
    mov bx, 0x1000 ;
    mov es, bx     ; dest (segment)
    mov bx, 0      ; dest (offset)
    int 0x13       ; BIOS Drive Interrupt

    jmp 0x1000:0   ; jump to loaded code

times 510 - ($-$$) db 0 ; fluff …
Run Code Online (Sandbox Code Playgroud)

boot x86 assembly bios nasm

2
推荐指数
1
解决办法
712
查看次数

BIOS int 10h在QEMU上打印垃圾

编写在QEMU中作为引导加载程序运行的x86实模式汇编程序时遇到问题.我正在尝试通过BIOS中断0x10打印文本.我的代码是:

print:
    pusha
.loop:
    mov AL, [SI]
    cmp AL, 0
    je .end
    call printChar
    inc SI
    jmp .loop
.end:
    popa
    ret

printChar:
    pusha
    mov AH, 0x0E
    mov BH, 0
    mov BL, 0x0F
    int 0x10
    popa
    ret
Run Code Online (Sandbox Code Playgroud)

[ORG 0x7c00]用作原点.我测试了printChar标签,并在AL中用一些字母调用它,它工作正常.当我尝试将内存地址加载到这样的消息时:

loadMsg      db "Loading",0
mov SI, loadMessage
call print
Run Code Online (Sandbox Code Playgroud)

我在QEMU仿真器上输出像'U'这样的垃圾作为输出.昨天,我编写了一个与此类似的代码,完全没有问题.是什么导致了我的问题以及如何解决?

assembly bios nasm bootloader x86-16

2
推荐指数
1
解决办法
662
查看次数

NASM 引导加载程序中的 jmp $

我试图从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
    mov sp, 4096

    mov ax, 07C0h       ; Set data segment to where we're loaded
    mov ds, ax


    mov si, text_string ; Put string position into SI
    call print_string   ; Call our string-printing routine

    jmp $           ; Jump here - infinite loop!


    text_string db 'This is my cool …
Run Code Online (Sandbox Code Playgroud)

assembly bios nasm bootloader x86-16

2
推荐指数
1
解决办法
3619
查看次数

difference of 'INT' instruction between Linux and Windows

I write some code to make my own operating system and study x86 assembly language, too. While studying x86 assembly language, I start wondering about interrupt. Look at below assembly code:

mov ah, 2
mov dl, 'A'
int 0x21
Run Code Online (Sandbox Code Playgroud)

This code prints 'A' to the screen. it is for MS-DOS.

mov eax, 1
mov ebx, 0
int 0x80
Run Code Online (Sandbox Code Playgroud)

This code makes program to exit. it is for Linux. The last one:

mov ah, 2
mov al, 1
mov ch, 0 …
Run Code Online (Sandbox Code Playgroud)

assembly operating-system bios

2
推荐指数
1
解决办法
586
查看次数

BIOS 连续两次从不同的端口读取到同一个寄存器

我是组装新手。在试图弄清楚 BIOS 做什么时,我使用gdb来跟踪它。然而,我发现了一些对我来说很奇怪的事情。
代码段是这样的:

[f000:d129]    0xfd129: mov    eax,0x8f
[f000:d12f]    0xfd12f: out    0x70,al
[f000:d131]    0xfd131: in     al,0x71
[f000:d133]    0xfd133: in     al,0x92
[f000:d135]    0xfd135: or     al,0x2
[f000:d137]    0xfd137: out    0x92,al
Run Code Online (Sandbox Code Playgroud)

我想知道为什么 BIOS 会连续从端口 0x71 和 0x92 读取。第二条指令会覆盖从端口 0x71 读取的值吗?那么为什么它从端口 0x71 读取呢?

谢谢!

assembly operating-system bios

2
推荐指数
1
解决办法
589
查看次数

从哪里获得英特尔 bios 源代码?

我想学习英特尔 BIOS。那么我在哪里可以获得开源代码和一些开发指南?从链接http://www.crn.com/news/applications-os/21401337/intel-bios-code-goes-open-source.htm,我知道英特尔已经开放了 BIOS 源,但我不知道如何获得。

x86 intel bios

2
推荐指数
1
解决办法
5878
查看次数

标签 统计

bios ×10

assembly ×6

bootloader ×3

nasm ×3

x86 ×3

operating-system ×2

x86-16 ×2

bare-metal ×1

boot ×1

c++ ×1

delphi ×1

dvd ×1

intel ×1