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)。

     

  • 相关阅读:
    hsdis反汇编java源码工具的使用方法
    final添加内存屏障问题
    Spring-AOP
    Spring-IOC
    IO与NIO
    设计模式学习笔记
    Redis学习笔记
    MySQL优化
    STAR法则
    大文件分割之Linux
  • 原文地址:https://www.cnblogs.com/broadview/p/2719584.html
Copyright © 2011-2022 走看看