首页 新闻 会员 周边 捐助

mbr扇区写的hello 汇编换一台电脑无法显示?

0
悬赏园豆:5 [待解决问题]

我在mbr扇区写了代码 ,在虚拟机和别人的笔记本启动都可以。显示,但是在我的笔记本上无论如何也不显示hello word,这个会是什么原因?

org 07c00h ;告诉编译器程序加载到 7c00处

mov ax, cs

mov ds, ax

mov es, ax

call DispStr ; 调用显示字符串例程

jmp $ ; 无限循环

DispStr:

mov ax, BootMessage

mov bp, ax ; es : bp = 串地址

mov cx, 16 ; cx = BootMessage串长度

mov ax, 01301h ; ah = 13 , al = 01h

mov bx, 000Ch ; 页号为 0 ( bh = 0 ) 黑底红字 ( bl = 0Ch , 高亮 )

mov dl, 0

int 10h ; 10h 号中断

ret

BootMessage: db "Hello mbr word!"

times 510-($-$$) db 0 ; 填充剩下的空间,使生成的二进制代码恰好为512字节

dw 0xaa55 ;MBR 硬盘第一启动扇区标志

编译:nasm -f bin hello.s -o hello.bin

写入:dd if=./hello.bin of=/dev/disk2

无法显示笔记本主板环境:

Product Name : Lenouo G480

TOS Version : 62CN41Lu

KBC Version : 62EC39LU

Lenovo SN : xxxxxx

UUID Number : 6FD709C0-42FA-11E2-xxx-C76C5Cxxxx

CPU : Intel (R) Core(T) 15-2450M CPU C 2.50GHz

System Memory : 8192 MR

Hard disk : ST9500325AS 500 GR - (S2)

ODD : TSSTcorp CDDUDW SN-208AB ATAPT - (S5)

显示一个黑框,然后光标在闪烁,U 盘设置了legacy模式是识别到了的

2021/01/06 22:03 晚上我又在一台台式机上面进行了测试也碰到了问题,但是看到光标换行了,感觉是显示了可能没有读出来,任然未知道原因。

轮子手的主页 轮子手 | 初学一级 | 园豆:194
提问于:2022-01-06 17:26

谁能指导一下

轮子手 2年前
< >
分享
所有回答(2)
0

太硬核了

echo_lovely | 园豆:1584 (小虾三级) | 2022-01-06 17:39
0

这和不同的电脑有关吧

计算机知识杂谈 | 园豆:470 (菜鸟二级) | 2022-01-06 17:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册