Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 简单的bootloader和bochs_Assembly_Bootloader_Att_Bochs_Yasm - Fatal编程技术网

Assembly 简单的bootloader和bochs

Assembly 简单的bootloader和bochs,assembly,bootloader,att,bochs,yasm,Assembly,Bootloader,Att,Bochs,Yasm,我有一个用AT&T语法编写的简单引导程序 [bits 16] [org 0x7c00] jmp $ times 510-($-$$) db 0 dw 0xaa55 我使用yasm-f bin-o boot.bin loader.s编译它,并运行bochs dd if=boot.bin bs=512 of=floppy.img bochs -q 但是,bochs说,没有可引导设备 因此,我有以下问题: 我如何用AT&T语法重写它(我必须使用乘以510-($-$$)db 0) 博克

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

[bits 16]
[org   0x7c00]
jmp   $
times 510-($-$$) db 0
dw    0xaa55
我使用
yasm-f bin-o boot.bin loader.s
编译它,并运行bochs

dd if=boot.bin bs=512 of=floppy.img
bochs -q
但是,
bochs
说,
没有可引导设备

因此,我有以下问题:

  • 我如何用AT&T语法重写它(我必须使用
    乘以510-($-$$)db 0)
  • 博克斯怎么了
  • 谢谢


    p.S.
    Bochs
    是使用
    x86_64
    支持编译的,但它不适用于官方arch回购协议中的
    Bochs

    如果你不知道AT&t语法,我无法想象你为什么要尝试编写AT&t语法!我想《泰晤士报》的台词应该是。。。


    Bochs可能正在寻找一个完整的1.44M软盘映像。

    我建议您坚持使用Intel语法,因为它通常比AT&T更具可读性。要了解它们之间的一些基本区别,您可以检查和

    在Ubuntu上,bochs需要
    bochs-x
    bochs sdl
    才能运行而不出错。然后,您应该能够通过以下方式从软盘映像启动:

    bochs -q 'display_library: sdl' 'boot:a' 'floppya: 1_44=floppy.img, status=inserted'
    
    另一种选择是使用
    qemu
    而不是
    bochs

    qemu -fda floppy.img
    
    Bochs可能正在寻找一个完整的1.44M软盘映像-不,您可以向Bochs提供较小的文件。
    qemu -fda floppy.img