2014-03-30 93 views
0

我想編寫一個小引導程序,我使用命令「as boot.s」來編譯它。我想我應該有一個512B的文件,但我得到一個1448B的文件,這個文件太大而不能成爲引導程序。 我的代碼有什麼問題?謝謝。如何將彙編文件編譯爲512b文件?

.code16 
.global _start 
_start: 
    movw $0x7c00, %ax 
    movw %ax, %ds 
    movw %ax, %es 
    call Dispstr 
    call loop 
Dispstr: 
    movw BootMessage, %ax 
    movw %ax, %bp 
    movw $0x1301, %ax 
    movw $0x000c, %bx 
    movb $0, dl 
    int $0x10 
    ret 
loop: 
    jmp loop 
BootMessage: 
    .asciz "Hellow World" 
.org 510, 0 
.word 0xaa55 

回答

0

我已經解決它自己。 LD --oformat binary -o boot boot.o 截斷ELF文件標頭