PAGE PAGE 1《计算机系统基础1》实验指导书Introduction to Computer Systems实验1 数的机器级表示实验序号:1 实验名称:数的机器级表示适用专业:软件工程 学 时 数:2学时一、实验目的熟练掌握无符号整数的机器级表示熟练掌握有符号整数的机器级表示熟练掌握浮点数的机器级表示二、实验要求按照实验题目的要求,编写程序并上机调试三、实验设备、环境计算机、Windows xp 、Visual C++ 6.0四、实验步骤及内容用C语言编写程序模拟32位机器数到真值的转换,在main中定义char binary[33];编写无符号数的转换:unsigned int unsignedToValue;要求在main中从屏幕读入32个二进制数即0或者是1,调用unsignedToValue函数返回此二进制数代表的无符号数的真值。编写有符号数的转换:int intToValue;要求在main中从屏幕读入32个二进制数即0或者是1,调用intToValue函数返回此二进制数代表的有符号数的真值。编写单精度浮点数的转换:float floatToValue;要求在main中从屏幕读入32个二进制数即0或者是1,调用intToValue函数返回此二进制数代表的浮点数的真值,要求能够输出非规格化数:无穷大,0,非数。在测试时,连续输入32个0、1,不要在中间加入空格或者换行符可以尝试将字符型的0和1转换成整型的0和1,方便判断和计算注意有符号整数为正数的时候计算方式同无符号整数,因此可以通过调用无符号整数函数来简化代码注意到计算阶实际上就是计算无符号整数计算浮点数的时候应该先判定是否为非规格化数,如果判定成功就可以直接输出结果。五、讨论、思考题1、IEEE754标准的浮点数好处在哪里?制订人: 朱皖宁 审订人: 《计算机系统基础1》实验指导书Introduction to Computer Systems实验2 定点数加减法的机器级表示实验序号:2 实验名称:定点数加减法的机器级表示适用专业:软件工程 学 时 数:2学时一、实验目的掌握定点数加法的机器级表示。掌握定点数减法的机器级表示。掌握EFLAGS中4个牵涉到计算的标志位的计算方法。掌握计算溢出的判定方法。二、实验要求按照实验题目的要求,编写程序并上机调试三、实验设备、环境计算机、Windows xp 、Visual C++ 6.0四、实验步骤及内容用C语言编写二进制数运算模拟程序编写整数加减法器:设在main中有如下数组:char int1[5];char int2[5];int addsub;当flag为0时表示加法运算,当flag为1时表示减法运算,做4位的加减法运算,返回4位结果。m和n分别是int1和int2的大小。在函数中必须要计算OF,CF,SF,ZF,并输出4个值,根据值输出是否产生了溢出,是哪一种溢出。要注意到减法运算本质仍然是做加法,只不过要将减数取补码而已。注意OF和CF并不只是判定最高位是否有进位注意判定是否溢出必须要知道数是有符号还是无符号才行,加法器本身没有能力判定这一点。五、讨论、思考题1、为什么要用补码来表示整数?2、机器底层是如何判定溢出的?3、为什么编译器一定要知道数据的类型才能够做计算?制订人: 朱皖宁 审订人: 《计算机系统基础1》实验指导书Introduction to Computer Systems实验3 定点数乘法和浮点数加法机器级表示实验序号:3 实验名称:定点数乘法和浮点数加法机器级表示适用专业:软件工程 学 时 数:2学时一、实验目的1.掌握定点数乘法溢出的判定方法。 2.掌握浮点数加法的基本运算法则。 3.掌握浮点数规格化方法。二、实验要求按照实验题目的要求,编写程序并上机调试三、实验设备、环境计算机、Windows xp 、Visual C++ 6.0四、实验步骤及内容编写浮点数加法器:设在main中有如下数组:char float1[33];char float2[33];float addfloat;输出浮点数加法结果,在函数内部要求有保护位和舍入位并通过这两位判定是否舍入。编写无符号整数乘法运算器:char int1[5];char int2[5];unsigned mul;在运算结束后,将高4位保存在int1中,低4位保存在int2中,返回是否溢出。乘法运算不要求编写乘法器,可以将二进制串先转换为十进制,做乘法运算后再转换为二进制。浮点数加法器应当分为几个函数来写:计算阶码exponent,尾数右移shift,无符号整数加法器add。浮点数加法器的总过程是对阶、尾数相加、右规、舍入注意到尾数共有23位,舍入需要加2位,隐藏的1需要加1位,加法运算有可能进1再加1位,因此尾数用一个27位的数组来表示会大大简化计算难度。五、讨论、思考题1、为什么要用浮点数加法运算最多只会右规一次?制订人: 朱皖宁 审订人: 《计算机系统基础1》实验指导书Introduction to Computer Systems实验4高级语言的机器级表示实验序号:4 实验名称:高级语言的机器级表示适用专业:软件工程 学 时 数:2学时一、实验目的理解函数调用的机器级表示方法。了解复杂数据结构的机器级表示方法。理解分支和循环语句的机器级表示方法。二、实验要求按照实验题目的要求,编写程序并上机调试三、实验设备、环境计算机、Windows xp 、Visual C++ 6.0四、实验步骤及内容定义一个数组int sum[5];通过循环从屏幕输入5个数进数组sum调用函数int Sum计算数组中所有元素的和并返回如果返回值大于50则输出平均值大于10,否则输出平均值小于10.编译通过后查阅汇编代码并结合你写的C语言程序书写报告描述以下问题:函数调用的汇编代码是如何描述的,参数放在什么地址数组的汇编描述方法分支语句的汇编描述方法循环的汇编描述方法查看汇编代码方法:设置断点 F11或在Build - Start Debug - Step Into右键点击断点箭头,Go to disassembly制订人: 朱皖宁 审订人:
“原创力文档”前称为“文档投稿赚钱网”,本站为“文档C2C交易模式”,即用户上传的文档直接卖给用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人所有【成交的100%】。原创力文档是网络服务平台方,若您的权利被侵害,侵权客服QQ:3005833200 电话:19940600175 欢迎举报,上传者QQ群:784321556
请点击百度一下下载文库:计算机系统基础1实验指导书
1.《实验指导书 计算机系统基础1实验指导书(新)》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《实验指导书 计算机系统基础1实验指导书(新)》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/jiaoyu/161354.html