内核 汇编 img文件格式 FAT12格式
2014-08-03 22:27
232 查看
最近搞了下汇编。最初还是看了一本病毒的书,里面代码都是汇编的,很多看不懂,如int 21h等,于是乎就学了下汇编,收获颇大。建议想学内核的学下汇编先。
汇编有好几种,主要是格式的问题,有intel格式和AT&T格式的,各有自己的特点,很难说孰优孰劣。主要的环境有这么几种,masm、nasm、gas(gcc 的一部分)。后来看了一本write your own os 的书,照着做,写了个bootloader,boot部分也就是mbr(前512字节,即第一扇区),程序在在mbr中搜索loader.bin,在loader.bin中进入保护模式,完成分页,分段,及中断控制等工作,整个代码很简单,也很初级,下一步是实现进程。我想把前段时间工作总结下。
首先说.img文件格式,img文件为二进制格式,遵从fat12规范。要介绍文件格式,首先从存储介质说起,存储介质通常都以sector的形式分块,通常一个sector为512字节,磁盘就是一块又一块的sector构成的。为了实现文件系统,即以文件的形式对磁盘进行操作,磁盘的第一个sector为引导扇区,存储一些启动信息及代码等,接下来的扇区为FAT表,FAT表有两个,即FAT1和FAT2,FAT表里面用到一种数据结构来表示文件。由于文件的大小不同,有的文件占用1个扇区,有的文件占用多个扇区,为了表示一个文件中的扇区数,在对文件进行描述时,给出其占用的第一个区块号,在FAT表区,在扇区对应的位置填入下一区块编号,若为最后一个区块,则填入FFF(fat12),在FAT12格式中,每一个扇区对应FAT表中的12位,FAT16为16位,FAT32为32位。FAT12文件描述采用32字节,存储在根目录区中。
FAT12存在一个数据结构,叫做BPB(BIOS parameter block),其存在磁盘的第一扇区中。
(由于无法插入图片,图文版将以pdf出现)
汇编有好几种,主要是格式的问题,有intel格式和AT&T格式的,各有自己的特点,很难说孰优孰劣。主要的环境有这么几种,masm、nasm、gas(gcc 的一部分)。后来看了一本write your own os 的书,照着做,写了个bootloader,boot部分也就是mbr(前512字节,即第一扇区),程序在在mbr中搜索loader.bin,在loader.bin中进入保护模式,完成分页,分段,及中断控制等工作,整个代码很简单,也很初级,下一步是实现进程。我想把前段时间工作总结下。
首先说.img文件格式,img文件为二进制格式,遵从fat12规范。要介绍文件格式,首先从存储介质说起,存储介质通常都以sector的形式分块,通常一个sector为512字节,磁盘就是一块又一块的sector构成的。为了实现文件系统,即以文件的形式对磁盘进行操作,磁盘的第一个sector为引导扇区,存储一些启动信息及代码等,接下来的扇区为FAT表,FAT表有两个,即FAT1和FAT2,FAT表里面用到一种数据结构来表示文件。由于文件的大小不同,有的文件占用1个扇区,有的文件占用多个扇区,为了表示一个文件中的扇区数,在对文件进行描述时,给出其占用的第一个区块号,在FAT表区,在扇区对应的位置填入下一区块编号,若为最后一个区块,则填入FFF(fat12),在FAT12格式中,每一个扇区对应FAT表中的12位,FAT16为16位,FAT32为32位。FAT12文件描述采用32字节,存储在根目录区中。
FAT12存在一个数据结构,叫做BPB(BIOS parameter block),其存在磁盘的第一扇区中。
(由于无法插入图片,图文版将以pdf出现)
相关文章推荐
- Linux和ELF文件格式汇编语言教程 LiTlLe VxW著
- rrd,img和ige格式的图像文件关系简介
- Linux C++ 调试神技--如何将Linux C++ 可执行文件逆向工程到Intel格式汇编
- linux1.0内核编译为elf文件格式,导致无法运行
- ERDAS文件格式:IGE、IMG、RRD、AUX
- Linux ELF格式文件解析之relocation和entry入口点,基于gas汇编语言视角
- A80只升级内核与文件系统的方法(烧写boot.img)
- C与汇编混合编程&&ELF文件格式解析
- 如何查看Linux内核的initrd.img映像文件
- rrd,img和ige格式的图像文件关系简介
- 关于内核反汇编,同时显示源文件
- linux内核之-----内核模块文件格式
- linux2.6.30.4内核移植(5)——构建根文件系统(yaffs文件系统格式的镜像)
- objdump 反汇编文件输出格式
- Linux系统内核研究之可执行文件格式
- linux 2.6内核initrd.img文件分析
- 汇编基础:COM文件格式
- Linux ELF格式文件解析之relocation和entry入口点,基于gas汇编语言视角
- 基于UNIX的操作系统内核——目标文件格式、调试文件格式、运行时环境、安全
- Linux 2.6内核配置说明(8----Executable file formats可执行文件格式)