首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >简单引导程序和bochs

简单引导程序和bochs
EN

Stack Overflow用户
提问于 2013-08-09 04:52:31
回答 2查看 1.3K关注 0票数 1

我有一个用AT&T语法编写的简单引导加载程序。

代码语言:javascript
复制
[bits 16]
[org   0x7c00]
jmp   $
times 510-($-$$) db 0
dw    0xaa55

我使用yasm -f bin -o boot.bin loader.s编译它,使用bochs运行它。

代码语言:javascript
复制
dd if=boot.bin bs=512 of=floppy.img
bochs -q

但是bochs说有no bootable device

因此,我有以下问题:

  1. 如何用AT&T语法重写它(必须使用times 510-($-$$) db 0)构造)
  2. bochs怎么了?

谢谢!

P.S. Bochs是在x86_64支持下编译的,但它不适用于官方arch回购中的bochs

EN

回答 2

Stack Overflow用户

发布于 2015-05-22 12:17:30

我建议您坚持使用Intel语法,因为它通常比AT&T更具可读性,对于它们之间的一些基本差异,您可以检查

在Ubuntu上,bochs需要bochs-xbochs-sdl才能无错误地运行。然后,您应该能够从软盘映像启动:

代码语言:javascript
复制
bochs -q 'display_library: sdl' 'boot:a' 'floppya: 1_44=floppy.img, status=inserted'

另一种选择是使用qemu而不是bochs

代码语言:javascript
复制
qemu -fda floppy.img
票数 2
EN

Stack Overflow用户

发布于 2013-08-09 10:22:50

如果你不懂AT&T语法,我想不出你为什么要写AT&T语法!我觉得“时代”这句话应该是..。

代码语言:javascript
复制
.org 0x7DFE
.word 0xAA55

Bochs可能正在寻找一张完整的1.44万张软盘图像。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18140198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档