实 验 报 告 课 程 名 称: 计算机组成原理 系 别: 学 生 姓 名: 班 级: 学 号: 成 绩: 指 导 教 师: 开 课 时 间:2013-2014学年第二学期 实验一 一、 实验目的 通过仿真软件验证真值转化为原码、反码、补码、移码,补码加减交替除法运算规则,补码两位乘法运算,补码一位乘法运算,乘法原码两位运算,乘法原码一位运算,原码加减交替除法运算,补码加减法运算。 二、实验设备 电脑,仿真软件 三、实验内容 (1)真值转化为原码、反码、补码、移码 A.原码 1.如果真值是正数,原码的最高位为“0”,其余各位与真值的对应位相同; 2.如果真值是负数,原码的最高位为“1”,其余各位与真值的对应位相同; 3.如果真值是“0”,原码有两种表示法,即000…0或100…0,分别表示+0或-0; 4.因此原码的数值位表示数值的绝对值,而符号位分别用0和1表示数值的正和负。 5.综上所述,如果把原码看成无符号整数,则真值到原码的转换规则是: 当x≥0时,[x]原=x;当x≤0时,[x]原=2^(n-1)-x或2^(n-1)+|x|,“^”表示指数。 B反码 1.如果真值是正数,反码的最高位为“0”,其余各位与真值的对应位相同; 2.如果真值是负数,反码的最高位为“1”,其余各位将真值的各位取反; 3.如果真值是“0”,反码有两种表示法,即000…0或111…1,分别表示+0或-0; 4.综上所述,如果把反码看成无符号整数,则真值到反码的转换规则是: 当x≥0时,[x]反=x;当x≤0时,[x]反=2^(n)+x-1(模2^n),“^”表示指数。 C补码 1.如果真值是正数,补码的最高位为“0”,其余各位与真值的对应位相同; 2.如果真值是负数,补码的最高位为“1”,其余各位将真值的各位取反,末位加1; 3.如果真值是“0”,补码表示法是唯一的,即000…0,在补中100…0表示-1,最高位既表示符号为负数,也表示数值1,不能表示-0; 4.负数补码的另一种求法是,最高位(符号位)为“1”,从真值的低位向高位数第一个1以及其右边的各位保持不变,而其左边的各位按位取反,即可得到补码的数值位。 5.综上所述,如果把补码看成无符号整数,则真值到补码的转换规则是: [x]补=2^(n)+x(模2^n),“^”表示指数。 D移码 1.如果真值是正数,移码的最高位为“1”,其余各位与真值的对应位相同; 2.如果真值是负数,移码的最高位为“0”,其余各位将真值的各位取反,末位加1; 3.如果真值是“0”,移码表示法是唯一的,即100…0; 4.不难看出,移码与补码相比,数值位完全相同,而符号位相反。两者的转换非常容易。 5.移码只用来表示浮点数中的阶码,不存在定点小数格式。 6.综上所述,如果把移码看成无符号整数,则真值到移码的转换规则是:[x]移=2^(n-1)+x(模2^n),“^”表示指数。 (2)补码加减交替除法运算规则 (3)补码两位乘法运算 1.乘数最低位的后面增加一个附加位,初值为0。在运算过程中,和乘数一起做右移。 2.为防止溢出,设三个符号位,在运算过程中,最高位才表示真正的符号。 3.每一步加的值取决于移位后的乘数寄存器的最低两位和附加位的值。 (4)补码一位乘法运算 1.乘数和被乘数都以补码表示(本程序允许数值位4位,符号位一位),运算结果也是补码。运算过程中,为防止溢出,加法器需使用两位符号位。 2.乘数最低位后增加一位附加位,初值为0,以后和乘数寄存器联合移位。 3.右移按补码规则进行,即符号位复制。 (5)、法原码两位运算 1.本程序允许进行单字节(8位二进制)原码(含一位符号位)的数值部分两位乘法运算,因此数值位只有7位。 2.由于原码两位乘法运算中,可能需要进行加2|X|以及减|X|的运算,所以实际上需要用补码加减运算,为了不发生溢出,在加法器中含有三个符号位;对于加正数,高位补0,而减|X|则变为加-|X|的补码;部分积右移时,如果最高位为0,则高位补0,如果最高位为1,则高位补1。 3.由于乘数和被乘数的数值部分只有7位,故乘积的数值部分只有14位。 (6)乘法原码一位运算 1.根据乘数寄存器的最低位决定将部分积加被乘数还是加零; 2.将进位位、部分积和乘数寄存器联合右移一位; 3.计数器减1。如果计数器的值不为零,重复1~3步。 (7)原码加减交替除法运算 1.被除数的数值部分如果大于或等于除数的数值部分,则发生溢出。 2.若余数≥0,上商“1”,余数左移一位,减除数的绝对值,即加除数的绝对值的相反数的补码。 3.若余数<0,上商“0”,余数左移一位,加除数的绝对值。 4.本程序要求被除数的数值部分8位,符号一位,共9位,除数的数值部分4位,符号一位,共5位。 (8)补码加减法运算 1.输入两个整数加数的真值(可带+、-号的十进制数,例如5,+3,-7等); 2.按等于号即可得到计算结果。 3.由于本例采用四位二进制数表示的补码,可表示的整数范围为-8~+7,如果 操作数或运算结果超出该范围,运算将出错。 4.如果加数为负数,就相当于被加数减去该数的绝对值,因此相当于做减法。反过来说,做减法,实际上就是被减数的补码加上减数的相反数的补码。而求一个数的相反数的补码的规则是将该数的补码连同符号位按位取反,末位加1。 5.如果两个操作数没有超出补码的表示范围,而运算结果超出补码的表示范围,称为“溢出”,结果大于补码的表示范围的上限,称为“上溢”;结果小于补码的表示范围的上限,称为“下溢”。 6.通常有两种判断溢出的方法,一是双符号位法,即两个操作数以及结果均用两个符号位(变形补码),如果结果的两个符号位一致,表示没有溢出,如果不一致,表示溢出。最高的一位始终表示运算结果的正确的符号:0为正(或上溢),1为负(或下溢)。 第二种方法是采用单符号位运算,但根据符号位和最高有效位产生的进位是否相同而判定是否溢出:如果两进位位相同,无溢出;不同则表明溢出。当溢出时,符号位进位为0,表示上溢;为1表示下溢。 一. 结果 单步执行了原码、反码、补码运行的具体过程,更形象的了解了各种运算的执行过程与原理,是我们在计算时有了更深的理解。 二. 总体 使我们将理论与实践相结合,分步实现的过程使我们更加清晰地了解触发器工作的每个步骤、过程。 实验二 一.实验目的 实验汇编语言的初次编译。 二.实验设备 电脑, dos , masm
好文档 - 专业文书写作范文服务资料分享网站