30天自制操作系统中edimg的含义
2017-04-29 22:17
246 查看
在学习30天自制操作系统时,遇到一个问题就是:
$(EDIMG) imgin:../z_tools/fdimg0at.tek \
wbinimg src:ipl.bin len:512 from:0 to:0 \
copy from:haribote.sys to:@: \
imgout:haribote.img
书上说是制作镜像文件,但是没有非常清楚的说明白。
弄清楚这个问题,首先需要将FAT12文件系统弄清楚,
FAT12文件系统分为四个部分,【引导扇区】、【FAT文件分配表1和2】、【根目录区】、【用户数据区】
当设置最大的根目录为224时,其地址分别为:
0x0000 、0x0200 、0x1400、0x2600 、0x4200
也就是是说根目录的地址是0x2600
而实际文件存放数据的地址为0x4200
当存储一个文件时,实际上修改了三个地方的数据,【FAT文件分配表1和2】、【根目录区】、【用户数据区】
他们的含义可以从目录查看:
http://blog.sina.com.cn/s/blog_3edcf6b80100crz1.html
而根据实际的二进制文件也可以证实这点.
首先查看最后
0x4200的地址的数据,
该数据就是外部文件haribote.sys文件实际经过nask.exe 转换为二进制数据后的数据
而查看地址0x2600的数据
该数据首先是haribotesys的大写,没有点,接着是一段乱码,总共32个字节,至于原因可以从上文所给的链接
中找到。
再看FAT文件分配表1,
最开头的三个字节固定,F0 FF FF
接着就是文件所在的簇了,FAT12 (512个字节是一个簇)
其文件所在的实际地址为:(33+(N-3))*512
$(EDIMG) imgin:../z_tools/fdimg0at.tek \
wbinimg src:ipl.bin len:512 from:0 to:0 \
copy from:haribote.sys to:@: \
imgout:haribote.img
书上说是制作镜像文件,但是没有非常清楚的说明白。
弄清楚这个问题,首先需要将FAT12文件系统弄清楚,
FAT12文件系统分为四个部分,【引导扇区】、【FAT文件分配表1和2】、【根目录区】、【用户数据区】
当设置最大的根目录为224时,其地址分别为:
0x0000 、0x0200 、0x1400、0x2600 、0x4200
也就是是说根目录的地址是0x2600
而实际文件存放数据的地址为0x4200
当存储一个文件时,实际上修改了三个地方的数据,【FAT文件分配表1和2】、【根目录区】、【用户数据区】
他们的含义可以从目录查看:
http://blog.sina.com.cn/s/blog_3edcf6b80100crz1.html
而根据实际的二进制文件也可以证实这点.
首先查看最后
0x4200的地址的数据,
该数据就是外部文件haribote.sys文件实际经过nask.exe 转换为二进制数据后的数据
而查看地址0x2600的数据
该数据首先是haribotesys的大写,没有点,接着是一段乱码,总共32个字节,至于原因可以从上文所给的链接
中找到。
再看FAT文件分配表1,
最开头的三个字节固定,F0 FF FF
接着就是文件所在的簇了,FAT12 (512个字节是一个簇)
其文件所在的实际地址为:(33+(N-3))*512
相关文章推荐
- 30天自制操作系统笔记 第2天
- 《30天自制操作系统》学习笔记--第14天
- 《30天自制操作系统》第1天
- <30天自制操作系统>第五天
- 30天自制操作系统(第02天)–汇编语言学习和MakeFile入门
- 《30天自制操作系统》学习笔记——汇编程序磁盘BIOS调用
- 《30天自制操作系统》13_day_学习笔记
- 《30天自制操作系统》学习笔记——第十三天
- 30天自制操作系统第一周(二)
- 30天自制操作系统——前三天
- 《30天自制操作系统》笔记(03)——使用Vmware
- 多定时器处理1(30天自制操作系统--读书笔记)
- 多定时器处理2(30天自制操作系统 -- 读书笔记)
- 为什么《30天自制操作系统》封面中的猫是两只尾巴
- 关于U盘启动操作系统《30天自制操作系统》
- 《30天自制操作系统》——从汇编到C
- 30天自制操作系统笔记(一二)
- 《30天自制操作系统》学习笔记--第3天
- 《30天自制操作系统》学习笔记——第一天
- <30天自制操作系统>第四天