zoukankan      html  css  js  c++  java
  • 一起学习x86/x64知识(二)

    这里,\\.\g就是U盘的设备名,当配置文件中添加写入U盘时(目标文件为U盘设备名),我们可以插入U盘到真实机器去运行。

    接下来,需要编写自己的boot代码,下面是简短的示例片断:

    ; set BOOT_SEG environment

    mov ax, cs

    mov ds, ax

    mov ss, ax

    mov es, ax

    mov sp, BOOT_SEG                ; stack 底为 BOOT_SEG

    call clear_screen

    mov si, hello

    call print_message

    mov si, 20                  ; setup 模块在第20 号扇区里

    mov di, SETUP_SEG - 2

    call load_module                ; 使用 load_module() 读多个扇区

    mov si, SETUP_SEG

    call print_message

    mov si, word [load_message_table + eax * 2]

    call print_message

    next:

    jmp $

    在这个boot示例里,主要的工作是调用load_module()函数来加载上述的某个模块,接下来,调用print_message()打印信息。

     

    最后,每个测试实验下,都包括源代码文件,bochs配置文件,merge工具的配置文件,软盘映像文件(demo.img)以及硬盘映像文件(c.img)。

     

  • 相关阅读:
    JAVA-基础-接口
    JAVA-基础-抽象类
    JAVA-基础-多态
    JAVA-基础-继承
    JAVA-基础-封装
    JAVA-基础-面向对象
    JAVA-基础-ArrayList集合
    CenOS 6.5下 mysql自动备份
    Cenos 6.5上的subverion的yum配置笔记
    [CF628D]Magic Numbers 题解
  • 原文地址:https://www.cnblogs.com/broadview/p/2719584.html
Copyright © 2011-2022 走看看