美文网首页Linux学习之路我用 Linux
Linux内核完全剖析---第3章---as86汇编器---ba

Linux内核完全剖析---第3章---as86汇编器---ba

作者: code猪 | 来源:发表于2018-05-04 17:47 被阅读26次

    一、手敲boot.s源码

    .globl begtext,begdata,begbss,endtext,enddata,endbss
    .text
    begtext:
    .data
    begdata:
    .bss
    begbss:
    .text
    BOOTSEG = 0x07c0
    
    entry start
    start:
            jmpi go,BOOTSEG
    go:     mov ax,cs
            mov ds,ax
            mov es,ax
            mov [msg1+17],ah
            mov cx,#20
            mov dx,#0x1004
            mov bx,#0x000c
            mov bp,#msg1
            mov ax,#0x1301
            int 0x10
    loop0: jmp loop0
    msg1:   .ascii "Loading system ..."
            .byte 13,10
    .org 510
            .word 0xAA55
    .text
    endtext:
    .data
    enddata:
    .bss
    endbss:
    
    

    二、使用bin86中的as86和ld86进行编译链接

    $: sudo apt install bin86
    $: as86 -0 -a -o boot.o boot.s
    $: ld86 -0 -s -o boot boot.o
    

    三、使用bochs中的bximage生成1.44M软盘

    四、将生成的boot写入到虚拟软盘

    $: dd bs=32 if=boot of=boot.img skip=1
    

    五、使用bochs运行boot


    相关文章

      网友评论

      本文标题:Linux内核完全剖析---第3章---as86汇编器---ba

      本文链接:https://www.haomeiwen.com/subject/ivfjrftx.html