计算机组成实验报告汇总.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

计算机组成与体系结构

实验报告

班级:物联网工程1311

姓名:沈扬凯

学号:2013198145

老师:项东升

实验项目一

一、实验目的

通过了解高级语言源程序和目标机器代码的不同表示及其相互

转换,深刻理解高级语言和机器语言之间的关系,以及机器语言和

不同体系结构之间的关系。

二、实验要求:

在VC6.0中创建下列源程序

#includestdio.h

voidmain()

{

inti=100;

intj=-1;

intk;

k=i+j;

printf(%d,k);

}

然后对该程序进行编译、链接,最终生成可执行目标代码。

三、实验报告

1.给出做实验的过程.

关键代码如下:

2.给出源程序(文本文件)的内容(用十六进制形式表示)。

3.给出可执行目标文件(二进制文件)的内容(用十六进制形

式表示)。

4.VC6.0调试环境:设置断点、单步运行、变量的值(十进制、

十六进制、变量的地址、变量的存储。

断点设置如下:

变量的值十进制:

变量的值十六进制:

变量的地址:

5.VC6.0反汇编:查看源程序对应的汇编程序、可执行目标程序

的二进制编码、了解如何给变量分配内存、系统函数程序段的调用。

6.分析或回答下列问题。

(1)分析同一个源程序在不同机器上生成的可执行目标代码是

否相同。

不相同。因为不同的机器硬件的组成不同,因此同一个源程序在

不同的机器上生成的目标文件不同。

(2)你能在可执行目标文件中找出函数printf()对应的机器

代码段吗?能的话,请标示出来。

不能。因为源程序中的printf函数在可执行文件中已转换为机

器语言。被翻译的机器语言中有printf函数,但是不知道是从哪一

段开始翻译的。

(3)为什么源程序文件的内容和可执行目标文件的内容完全不

同?

源程序文件可以直接编写。可执行文件是被言翻译过后的。

四、实验总结和体会:

本次实验让我明白了通过vc6.0这个软件编写出来的高级语言

源程序与目标机器代码的不同表示及其相互转换,深刻理解了内存的

分配与机器码的相关知识,以及机器语言和不同体系结构之间的关

系,使得课本上的知识与实验上的知识相结合。

实验项目二

一、实验目的:

1.通过无符号数和带符号整数之间的相互转换来理解无符号数

和补码整数的表示。

2.了解字符、汉字的机器表示。

3.了解IEE754浮点数在机器中的应用,特别是一些特殊值的处

理。

二、实验要求:

1.编写程序分析C语言中不同类型数据在计算机内部的表示。

2.验证教材表2.2中的关系表达式的结果,并编程得出第二章习

题8的表中结果。

3.通过编程得出float和double类型的精度(即十进制有效位

的位数):检查“-8.0/0”、“sqrt(-4.0)”的运算结果,并将“-8.0/0”

和“-8/0”的运行结果进行比较。

三、实验报告:

1.分析下列源程序中的变量在机器内是如何表示的,并给出程序

的执行结果,要求给出分析过程。

#includestdio.h

voidmain(){

unsignedshorti=65535;

intj=-2147483648;

intk=65536;

charc1=\n,c2=x;

floatx=100.25671;

doubley=567.89;

char*str=01as计算机\n01as\\;

printf(%u\n,j);

printf(%f\n,x

文档评论(0)

192****9231 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档