实验一实验目的:通过了解高级语言源程序和目标机器代码的不同表示及其相互转换,深刻理解高级语言和机器语言之间的关系,以及机器语言和不同体系结构之间的关系。实验要求:对教材1.3.5节给出的hello.c源程序进行编译、链接,最终生成可执行目标代码。实验报告:1.说明你做实验的过程(重要步骤用屏幕截图表示)。第一步:下载FlexHEX软件。第二步:编写hello.c源代码。#includestdio.hIntmain(){Printf(“Hello!\n”);Return0;}第三步:用FlexHEX打开helloworld源程序第四步:用FlexHEX打开helloworld可执行文件。第五步:比较源程序文件的内容和可执行文件的内容2.给出源程序(文本文件)的内容(用十六进制形式表示)。3.给出可执行目标文件(二进制文件)的内容(用十六进制形式表示)。4.(1)分析同一个源程序在不同机器上生成的可执行目标代码是否相同。答:不相同。因为对于不同的机器其硬件组成不同,例如:CPU。所以同一个源程在不同机器上生成的可执行目标代码是不同的。(2)你能在可执行目标文件中找出函数printf()对应的机器代码段吗?能的话,请标示来。答:不能。因为源程序中的printf函数在可执行文件中已转换为机器语言。被翻译的机器语言中有printf函数,但是不知道是从哪一段开始翻译的。(3)为什么源程序文件的内容和可执行目标文件的内容完全不同?答:因为源程序文件时可以直接编写的。而可执行文件是被机器语言翻译过后的执行内容。所以内容不同。