日期:2014-05-16  浏览次数:20607 次

这点代码编译后怎么会这么大
Assembly code


.code16
.globl     _start
_start:
    mov     $BootMessage, %ax
    mov    %ax, %bp
    mov    $16, %cx
    mov    $0x1301, %ax
    mov    $0x0c, %bx
    mov    $0, %dl
    int    $0x10
    ret
tBootMessage:    .ascii "Hello"
fill:
    .rept    510 + _start -fill
    .byte 0
    .endr
    .word 0xaa55



as bootsect.s -o boot.bin

编译之后boot.bin 有1108B



------解决方案--------------------
.rept 510 + _start -fill

这句话占得比较多,好像在_start和fill之间空了510字节出来。

汇编忘差不多了,但是感觉这句好像是空了不少