hello.c可执行程序的生成

一、实验目的、要求:
实验目的:
通过了解高级语言源程序和目标机器代码的不同表示及其相互转换,深刻理解
高级语言和机器语言之间的关系,以及机器语言和不同体系结构之间的关系。

实验要求:
编写 hello.c 源程序,要求实现:输出字符串“ hello world ! ” 。并对
源程序进行编译、链接,最终生成可执行目标代码。
二、实验仪器设备、器件及环境:
No.1:Dev-C++
No.2:FlexHEX
No.3:notepad++
三、实验原理、方法:
在Dev-C++上编写一段hello world代码,如下:
#include<stdio.h>
int main(){
printf(“hello,world\n”);
}
然后将此代码在FlexHEX和notepad++软件下进行运行查看,得到此代码的多种进制形式如下:

四、实验内容、步骤:
1.FlexHEX:选择文本。
2.Notepad++:选中文本->插件->Converter->ASCLL到HEX。
五、实验现象、结果
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

六.分析或回答下列问题。
(1)分析同一个源程序在不同机器上生成的可执行目标代码是否相同。 提示:从多个方面,如:ISA(指令系统架构)、OS(操作系统)和编译器来分析。
不相同,因为不同机器的软件硬件组成不同,因此同一个源程序在不同机器上生成的可执行目标代码不同。
(2)你能在可执行目标文件中找出函数 printf ()对应的机器代码段吗?能的话,请标示出来。
不能。
(3)为什么源程序文件的内容和可执行目标文件的内容完全不同?
因为源程序是直接编写的,而可执行目标文件是被机器语言翻译过的。

七,实验体会
学习到高级语言源程序和目标机器代码的不同表示及其相互转换,深刻理解了高级语言和机器语言之间的关系,以及机器语言和不同体系结构之间的关系。

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值