我使用RW Everything将 ACPI 表转储到笔记本电脑上。但我不知道这些奇怪的缩写是什么意思。
我可以猜测_PR代表处理器,但我在哪里可以找到其他的?
我有一种感觉,这些名字都是任意的。它们只是变量。变量名可以是任何名称。重要的是他们的价值观。并在操作区域s中分配值以指示地址。
有人知道下面的代码有什么问题吗?
我无法让它按照我想要的方式工作。我只想打印变量的单个字符(字母“h”)。
为此,我只需通过方括号使用间接寻址来复制内容
[]
; Set BIOS print screen settings
mov ah, 0x0e ; Teletype
mov bh, 0 ; Page number
mov bl, 4 ; Red on black (00000100 - High 0000 is black, low 0100 is red)
mov cx, 1 ; Writes one character
; Printing to screen
mov al, [msg] ; Copy the contents of 'H' into 'al'; IT SEEMS THIS IS NOT WORKING!!!
jmp print_char ; Jump to executable code and do not let CPU step on …Run Code Online (Sandbox Code Playgroud) 我搜索了有关此的信息但没有找到任何信息。
这个想法是:
如果我用 C 或任何其他语言编写程序,我还需要做什么才能在 BIOS 中识别并作为 DOS 程序或只是提示程序启动?
我在使用 ISO 和 Rufus 启动带有 Windows 的闪存驱动器后得到了这个想法,它将一些代码放入闪存驱动器中以便 BIOS 识别并运行,所以我想对我的程序执行相同的操作,例如例子。
提前致谢!
我正在寻找检索机器的 UUID。
我想要与此等效的内容,但使用 Win32 API 代替:
wmic csproduct 获取“UUID”
我不想依赖 WMI。
我想将我的引导加载程序复制到自身内部的第一个扇区(512)(我应该使用bios中断13h),我发现这个代码:
mov bx, buffer1 ; set BX to the address (not the value) of BlahBlah
mov ah,03h ;When ah=, int13 reads a disk sector
mov al,5 ;Al is how many sectors to read
mov cl,0 ;Sector Id
mov dh,0 ;Head
mov dl,80h ;Drive (0 is floppy)
mov cx,512 ;One sector /2
mov ah, 0x3 ; set function 2h
int 0x13
Run Code Online (Sandbox Code Playgroud)
不行不通!
如何使用8086程序集从BIOS获取有关连接到PC(软盘,HDD,USB磁盘驱动器,闪存驱动器)的存储设备的信息.我正在使用VS 2008.你能指点我参考书或一些信息吗?我想检测所有工作这样的设备,并能够读取和写入它们.谢谢.
我在一些测验中有一个问题,我无法回答.谁能告诉我:
鉴于BIOS已经具有与硬件通信的代码,为什么设备驱动程序是必需的?
POST期间哪些硬件执行固件?
BIOS微控制器还是CPU?BIOS微控制器正在ROM上执行固件,该固件在CMOS上有一些配置(如RAM).但是在POST期间谁正在执行正在检查自己的固件?
POST后,BIOS必须"告诉"CPU将指令指针分配给内存中的某个地址吗?它是如何在启动时跳跃的?
我正在学习x86实模式编程,并使用QEMU编写了一个小型引导加载程序来测试它.我选择了GNU汇编程序来学习.
这是汇编代码:
#
# boot.s
#
.section .text
.globl start
start:
//setup stack
mov $0x7c0, %ax
mov %ax, %ss
mov $512, %sp
//setup video
mov $0x0, %eax
mov $0x0, %al
int $0x10
//print a character say 'm'
mov $'m', %al
mov $0x0E, %ah
int $0x10
1:
jmp 1b
Run Code Online (Sandbox Code Playgroud)
QEMU显示屏上显示以下文本:
从硬盘启动...
问题:打印上面的消息,它似乎仍然没有做任何事情.
我用来组装的脚本链接是:
> to assemble : gcc -c boot.s
> to link : ld -T link.ld boot.o -o b.bin
> to put on bootsector of Hard-disk …Run Code Online (Sandbox Code Playgroud) 有点愚蠢的问题,但是,任何人都可以向我解释寄存器cx和dx在Int 10h中有什么目的啊= 6/7(它们都使用相同的变量只是在不同的方向滚动).
到处都看,它只是说了类似的东西:
CH =上行号,CL =左列号,DH =下行号,DL =右列号
这对我来说并不是很重要,任何人都能以某种像我这样的哑巴能理解的方式解释这一点吗?