本章的实验的主要任务是安装NASM这个软件,在安装的时候有一个重要的一点就是软件版本要严格按照书中的要求,虽然作者说过可以下载更新的版本,但是实践表明会出现各种莫名的错误,书中的所有软件都可以在网上很容易找到☺!
下面研究一个问题:一个.bin文件的大小
1,test.asm源文件如下,
数一下共12 Bytes。
2,鼠标右键test.asm源文件,用系统软件看这个源文件多大,
咦,这里是怎么回事?test.asm右侧显示的是大小1kb,下面显示大小12字节,占用空间4KB,这些都是什么意思?解释如下,
a)这是由于文件系统是采用簇作为文件存储的基本单位,每一个簇只能被1个文件占用;
b)簇的大小是硬盘分区在高级格式化时决定的,例如目前固态硬盘要求采用4k的簇大小;
c)文件右侧指示的也是写入的字节是多少,只是它的最小单位是kb,不到1kb的就按1kb算了。所以右键属性中的大小,指的是写入字节的个数。
3,nasm编译上面的asm文件后生成的.bin文件是多大?如下图
大小为什么是3个字节?用十六进制方式打开bin文件如下图,
看了就明白了,原理源文件被编译成了B8 12 00,那这三个也不是占有三个字节啊,而至少是6个字节,可是在bin文件中,它们是以十六进制数值的方式存储的,中间的空格左边的行号,都不是的,这里可以理解为bin把B8 12 00三个字节封装在三个字节就行了,其它的都是bin的格式。