boot and loader

boot and loader

boot 程序的所有作用

  • 清屏
  • 将光标移到屏幕左上角
  • 显示 Start Boot 提示信息
  • 加载 loader 程序的代码到 0x10000 物理内存地址
  • 将CPU的段地址设置为 0x1000, 偏移量为 0x0000

boot 程序(内置 FAT12 文件系统的引导扇区的信息)的编写

  • 注意boot不能实现FAT12文件系统, 因为boot的要求是512B, 但是使用FAT12文件系统的前提是有引导扇区的信息, 所以在boot定义好, 到时都我们要将我们的软盘格式化成FAT12文件系统
  • 第一行 org 0x7c00, 告诉CPU指令CS和IP的值
  • 初始化DS, ES, SS, SP, 其中SP为0x7c00
  • 填写 FAT12 的引导数据
  • 注意:
    • 写完一部分如果要测试的话需要加上jmp $让程序一直运行才行否则不会有任何的显示
    • 在汇编中有函数和标签两个概念, 我们一般这样规定, 函数使用call指令调用, 在该函数中我们要开辟一个新的栈, 如果要为cx等寄存器赋值的话, 需要将他们的值保存起来, 放到栈中, 在函数结束之前回复cx等寄存器中的值; 而标签使用jmp, jz等指令执行, 他们不需要必须保存cx等值, 而是视需求而定, 一般来说函数为模块, 而标签为流程
    • 每一个Label结束之后都应该添加一个跳转jmp指令, 使得程序执行的流程清晰

原文地址:https://www.cnblogs.com/megachen/p/9726845.html

时间: 2024-10-28 20:42:17

boot and loader的相关文章

Class not found using the boot class loader; no stack trace available

p.p1 { margin: 0.0px 0.0px 15.0px 0.0px; line-height: 17.0px; font: 15.0px "PingFang SC"; color: #242729 } p.p2 { margin: 0.0px 0.0px 15.0px 0.0px; line-height: 17.0px; font: 13.0px Menlo; color: #242729 } p.p3 { margin: 0.0px 0.0px 15.0px 0.0px

Android -- java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available

使用Bundle 的getParcelableArray 出现了以下错误: Class not found when unmarshallingjava.lang.ClassNotFoundExceptionjava.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available 这个可能就需要设置下ClassLoader, 比如: Bundle bundleGet

Spring Boot 项目构建 之 使用 Spring Boot 构建应用(Building an Application with Spring Boot)

Table of contents What you'll build What you'll need How to complete this guide Build with Gradle Build with Maven Build with Spring Tool Suite Learn what you can do with Spring Boot Create a simple web application Create an Application class Run the

搭建Pxe服务器无人听应答全自动安装SLES11 SP3系统

前面我已经介绍了基于CentOS6.7的平台搭建的pxe服务器,今天我们利用此pxe服务器继续安装部署SLES11 SP3系统的客户机.参考http://1130739.blog.51cto.com/1120739/1740925 部署过程: vi编辑pxe引导菜单文件/var/lib/tftpboot/msgs/boot.msg,添加SLES11 SP3选项. vi编辑/var/lib/tftpboot/pxelinux.cfg/default文件,添加安装sles11sp3系统的引导内核.加

libvirt笔记(未完待续)

参考源地址:http://libvirt.org/formatdomain.html http://blog.csdn.net/qq250941970/article/details/6022094 libvirt是管理KVM的工具,通过libvirt可以管理配置虚拟机.而虚拟机的配置主要都是通过libvirt的xml文件来实现的,因此xml是十分重要的. Domain XML format 从官网文档中,我们可以发现xml文件具有一定的格式. 1.Element and attribute o

AccessibilityService ClassNotFoundExcepiton

今天在学习AccessiblityService,简单的几部操作,但是当辅助功能里开启服务时一直报ClassNotFoundException,异常如下(写这篇blog时,错误信息已经没了,从网上直接找粘贴的一个,错误信息跟我的一样): FATAL EXCEPTION: main Process: com.edr.iveflownthat, PID: 1457 java.lang.NoClassDefFoundError: Failed resolution of: Lcom/edr/ivefl

Linux 磁盘结构

磁盘结构 扇区,磁道,柱面和磁头数 硬盘最基本的组成部分是由坚硬金属材料制成的涂以磁性介质的盘片,不同容量硬盘的盘片数不等.每个盘片有两面,都可记录信息.每个磁道被分成许多扇形的区域,每个区域叫一个扇区,每个扇区可存储128×2的N次方(N=0.1.2.3)字节信息.在DOS中每扇区是128×2的2次方=512字节,盘片表面上以盘片中心为圆心,不同半径的同心圆称为磁道.硬盘中,不同盘片相同半径的磁道所组成的圆柱称为柱面.磁道与柱面都是表示不同半径的圆,在许多场合,磁道和柱面可以互换使用,我们知道

2、SRX笔记及基础配置

远程基本配置 [email protected]# show | display set set version 12.1X44.4 set system host-name SRX1 set system time-zone Asia/Shanghai set system root-authentication encrypted-password "$1$0m2EDDUB$hW0MnI7hQFLfmFmROx02B1" set system name-server 114.114

汉澳Sinox2014X64server高级桌面服务器版操作系统发布

汉澳Sinox2014X64server高级桌面服务器版操作系统发布 当你在现代城市夜空中看到一道闪电,屏幕中央闪过几个图形,转眼间变成美轮美奂的紫色空中天国,说明你来到了汉澳sinox2014世界! 在汉澳sinox2013基础上开发的64位汉澳sinox将更加先进,充分利用计算机的硬件资源,更多的软件,还支持硬件厂家驱动程序下载安装. 汉澳Sinox2014X64server高级64位桌面服务器版操作系统发布 下载地址 ftp://ftp.sinox.org/sinox2014x64serv