1、目的与要求
验证移位控制器的组合功能
2、实验设备
ZYE1601B计算机组成原理教学实验箱一台,排线若干。
3、实验步骤与源程序
l) 按下列步骤连接实验线路,仔细检查无误后,接通电源。
⑴ ALUO2连BUS4;
⑵ EXJ1连BUS3;
⑶ SJ2连UJ2;
⑷ 跳线器ALUB、299B、SWB拨在左边(手动位置),且开关ALUB拨在“1”电平,299B拨在“0”电平。
⑸ 跳线器J23上T4连SD。
2) 置数,具体步骤如下:
KD0-D7=00110101 |
数据开关置数 |
SWB=0 |
开输入三态门 |
S0=1 |
S1=1 |
数据置入移位寄存器 |
SWB=1 |
关输入三态门 |
T4= |
3)移位运算实验使用了一片74LS299(U34)作为移位发生器,其八位输入/输出端引到8芯排座ALUO2,在实验时用8芯排线连至数据总线插座BUS4。299B`信号由开关299B提供,控制其使能端,T4为其时钟脉冲,手动方式实验时将T4与手动脉发生器输出端SD相连,即J23跳线器上T4连SD。由信号S0 、S1、 M控制其功能状态,详细见下表:
299B | S1 | S0 | M | 功 能 |
0 | 0 | 0 | 任 意 | 保持 |
0 | 1 | 0 | 0 | 循环右移 |
0 | 1 | 0 | 1 | 带进位循环右移 |
0 | 0 | 1 | 0 | 循环左移 |
0 | 0 | 1 | 1 | 带进位循环左移 |
任意 | 1 | 1 | 任 意 | 装数 |
4)移位,参照上表改变S0、 S1、 M、 299B 的状态,按动手动脉冲开关以产生时钟脉冲T4,观察移位结果。
4、测试数据与实验结果
1)移位寄存器初始数据为:35H,当299B S1 S0 M为0011时,
第1次按动手动脉冲开关,移位寄存器数据为:6AH
第2次按动手动脉冲开关,移位寄存器数据为:D4H
第3次按动手动脉冲开关,移位寄存器数据为:A8H
第4次按动手动脉冲开关,移位寄存器数据为:50H
2)实验结果记录表:
置入移位寄存器数据 | 进位Cy | 299B S1 S0 M | 移位 操作 | 移1位后结果 | 理论计算结果 |
9AH | 0 | 0 0 1 0 | 循环左移 | 35H | 35H |
1 | 有进位的循环左移 | 35H | 35H | ||
0 | 0 0 1 1 | 带进位循环左移 | 34H | 34H | |
1 | 有进位的带进位循环左移 | 35H | 35H | ||
0 | 0 1 0 0 | 循环右移 | 4DH | 4DH | |
1 | 有进位的循环右移 | 4DH | 4DH | ||
0 | 0 1 0 1 | 带进位循环右移 | 4DH | 4DH | |
1 | 有进位的带进位循环右移 | CDH | CDH |
5、结果分析与实验体会
6、思考题
若移位寄存器存放一个8位数,通过怎样的移位运算后可使移位寄存器存放的数据保持不变?
答:循环左移8*n次或循环右移8*n次可使其数据不变(n为正整数)。